diff options
author | Matthew Russotto <matthew.russotto@mongodb.com> | 2020-01-07 20:13:36 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2020-01-07 20:13:36 +0000 |
commit | 16d688dc7c1ba4746f66442806d061e4039ad500 (patch) | |
tree | 5cd86af904ecc1aad911a0beb6b8b5823459a41f /src/mongo/db/repl/oplog_fetcher.cpp | |
parent | 16207c4fa75a8045f24126d768b0ba2e1ce32b1f (diff) | |
download | mongo-16d688dc7c1ba4746f66442806d061e4039ad500.tar.gz |
SERVER-43279 Make OplogFetcher called from initial sync use the initial sync restart strategy.
Diffstat (limited to 'src/mongo/db/repl/oplog_fetcher.cpp')
-rw-r--r-- | src/mongo/db/repl/oplog_fetcher.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mongo/db/repl/oplog_fetcher.cpp b/src/mongo/db/repl/oplog_fetcher.cpp index 514de02e8c8..47b7a8a84d7 100644 --- a/src/mongo/db/repl/oplog_fetcher.cpp +++ b/src/mongo/db/repl/oplog_fetcher.cpp @@ -326,6 +326,40 @@ OplogFetcher::OplogFetcher(executor::TaskExecutor* executor, invariant(enqueueDocumentsFn); } +OplogFetcher::OplogFetcher(executor::TaskExecutor* executor, + OpTime lastFetched, + HostAndPort source, + NamespaceString nss, + ReplSetConfig config, + std::unique_ptr<OplogFetcherRestartDecision> oplogFetcherRestartDecision, + int requiredRBID, + bool requireFresherSyncSource, + DataReplicatorExternalState* dataReplicatorExternalState, + EnqueueDocumentsFn enqueueDocumentsFn, + OnShutdownCallbackFn onShutdownCallbackFn, + const int batchSize, + StartingPoint startingPoint) + : AbstractOplogFetcher(executor, + lastFetched, + source, + nss, + std::move(oplogFetcherRestartDecision), + onShutdownCallbackFn, + "oplog fetcher"), + _metadataObject(makeMetadataObject()), + _requiredRBID(requiredRBID), + _requireFresherSyncSource(requireFresherSyncSource), + _dataReplicatorExternalState(dataReplicatorExternalState), + _enqueueDocumentsFn(enqueueDocumentsFn), + _awaitDataTimeout(calculateAwaitDataTimeout(config)), + _batchSize(batchSize), + _startingPoint(startingPoint) { + + invariant(config.isInitialized()); + invariant(enqueueDocumentsFn); +} + + OplogFetcher::~OplogFetcher() { shutdown(); join(); |