summaryrefslogtreecommitdiff
path: root/src/mongo/db/session.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2017-09-06 19:01:15 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2017-09-06 19:08:55 -0400
commit72e880558ae028027207f6e4ef67484951b91372 (patch)
tree2cc0f9eb7d41da79a79a1171b1dd4acb125af07a /src/mongo/db/session.cpp
parentb78e4b8e753f7980036cd51a052555a29c89bf1c (diff)
downloadmongo-72e880558ae028027207f6e4ef67484951b91372.tar.gz
SERVER-30936 Ensure operation session info is initialized only once
Diffstat (limited to 'src/mongo/db/session.cpp')
-rw-r--r--src/mongo/db/session.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/mongo/db/session.cpp b/src/mongo/db/session.cpp
index 6ff0d43cab0..632125abde6 100644
--- a/src/mongo/db/session.cpp
+++ b/src/mongo/db/session.cpp
@@ -106,7 +106,7 @@ void Session::begin(OperationContext* opCtx, const TxnNumber& txnNumber) {
{
stdx::lock_guard<stdx::mutex> lg(_mutex);
startGeneration = _generation;
- txnRecord = _txnRecord;
+ txnRecord = _lastWrittenTxnRecord;
}
// Do I/O outside of the lock.
@@ -121,7 +121,7 @@ void Session::begin(OperationContext* opCtx, const TxnNumber& txnNumber) {
}
stdx::lock_guard<stdx::mutex> lg(_mutex);
- _txnRecord = txnRecord;
+ _lastWrittenTxnRecord = txnRecord;
}
uassert(40528,
@@ -144,11 +144,11 @@ void Session::begin(OperationContext* opCtx, const TxnNumber& txnNumber) {
// Reload if the session was modified since the beginning of this loop, e.g. by
// rollback.
if (startGeneration != _generation) {
- _txnRecord.reset();
+ _lastWrittenTxnRecord.reset();
continue;
}
- _txnRecord = std::move(txnRecord);
+ _lastWrittenTxnRecord = std::move(txnRecord);
return;
}
}
@@ -184,19 +184,19 @@ void Session::saveTxnProgress(OperationContext* opCtx, Timestamp opTimeTs) {
updateResult.numDocsModified >= 1);
stdx::lock_guard<stdx::mutex> lg(_mutex);
- _txnRecord->setLastWriteOpTimeTs(opTimeTs);
+ _lastWrittenTxnRecord->setLastWriteOpTimeTs(opTimeTs);
}
TxnNumber Session::getTxnNum() const {
stdx::lock_guard<stdx::mutex> lg(_mutex);
- invariant(_txnRecord);
- return _txnRecord->getTxnNum();
+ invariant(_lastWrittenTxnRecord);
+ return _lastWrittenTxnRecord->getTxnNum();
}
Timestamp Session::getLastWriteOpTimeTs() const {
stdx::lock_guard<stdx::mutex> lg(_mutex);
- invariant(_txnRecord);
- return _txnRecord->getLastWriteOpTimeTs();
+ invariant(_lastWrittenTxnRecord);
+ return _lastWrittenTxnRecord->getLastWriteOpTimeTs();
}
TransactionHistoryIterator Session::getWriteHistory(OperationContext* opCtx) const {
@@ -205,7 +205,7 @@ TransactionHistoryIterator Session::getWriteHistory(OperationContext* opCtx) con
void Session::reset() {
stdx::lock_guard<stdx::mutex> lg(_mutex);
- _txnRecord.reset();
+ _lastWrittenTxnRecord.reset();
_generation += 1;
}