diff options
author | Judah Schvimer <judah@mongodb.com> | 2020-06-01 19:02:23 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-06-08 19:34:41 +0000 |
commit | c7c78598d530710b1e0c8805bfceb37ccde08604 (patch) | |
tree | fc178f573bba5e4dea671cce081f76a921304d6b /src/mongo/db/operation_context.h | |
parent | a210979713f0f086b044bff070912437e0db7488 (diff) | |
download | mongo-c7c78598d530710b1e0c8805bfceb37ccde08604.tar.gz |
SERVER-48527 Aborting in-progress transactions on step-up should clear session state before returning
Diffstat (limited to 'src/mongo/db/operation_context.h')
-rw-r--r-- | src/mongo/db/operation_context.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/db/operation_context.h b/src/mongo/db/operation_context.h index 46626d843b7..d8f92af60cf 100644 --- a/src/mongo/db/operation_context.h +++ b/src/mongo/db/operation_context.h @@ -407,6 +407,19 @@ public: } /** + * Clears metadata associated with a multi-document transaction. + */ + void resetMultiDocumentTransactionState() { + invariant(_inMultiDocumentTransaction); + invariant(!_writeUnitOfWork); + invariant(_ruState == WriteUnitOfWork::RecoveryUnitState::kNotInUnitOfWork); + _inMultiDocumentTransaction = false; + _isStartingMultiDocumentTransaction = false; + _lsid = boost::none; + _txnNumber = boost::none; + } + + /** * Returns whether this operation is starting a multi-document transaction. */ bool isStartingMultiDocumentTransaction() const { |