summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/bgsync.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/bgsync.cpp')
-rw-r--r--src/mongo/db/repl/bgsync.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mongo/db/repl/bgsync.cpp b/src/mongo/db/repl/bgsync.cpp
index b1bdb3eff66..77daa595256 100644
--- a/src/mongo/db/repl/bgsync.cpp
+++ b/src/mongo/db/repl/bgsync.cpp
@@ -110,10 +110,11 @@ public:
ReplicationCoordinator* replicationCoordinator,
ReplicationCoordinatorExternalState* replicationCoordinatorExternalState,
BackgroundSync* bgsync);
- bool shouldStopFetching(const HostAndPort& source,
- const rpc::ReplSetMetadata& replMetadata,
- const rpc::OplogQueryMetadata& oqMetadata,
- const OpTime& lastOpTimeFetched) override;
+ ChangeSyncSourceAction shouldStopFetching(const HostAndPort& source,
+ const rpc::ReplSetMetadata& replMetadata,
+ const rpc::OplogQueryMetadata& oqMetadata,
+ const OpTime& previousOpTimeFetched,
+ const OpTime& lastOpTimeFetched) override;
private:
BackgroundSync* _bgsync;
@@ -126,17 +127,18 @@ DataReplicatorExternalStateBackgroundSync::DataReplicatorExternalStateBackground
: DataReplicatorExternalStateImpl(replicationCoordinator, replicationCoordinatorExternalState),
_bgsync(bgsync) {}
-bool DataReplicatorExternalStateBackgroundSync::shouldStopFetching(
+ChangeSyncSourceAction DataReplicatorExternalStateBackgroundSync::shouldStopFetching(
const HostAndPort& source,
const rpc::ReplSetMetadata& replMetadata,
const rpc::OplogQueryMetadata& oqMetadata,
+ const OpTime& previousOpTimeFetched,
const OpTime& lastOpTimeFetched) {
if (_bgsync->shouldStopFetching()) {
- return true;
+ return ChangeSyncSourceAction::kStopSyncingAndEnqueueLastBatch;
}
return DataReplicatorExternalStateImpl::shouldStopFetching(
- source, replMetadata, oqMetadata, lastOpTimeFetched);
+ source, replMetadata, oqMetadata, previousOpTimeFetched, lastOpTimeFetched);
}
size_t getSize(const BSONObj& o) {