diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-05-17 13:17:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-17 13:17:20 +0200 |
commit | 8f41a717d44906dad622b555cbf6a08156cff161 (patch) | |
tree | deb6a4e3415c07cbd59963746d1cf5fc813dc43f | |
parent | a2a757d60d5d1e3b274806e198438d727156047e (diff) | |
parent | 46f27cdbd6082287795968413c4849575cd294dc (diff) |
Merge pull request #17868 from vespa-engine/balder/ensure-pending-lid-tracker-token-has-shorter-life
Do not produce a token unless you need it.
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index 04ad4ee20ed..c050719b361 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -247,7 +247,6 @@ StoreOnlyFeedView::internalPut(FeedToken token, const PutOperation &putOp) _params._subDbId, doc->toString(true).size(), doc->toString(true).c_str()); adjustMetaStore(putOp, docId.getGlobalId(), docId); - auto uncommitted = get_pending_lid_token(putOp); bool docAlreadyExists = putOp.getValidPrevDbdId(_params._subDbId); @@ -255,7 +254,7 @@ StoreOnlyFeedView::internalPut(FeedToken token, const PutOperation &putOp) if (putOp.changedDbdId() && useDocumentMetaStore(serialNum)) { _gidToLidChangeHandler.notifyPut(token, docId.getGlobalId(), putOp.getLid(), serialNum); } - auto onWriteDone = createPutDoneContext(std::move(token), std::move(uncommitted), doc, putOp.getLid()); + auto onWriteDone = createPutDoneContext(std::move(token), get_pending_lid_token(putOp), doc, putOp.getLid()); putSummary(serialNum, putOp.getLid(), doc, onWriteDone); putAttributes(serialNum, putOp.getLid(), *doc, onWriteDone); putIndexedFields(serialNum, putOp.getLid(), doc, onWriteDone); @@ -409,9 +408,8 @@ StoreOnlyFeedView::internalUpdate(FeedToken token, const UpdateOperation &updOp) (void) updateOk; _metaStore.commit(CommitParam(serialNum)); } - auto uncommitted = get_pending_lid_token(updOp); - auto onWriteDone = createUpdateDoneContext(std::move(token), std::move(uncommitted), updOp.getUpdate()); + auto onWriteDone = createUpdateDoneContext(std::move(token), get_pending_lid_token(updOp), updOp.getUpdate()); UpdateScope updateScope(*_schema, upd); updateAttributes(serialNum, lid, upd, onWriteDone, updateScope); @@ -533,13 +531,12 @@ StoreOnlyFeedView::internalRemove(FeedToken token, const RemoveOperationWithDocI rmOp.getSubDbId(), rmOp.getLid(), rmOp.getPrevSubDbId(), rmOp.getPrevLid(), _params._subDbId); adjustMetaStore(rmOp, docId.getGlobalId(), docId); - auto uncommitted = get_pending_lid_token(rmOp); if (rmOp.getValidDbdId(_params._subDbId)) { auto clearDoc = std::make_unique<Document>(*_docType, docId); clearDoc->setRepo(*_repo); - putSummary(serialNum, rmOp.getLid(), std::move(clearDoc), std::make_shared<SummaryPutDoneContext>(std::move(token), std::move(uncommitted))); + putSummary(serialNum, rmOp.getLid(), std::move(clearDoc), std::make_shared<SummaryPutDoneContext>(std::move(token), get_pending_lid_token(rmOp))); } if (rmOp.getValidPrevDbdId(_params._subDbId)) { if (rmOp.changedDbdId()) { @@ -558,7 +555,6 @@ StoreOnlyFeedView::internalRemove(FeedToken token, const RemoveOperationWithGid const SerialNum serialNum = rmOp.getSerialNum(); DocumentId dummy; adjustMetaStore(rmOp, rmOp.getGlobalId(), dummy); - auto uncommitted = _pendingLidsForCommit->produce(rmOp.getLid()); if (rmOp.getValidPrevDbdId(_params._subDbId)) { if (rmOp.changedDbdId()) { |