diff options
Diffstat (limited to 'src/mongo/db/session.h')
-rw-r--r-- | src/mongo/db/session.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mongo/db/session.h b/src/mongo/db/session.h index df9bceeae2e..fdf7358efdf 100644 --- a/src/mongo/db/session.h +++ b/src/mongo/db/session.h @@ -111,6 +111,8 @@ public: return _readConcernArgs; } + void setNoEvictionAfterRollback(); + private: bool _released = false; std::unique_ptr<Locker> _locker; @@ -270,13 +272,13 @@ public: /** * Aborts the transaction outside the transaction, releasing transaction resources. */ - void abortArbitraryTransaction(); + void abortArbitraryTransaction(OperationContext* opCtx); /** * Same as abortArbitraryTransaction, except only executes if _transactionExpireDate indicates * that the transaction has expired. */ - void abortArbitraryTransactionIfExpired(); + void abortArbitraryTransactionIfExpired(OperationContext* opCtx); /* * Aborts the transaction inside the transaction, releasing transaction resources. @@ -412,11 +414,12 @@ private: static CursorExistsFunction _cursorExistsFunction; void _beginOrContinueTxn(WithLock, + OperationContext* opCtx, TxnNumber txnNumber, boost::optional<bool> autocommit, boost::optional<bool> startTransaction); - void _beginOrContinueTxnOnMigration(WithLock, TxnNumber txnNumber); + void _beginOrContinueTxnOnMigration(WithLock, OperationContext* opCtx, TxnNumber txnNumber); // Checks if there is a conflicting operation on the current Session void _checkValid(WithLock) const; @@ -426,7 +429,7 @@ private: // than the current one. void _checkTxnValid(WithLock, TxnNumber txnNumber, boost::optional<bool> autocommit) const; - void _setActiveTxn(WithLock, TxnNumber txnNumber); + void _setActiveTxn(WithLock, OperationContext* opCtx, TxnNumber txnNumber); void _checkIsActiveTransaction(WithLock, TxnNumber txnNumber, bool checkAbort) const; @@ -457,7 +460,7 @@ private: // Releases stashed transaction resources to abort the transaction. - void _abortTransaction(WithLock); + void _abortTransaction(WithLock, OperationContext* opCtx); // Committing a transaction first changes its state to "Committing" and writes to the oplog, // then it changes the state to "Committed". |