diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-03-11 11:54:25 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-03-11 11:54:25 +0100 |
commit | 44d482f7e99c198138c0d780031e1aa5b63be7a8 (patch) | |
tree | 46129fbaa85ae1b03051156313e6a23f03f88dcf /searchcore | |
parent | 445f2b8f9b0a80fc6488c7095d5cd9ba8df51b43 (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.cpp | 6 |
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)); |