summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/transaction_coordinator.h
diff options
context:
space:
mode:
authorJason Zhang <jason.zhang@mongodb.com>2022-02-11 15:22:03 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-11 16:01:18 +0000
commit250795d1fb30fc9088c057902d81349100c79eb3 (patch)
treec01848fcb9e9d78c93656bdb7d5ff9b76c06438d /src/mongo/db/s/transaction_coordinator.h
parent037b22172c54d5652298203077c16cc0ee7f26a1 (diff)
downloadmongo-250795d1fb30fc9088c057902d81349100c79eb3.tar.gz
SERVER-61090 Make setFCV wait for all TransactionCoordinators of internal transactions to be cleaned up
Diffstat (limited to 'src/mongo/db/s/transaction_coordinator.h')
-rw-r--r--src/mongo/db/s/transaction_coordinator.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mongo/db/s/transaction_coordinator.h b/src/mongo/db/s/transaction_coordinator.h
index ba8eaf144e6..ddf4af355ac 100644
--- a/src/mongo/db/s/transaction_coordinator.h
+++ b/src/mongo/db/s/transaction_coordinator.h
@@ -131,6 +131,15 @@ public:
Step getStep() const;
+ /**
+ * TODO: SERVER-62375 Remove upgrade/downgrade code for internal transactions.
+ * Returns a future that will be resolved when we remove the coordinator
+ * document.
+ */
+ SharedSemiFuture<void> getCoordinatorDocRemovalFuture() {
+ return _coordinatorDocRemovalPromise.getFuture();
+ }
+
private:
void _updateAssociatedClient(Client* client);
@@ -196,6 +205,11 @@ private:
bool _decisionDurable{false};
SharedPromise<txn::CommitDecision> _decisionPromise;
+ // TODO: SERVER-62375 Remove upgrade/downgrade code for internal transactions.
+ // Promise that is set when we have successfully removed the coordinator
+ // document.
+ SharedPromise<void> _coordinatorDocRemovalPromise;
+
// A list of all promises corresponding to futures that were returned to callers of
// onCompletion.
SharedPromise<txn::CommitDecision> _completionPromise;