summaryrefslogtreecommitdiff
path: root/src/mongo/db/transaction_api.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/transaction_api.cpp')
-rw-r--r--src/mongo/db/transaction_api.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/mongo/db/transaction_api.cpp b/src/mongo/db/transaction_api.cpp
index 6af7f5b402b..e0bc476ac8b 100644
--- a/src/mongo/db/transaction_api.cpp
+++ b/src/mongo/db/transaction_api.cpp
@@ -103,16 +103,10 @@ StatusWith<CommitResult> SyncTransactionWithRetries::runNoThrow(OperationContext
return yieldStatus;
}
- auto txnFuture = _txn->run(std::move(callback));
- auto txnResult = txnFuture.getNoThrow(opCtx);
-
+ auto txnResult = _txn->run(std::move(callback)).getNoThrow(opCtx);
// Cancel the source to guarantee the transaction will terminate if our opCtx was interrupted.
_source.cancel();
- // Wait for transaction to complete before returning so variables referenced by its callback are
- // guaranteed to be in scope even if the API caller's opCtx was interrupted.
- txnFuture.wait();
-
// Post transaction processing, which must also happen inline.
OperationTimeTracker::get(opCtx)->updateOperationTime(_txn->getOperationTime());
repl::ReplClientInfo::forClient(opCtx->getClient())
@@ -274,7 +268,7 @@ ExecutorFuture<void> TransactionWithRetries::_bestEffortAbort() {
return _internalTxn->abort().thenRunOn(_executor).onError([this](Status abortStatus) {
LOGV2(5875900,
"Unable to abort internal transaction",
- "reason"_attr = redact(abortStatus),
+ "reason"_attr = abortStatus,
"txnInfo"_attr = _internalTxn->reportStateForLog());
});
}
@@ -537,8 +531,8 @@ Transaction::ErrorHandlingStep Transaction::handleError(const StatusWith<CommitR
LOGV2_DEBUG(5875905,
3,
"Internal transaction handling error",
- "error"_attr = swResult.isOK() ? redact(swResult.getValue().getEffectiveStatus())
- : redact(swResult.getStatus()),
+ "error"_attr = swResult.isOK() ? swResult.getValue().getEffectiveStatus()
+ : swResult.getStatus(),
"hasTransientTransactionErrorLabel"_attr =
_latestResponseHasTransientTransactionErrorLabel,
"txnInfo"_attr = _reportStateForLog(lg),