summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/tenant_migration_recipient_service.h
diff options
context:
space:
mode:
authorChristopher Caplinger <christopher.caplinger@mongodb.com>2022-01-21 15:43:16 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-01-21 16:34:36 +0000
commit80274857de4e999bec046312f53280032345a45f (patch)
tree22db64c4add3ba68fab481c0e207c333698ad035 /src/mongo/db/repl/tenant_migration_recipient_service.h
parent15fec822f608d3bae7ff0bbc111739424740bfa6 (diff)
downloadmongo-80274857de4e999bec046312f53280032345a45f.tar.gz
SERVER-61132: Keep backup cursor alive until file copy finishes
Diffstat (limited to 'src/mongo/db/repl/tenant_migration_recipient_service.h')
-rw-r--r--src/mongo/db/repl/tenant_migration_recipient_service.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/repl/tenant_migration_recipient_service.h b/src/mongo/db/repl/tenant_migration_recipient_service.h
index 92da0a80199..5c7f26e8d4b 100644
--- a/src/mongo/db/repl/tenant_migration_recipient_service.h
+++ b/src/mongo/db/repl/tenant_migration_recipient_service.h
@@ -366,7 +366,7 @@ public:
/**
* Kills the Donor backup cursor
*/
- void _killBackupCursor(WithLock lk);
+ ExecutorFuture<void> _killBackupCursor();
/**
* Retrieves the start optimes from the donor and updates the in-memory state accordingly.
@@ -568,9 +568,11 @@ public:
std::unique_ptr<DBClientConnection> _client; // (S)
std::unique_ptr<DBClientConnection> _oplogFetcherClient; // (S)
- CursorId _donorFilenameBackupCursorId = 0; // (M)
+ CursorId _donorFilenameBackupCursorId; // (M)
NamespaceString _donorFilenameBackupCursorNamespaceString; // (M)
std::unique_ptr<Fetcher> _donorFilenameBackupCursorFileFetcher; // (M)
+ CancellationSource _backupCursorKeepAliveCancellation = {}; // (X)
+ boost::optional<SemiFuture<void>> _backupCursorKeepAliveFuture; // (M)
std::unique_ptr<OplogFetcherFactory> _createOplogFetcherFn =
std::make_unique<CreateOplogFetcherFn>(); // (M)