diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-03 10:56:12 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-03 10:56:12 +0200 |
commit | a608dcf3ec3b31b3a0ffbc6190987a0fff293762 (patch) | |
tree | a06fec0a4301189bc3c91a28c343c4b95f2c8048 /searchcore | |
parent | f12e2228b9c742a9f8cbf35be27074a229b99766 (diff) |
Reorder wait and produce to colocate produce/consume.
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp index 10cb515af71..804717a8bb9 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp @@ -315,6 +315,7 @@ StoreOnlyFeedView::handleUpdate(FeedToken *token, const UpdateOperation &updOp) } void StoreOnlyFeedView::putSummary(SerialNum serialNum, search::DocumentIdT lid, FutureDoc futureDoc) { + _pendingLidTracker.produce(lid); summaryExecutor().execute( makeLambdaTask([serialNum, futureDoc, lid, this] { const Document::UP & doc = futureDoc.get(); @@ -389,13 +390,13 @@ StoreOnlyFeedView::internalUpdate(FeedToken::UP token, const UpdateOperation &up updateIndexedFields(serialNum, lid, futureDoc, immediateCommit, onWriteDone); } + _pendingLidTracker.waitForConsumedLid(lid); + if (useDocumentStore(serialNum)) { putSummary(serialNum, lid, futureDoc); } - _pendingLidTracker.waitForConsumedLid(lid); Document::UP prevDoc(_summaryAdapter->get(lid, *_repo)); - _pendingLidTracker.produce(lid); _writeService .attributeFieldWriter() .execute(serialNum, |