diff options
author | Rishab Joshi <rishab.joshi@mongodb.com> | 2021-06-24 09:53:20 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-06-24 14:10:30 +0000 |
commit | 145673c2d8388f47a707e827d83cdbf71e5ce424 (patch) | |
tree | 66c3cb9ff1e2e2c94d03269b136438e7142e77dc /src/mongo/s/query/async_results_merger.cpp | |
parent | 045085188f8b79e3f01a76ccb9180bdb8582d701 (diff) | |
download | mongo-145673c2d8388f47a707e827d83cdbf71e5ce424.tar.gz |
SERVER-58049: Move change streams invalidation logic in ARM to
scheduleGetMores.
Diffstat (limited to 'src/mongo/s/query/async_results_merger.cpp')
-rw-r--r-- | src/mongo/s/query/async_results_merger.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/mongo/s/query/async_results_merger.cpp b/src/mongo/s/query/async_results_merger.cpp index 236729e2359..ed7da3a2545 100644 --- a/src/mongo/s/query/async_results_merger.cpp +++ b/src/mongo/s/query/async_results_merger.cpp @@ -489,15 +489,15 @@ Status AsyncResultsMerger::_askForNextBatch(WithLock, size_t remoteIndex) { Status AsyncResultsMerger::scheduleGetMores() { stdx::lock_guard<Latch> lk(_mutex); + return _scheduleGetMores(lk); +} +Status AsyncResultsMerger::_scheduleGetMores(WithLock lk) { + // Before scheduling more work, check whether the cursor has been invalidated. if (feature_flags::gFeatureFlagChangeStreamsOptimization.isEnabledAndIgnoreFCV()) { _assertNotInvalidated(lk); } - return _scheduleGetMores(lk); -} - -Status AsyncResultsMerger::_scheduleGetMores(WithLock lk) { // Schedule remote work on hosts for which we need more results. for (size_t i = 0; i < _remotes.size(); ++i) { auto& remote = _remotes[i]; @@ -542,11 +542,6 @@ StatusWith<executor::TaskExecutor::EventHandle> AsyncResultsMerger::nextEvent() "nextEvent() called before an outstanding event was signaled"); } - // Check if the cursor should be invalidated. - if (feature_flags::gFeatureFlagChangeStreamsOptimization.isEnabledAndIgnoreFCV()) { - _assertNotInvalidated(lk); - } - auto getMoresStatus = _scheduleGetMores(lk); if (!getMoresStatus.isOK()) { return getMoresStatus; |