diff options
author | Blake Oler <blake.oler@mongodb.com> | 2019-06-20 11:50:28 -0400 |
---|---|---|
committer | Blake Oler <blake.oler@mongodb.com> | 2019-06-27 17:31:09 -0400 |
commit | c11b97788fcc91288deac647ddcc11625607d256 (patch) | |
tree | 3c95e51b7ed04c7a7aa94e6ef56a30ec293e0d9e /src/mongo/s/commands/document_shard_key_update_util.cpp | |
parent | d960519275aba7e6611294903cd2b5156710a73b (diff) | |
download | mongo-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/document_shard_key_update_util.cpp')
-rw-r--r-- | src/mongo/s/commands/document_shard_key_update_util.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mongo/s/commands/document_shard_key_update_util.cpp b/src/mongo/s/commands/document_shard_key_update_util.cpp index d10b9294110..119193d9ee5 100644 --- a/src/mongo/s/commands/document_shard_key_update_util.cpp +++ b/src/mongo/s/commands/document_shard_key_update_util.cpp @@ -142,20 +142,21 @@ bool updateShardKeyForDocument(OperationContext* opCtx, opCtx, deleteCmdObj, insertCmdObj, nss.db(), documentKeyChangeInfo.getShouldUpsert()); } -TransactionRouter* startTransactionForShardKeyUpdate(OperationContext* opCtx) { +void startTransactionForShardKeyUpdate(OperationContext* opCtx) { auto txnRouter = TransactionRouter::get(opCtx); invariant(txnRouter); auto txnNumber = opCtx->getTxnNumber(); invariant(txnNumber); - txnRouter->beginOrContinueTxn(opCtx, *txnNumber, TransactionRouter::TransactionActions::kStart); - - return txnRouter; + txnRouter.beginOrContinueTxn(opCtx, *txnNumber, TransactionRouter::TransactionActions::kStart); } -BSONObj commitShardKeyUpdateTransaction(OperationContext* opCtx, TransactionRouter* txnRouter) { - return txnRouter->commitTransaction(opCtx, boost::none); +BSONObj commitShardKeyUpdateTransaction(OperationContext* opCtx) { + auto txnRouter = TransactionRouter::get(opCtx); + invariant(txnRouter); + + return txnRouter.commitTransaction(opCtx, boost::none); } BSONObj constructShardKeyDeleteCmdObj(const NamespaceString& nss, |