summaryrefslogtreecommitdiff
path: root/src/mongo/s/commands/cluster_write_cmd.cpp
diff options
context:
space:
mode:
authorBlake Oler <blake.oler@mongodb.com>2019-06-20 11:50:28 -0400
committerBlake Oler <blake.oler@mongodb.com>2019-06-27 17:31:09 -0400
commitc11b97788fcc91288deac647ddcc11625607d256 (patch)
tree3c95e51b7ed04c7a7aa94e6ef56a30ec293e0d9e /src/mongo/s/commands/cluster_write_cmd.cpp
parentd960519275aba7e6611294903cd2b5156710a73b (diff)
downloadmongo-c11b97788fcc91288deac647ddcc11625607d256.tar.gz
SERVER-41676 Convert TransactionRouter to use observer pattern to synchronize internal data
with external observers
Diffstat (limited to 'src/mongo/s/commands/cluster_write_cmd.cpp')
-rw-r--r--src/mongo/s/commands/cluster_write_cmd.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mongo/s/commands/cluster_write_cmd.cpp b/src/mongo/s/commands/cluster_write_cmd.cpp
index e3d3df7488f..a408e03f97a 100644
--- a/src/mongo/s/commands/cluster_write_cmd.cpp
+++ b/src/mongo/s/commands/cluster_write_cmd.cpp
@@ -215,8 +215,7 @@ bool handleWouldChangeOwningShardError(OperationContext* opCtx,
auto& readConcernArgs = repl::ReadConcernArgs::get(opCtx);
readConcernArgs = repl::ReadConcernArgs(repl::ReadConcernLevel::kLocalReadConcern);
- auto txnRouterForShardKeyChange =
- documentShardKeyUpdateUtil::startTransactionForShardKeyUpdate(opCtx);
+ documentShardKeyUpdateUtil::startTransactionForShardKeyUpdate(opCtx);
// Clear the error details from the response object before sending the write again
response->unsetErrDetails();
ClusterWriter::write(opCtx, request, &stats, response);
@@ -240,8 +239,8 @@ bool handleWouldChangeOwningShardError(OperationContext* opCtx,
}
// Commit the transaction
- auto commitResponse = documentShardKeyUpdateUtil::commitShardKeyUpdateTransaction(
- opCtx, txnRouterForShardKeyChange);
+ auto commitResponse =
+ documentShardKeyUpdateUtil::commitShardKeyUpdateTransaction(opCtx);
uassertStatusOK(getStatusFromCommandResult(commitResponse));
@@ -268,7 +267,7 @@ bool handleWouldChangeOwningShardError(OperationContext* opCtx,
auto txnRouterForAbort = TransactionRouter::get(opCtx);
if (txnRouterForAbort)
- txnRouterForAbort->implicitlyAbortTransaction(opCtx, status);
+ txnRouterForAbort.implicitlyAbortTransaction(opCtx, status);
return false;
}
@@ -501,7 +500,7 @@ private:
if (auto txnRouter = TransactionRouter::get(opCtx)) {
auto writeCmdStatus = response.toStatus();
if (!writeCmdStatus.isOK()) {
- txnRouter->implicitlyAbortTransaction(opCtx, writeCmdStatus);
+ txnRouter.implicitlyAbortTransaction(opCtx, writeCmdStatus);
}
}