diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2019-05-10 11:30:21 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2019-05-14 07:34:39 -0400 |
commit | 3cbd136094249209a212aab06696c2ef0db41b26 (patch) | |
tree | e6ec3b0ec58af74c9d7b6e13ebd4920999103554 /src/mongo/db/transaction_participant.cpp | |
parent | 4686f07b4b51cb34156275c44fc1138b950f56dc (diff) | |
download | mongo-3cbd136094249209a212aab06696c2ef0db41b26.tar.gz |
SERVER-37235 Use an onCommit/Abort handler to complete session kill on direct writes to `config.transactions`
Diffstat (limited to 'src/mongo/db/transaction_participant.cpp')
-rw-r--r-- | src/mongo/db/transaction_participant.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mongo/db/transaction_participant.cpp b/src/mongo/db/transaction_participant.cpp index 0593fee0897..2301b02d541 100644 --- a/src/mongo/db/transaction_participant.cpp +++ b/src/mongo/db/transaction_participant.cpp @@ -58,8 +58,6 @@ #include "mongo/db/retryable_writes_stats.h" #include "mongo/db/server_recovery.h" #include "mongo/db/server_transactions_metrics.h" -#include "mongo/db/session.h" -#include "mongo/db/session_catalog.h" #include "mongo/db/stats/fill_locker_info.h" #include "mongo/db/transaction_history_iterator.h" #include "mongo/db/transaction_participant_gen.h" @@ -291,6 +289,9 @@ MONGO_FAIL_POINT_DEFINE(onPrimaryTransactionalWrite); const BSONObj TransactionParticipant::kDeadEndSentinel(BSON("$incompleteOplogHistory" << 1)); +TransactionParticipant::TransactionParticipant() = default; + +TransactionParticipant::~TransactionParticipant() = default; TransactionParticipant::Observer::Observer(const ObservableSession& osession) : Observer(&getTransactionParticipant(osession.get())) {} @@ -307,8 +308,7 @@ TransactionParticipant::Participant::Participant(const SessionToKill& session) : Observer(&getTransactionParticipant(session.get())) {} void TransactionParticipant::performNoopWrite(OperationContext* opCtx, StringData msg) { - repl::ReplicationCoordinator* replCoord = - repl::ReplicationCoordinator::get(opCtx->getClient()->getServiceContext()); + const auto replCoord = repl::ReplicationCoordinator::get(opCtx); // The locker must not have a max lock timeout when this noop write is performed, since if it // threw LockTimeout, this would be treated as a TransientTransactionError, which would indicate |