summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-03-11 11:54:25 +0100
committerTor Egge <Tor.Egge@online.no>2022-03-11 11:54:25 +0100
commit44d482f7e99c198138c0d780031e1aa5b63be7a8 (patch)
tree46129fbaa85ae1b03051156313e6a23f03f88dcf /searchcore
parent445f2b8f9b0a80fc6488c7095d5cd9ba8df51b43 (diff)
Add comment describing reason for resetting the onWriteDone shared pointer.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
index f34885974b8..4479ae37286 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.cpp
@@ -494,6 +494,12 @@ StoreOnlyFeedView::makeUpdatedDocument(bool useDocStore, Lid lid, const Document
assert(onWriteDone->is_replay() && !useDocStore);
}
}
+ /*
+ * forceCommitAndWait() does not wait for this task to complete but it waits for the
+ * summary executor task using the future stream (cf. lambdas in putSummary() and
+ * putSummaryNoop()). Reset reference to operation done context here to avoid keeping it
+ * from being destroyed before forceCommitAndWait() returns.
+ */
onWriteDone.reset();
promisedDoc.set_value(std::move(newDoc));
promisedStream.set_value(std::move(newStream));