summaryrefslogtreecommitdiff
path: root/src/mongo/s/transaction_router.cpp
diff options
context:
space:
mode:
authoreshamaharishi <em2852@columbia.edu>2018-10-22 20:20:09 -0400
committereshamaharishi <em2852@columbia.edu>2018-10-22 21:31:00 -0400
commitf1a09f94a1f17b40b096ac0e6129e693b026e915 (patch)
treef63ad48d7448f0794a9db0151581045bb7eb965e /src/mongo/s/transaction_router.cpp
parent1e19472175d9f8c26d2cc1a80e108a0a4a761213 (diff)
downloadmongo-f1a09f94a1f17b40b096ac0e6129e693b026e915.tar.gz
Revert "SERVER-37703 Put back early return that was accidentally removed from if block in TransactionRouter::commitTransaction"
This reverts commit 206c9e47924073d426df60624a539b792bd04047. Revert "SERVER-37703 TransactionRouter::commitTransaction does not need to return the coordinator's response to the caller" This reverts commit 7a1cf7b8cc5751cd19ced4186ab575b8827d22dd.
Diffstat (limited to 'src/mongo/s/transaction_router.cpp')
-rw-r--r--src/mongo/s/transaction_router.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mongo/s/transaction_router.cpp b/src/mongo/s/transaction_router.cpp
index bf90df09ef8..f1b55cc1ff9 100644
--- a/src/mongo/s/transaction_router.cpp
+++ b/src/mongo/s/transaction_router.cpp
@@ -555,7 +555,8 @@ void TransactionRouter::beginOrContinueTxn(OperationContext* opCtx,
}
}
-void TransactionRouter::_commitSingleShardTransaction(OperationContext* opCtx) {
+
+Shard::CommandResponse TransactionRouter::_commitSingleShardTransaction(OperationContext* opCtx) {
auto shardRegistry = Grid::get(opCtx)->shardRegistry();
auto citer = _participants.cbegin();
@@ -566,7 +567,7 @@ void TransactionRouter::_commitSingleShardTransaction(OperationContext* opCtx) {
commitCmd.setDbName("admin");
const auto& participant = citer->second;
- uassertStatusOK(shard->runCommandWithFixedRetryAttempts(
+ return uassertStatusOK(shard->runCommandWithFixedRetryAttempts(
opCtx,
ReadPreferenceSetting{ReadPreference::PrimaryOnly},
"admin",
@@ -575,7 +576,7 @@ void TransactionRouter::_commitSingleShardTransaction(OperationContext* opCtx) {
Shard::RetryPolicy::kIdempotent));
}
-void TransactionRouter::_commitMultiShardTransaction(OperationContext* opCtx) {
+Shard::CommandResponse TransactionRouter::_commitMultiShardTransaction(OperationContext* opCtx) {
invariant(_coordinatorId);
auto shardRegistry = Grid::get(opCtx)->shardRegistry();
@@ -618,7 +619,7 @@ void TransactionRouter::_commitMultiShardTransaction(OperationContext* opCtx) {
auto coordinatorIter = _participants.find(*_coordinatorId);
invariant(coordinatorIter != _participants.end());
- uassertStatusOK(coordinatorShard->runCommandWithFixedRetryAttempts(
+ return uassertStatusOK(coordinatorShard->runCommandWithFixedRetryAttempts(
opCtx,
ReadPreferenceSetting{ReadPreference::PrimaryOnly},
"admin",
@@ -627,15 +628,14 @@ void TransactionRouter::_commitMultiShardTransaction(OperationContext* opCtx) {
Shard::RetryPolicy::kIdempotent));
}
-void TransactionRouter::commitTransaction(OperationContext* opCtx) {
+Shard::CommandResponse TransactionRouter::commitTransaction(OperationContext* opCtx) {
uassert(50940, "cannot commit with no participants", !_participants.empty());
if (_participants.size() == 1) {
- _commitSingleShardTransaction(opCtx);
- return;
+ return _commitSingleShardTransaction(opCtx);
}
- _commitMultiShardTransaction(opCtx);
+ return _commitMultiShardTransaction(opCtx);
}
std::vector<AsyncRequestsSender::Response> TransactionRouter::abortTransaction(