diff options
author | Spencer T Brody <spencer@mongodb.com> | 2018-09-20 15:48:46 -0400 |
---|---|---|
committer | Spencer T Brody <spencer@mongodb.com> | 2018-09-28 13:15:09 -0400 |
commit | f96903979ac329a760e7b6f1bb5d8695d3daf2a7 (patch) | |
tree | 53ee2d48499a84fa4ea280bff0eff8cc7aa6c645 /src/mongo/db/kill_sessions_local.h | |
parent | 9406af079a894bae80fbbec4703b04974bf84476 (diff) | |
download | mongo-f96903979ac329a760e7b6f1bb5d8695d3daf2a7.tar.gz |
SERVER-35870 Allow stepdown to work with prepared transactions
Diffstat (limited to 'src/mongo/db/kill_sessions_local.h')
-rw-r--r-- | src/mongo/db/kill_sessions_local.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/kill_sessions_local.h b/src/mongo/db/kill_sessions_local.h index ea8f442b325..e7609355a08 100644 --- a/src/mongo/db/kill_sessions_local.h +++ b/src/mongo/db/kill_sessions_local.h @@ -28,6 +28,9 @@ #pragma once +#include <vector> + +#include "mongo/db/concurrency/d_concurrency.h" #include "mongo/db/session_killer.h" /** @@ -58,4 +61,11 @@ void killAllExpiredTransactions(OperationContext* opCtx); */ void killSessionsLocalShutdownAllTransactions(OperationContext* opCtx); +/** + * Run during replication state transitions. Aborts all unprepared transactions and causes all + * prepared transactions to yield their locks into 'yieldedLocks'. + */ +void killSessionsLocalAbortOrYieldAllTransactions( + OperationContext* opCtx, std::vector<std::pair<Locker*, Locker::LockSnapshot>>* yieldedLocks); + } // namespace mongo |