diff options
author | Suganthi Mani <suganthi.mani@mongodb.com> | 2019-04-02 13:46:50 -0400 |
---|---|---|
committer | Suganthi Mani <suganthi.mani@mongodb.com> | 2019-04-03 10:33:00 -0400 |
commit | de7317d76502b02e47618b0a9618e6c5deb8ef90 (patch) | |
tree | 459f6e3b2754d655a7fece7aeabc2bde3db64cbb /src/mongo/db/s | |
parent | 8804404d94ccada2b1060b13f1ca7b9c24692178 (diff) | |
download | mongo-de7317d76502b02e47618b0a9618e6c5deb8ef90.tar.gz |
SERVER-40443 Transaction coordinator need to use w:majority instead of w:internalMajorityNoSnapshot.
Diffstat (limited to 'src/mongo/db/s')
-rw-r--r-- | src/mongo/db/s/transaction_coordinator_service.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/s/transaction_coordinator_service_test.cpp | 14 | ||||
-rw-r--r-- | src/mongo/db/s/transaction_coordinator_test.cpp | 19 | ||||
-rw-r--r-- | src/mongo/db/s/transaction_coordinator_util.cpp | 13 |
4 files changed, 21 insertions, 27 deletions
diff --git a/src/mongo/db/s/transaction_coordinator_service.cpp b/src/mongo/db/s/transaction_coordinator_service.cpp index 6fe5d5d45c6..36790242e7c 100644 --- a/src/mongo/db/s/transaction_coordinator_service.cpp +++ b/src/mongo/db/s/transaction_coordinator_service.cpp @@ -154,7 +154,7 @@ void TransactionCoordinatorService::onStepUp(OperationContext* opCtx, uassertStatusOK(waitForWriteConcern( opCtx, lastOpTime, - WriteConcernOptions{WriteConcernOptions::kInternalMajorityNoSnapshot, + WriteConcernOptions{WriteConcernOptions::kMajority, WriteConcernOptions::SyncMode::UNSET, WriteConcernOptions::kNoTimeout}, &unusedWCResult)); diff --git a/src/mongo/db/s/transaction_coordinator_service_test.cpp b/src/mongo/db/s/transaction_coordinator_service_test.cpp index 5bc2eec8087..753a7d7b7c6 100644 --- a/src/mongo/db/s/transaction_coordinator_service_test.cpp +++ b/src/mongo/db/s/transaction_coordinator_service_test.cpp @@ -67,28 +67,26 @@ const StatusWith<BSONObj> kPrepareOkButWriteConcernError = class TransactionCoordinatorServiceTestFixture : public TransactionCoordinatorTestFixture { protected: void assertPrepareSentAndRespondWithSuccess() { - assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, - kPrepareOk, - WriteConcernOptions::InternalMajorityNoSnapshot); + assertCommandSentAndRespondWith( + PrepareTransaction::kCommandName, kPrepareOk, WriteConcernOptions::Majority); } void assertPrepareSentAndRespondWithSuccessAndWriteConcernError() { assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, kPrepareOkButWriteConcernError, - WriteConcernOptions::InternalMajorityNoSnapshot); + WriteConcernOptions::Majority); advanceClockAndExecuteScheduledTasks(); } void assertPrepareSentAndRespondWithNoSuchTransaction() { - assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, - kNoSuchTransaction, - WriteConcernOptions::InternalMajorityNoSnapshot); + assertCommandSentAndRespondWith( + PrepareTransaction::kCommandName, kNoSuchTransaction, WriteConcernOptions::Majority); } void assertPrepareSentAndRespondWithNoSuchTransactionAndWriteConcernError() { assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, kNoSuchTransactionAndWriteConcernError, - WriteConcernOptions::InternalMajorityNoSnapshot); + WriteConcernOptions::Majority); advanceClockAndExecuteScheduledTasks(); } diff --git a/src/mongo/db/s/transaction_coordinator_test.cpp b/src/mongo/db/s/transaction_coordinator_test.cpp index cc5a94126b9..9cdd0869045 100644 --- a/src/mongo/db/s/transaction_coordinator_test.cpp +++ b/src/mongo/db/s/transaction_coordinator_test.cpp @@ -58,27 +58,24 @@ const StatusWith<BSONObj> kPrepareOk = makePrepareOkResponse(kDummyPrepareTimest class TransactionCoordinatorTestBase : public TransactionCoordinatorTestFixture { protected: void assertPrepareSentAndRespondWithSuccess() { - assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, - kPrepareOk, - WriteConcernOptions::InternalMajorityNoSnapshot); + assertCommandSentAndRespondWith( + PrepareTransaction::kCommandName, kPrepareOk, WriteConcernOptions::Majority); } void assertPrepareSentAndRespondWithSuccess(const Timestamp& timestamp) { assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, makePrepareOkResponse(timestamp), - WriteConcernOptions::InternalMajorityNoSnapshot); + WriteConcernOptions::Majority); } void assertPrepareSentAndRespondWithNoSuchTransaction() { - assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, - kNoSuchTransaction, - WriteConcernOptions::InternalMajorityNoSnapshot); + assertCommandSentAndRespondWith( + PrepareTransaction::kCommandName, kNoSuchTransaction, WriteConcernOptions::Majority); } void assertPrepareSentAndRespondWithRetryableError() { - assertCommandSentAndRespondWith(PrepareTransaction::kCommandName, - kRetryableError, - WriteConcernOptions::InternalMajorityNoSnapshot); + assertCommandSentAndRespondWith( + PrepareTransaction::kCommandName, kRetryableError, WriteConcernOptions::Majority); advanceClockAndExecuteScheduledTasks(); } @@ -124,7 +121,7 @@ auto makeDummyPrepareCommand(const LogicalSessionId& lsid, const TxnNumber& txnN auto prepareObj = prepareCmd.toBSON( BSON("lsid" << lsid.toBSON() << "txnNumber" << txnNumber << "autocommit" << false << WriteConcernOptions::kWriteConcernField - << WriteConcernOptions::InternalMajorityNoSnapshot)); + << WriteConcernOptions::Majority)); return prepareObj; diff --git a/src/mongo/db/s/transaction_coordinator_util.cpp b/src/mongo/db/s/transaction_coordinator_util.cpp index 7be3c0a4bdc..80748f31737 100644 --- a/src/mongo/db/s/transaction_coordinator_util.cpp +++ b/src/mongo/db/s/transaction_coordinator_util.cpp @@ -57,10 +57,9 @@ MONGO_FAIL_POINT_DEFINE(hangBeforeDeletingCoordinatorDoc); using ResponseStatus = executor::TaskExecutor::ResponseStatus; -const WriteConcernOptions kInternalMajorityNoSnapshotWriteConcern( - WriteConcernOptions::kInternalMajorityNoSnapshot, - WriteConcernOptions::SyncMode::UNSET, - WriteConcernOptions::kNoTimeout); +const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority, + WriteConcernOptions::SyncMode::UNSET, + WriteConcernOptions::kNoTimeout); const Backoff kExponentialBackoff(Seconds(1), Milliseconds::max()); @@ -187,7 +186,7 @@ void persistParticipantListBlocking(OperationContext* opCtx, uassertStatusOK( waitForWriteConcern(opCtx, repl::ReplClientInfo::forClient(opCtx->getClient()).getLastOp(), - kInternalMajorityNoSnapshotWriteConcern, + kMajorityWriteConcern, &unusedWCResult)); } } // namespace @@ -241,7 +240,7 @@ Future<PrepareVoteConsensus> sendPrepare(ServiceContext* service, auto prepareObj = prepareTransaction.toBSON( BSON("lsid" << lsid.toBSON() << "txnNumber" << txnNumber << "autocommit" << false << WriteConcernOptions::kWriteConcernField - << WriteConcernOptions::InternalMajorityNoSnapshot)); + << WriteConcernOptions::Majority)); std::vector<Future<PrepareResponse>> responses; @@ -383,7 +382,7 @@ void persistDecisionBlocking(OperationContext* opCtx, uassertStatusOK( waitForWriteConcern(opCtx, repl::ReplClientInfo::forClient(opCtx->getClient()).getLastOp(), - kInternalMajorityNoSnapshotWriteConcern, + kMajorityWriteConcern, &unusedWCResult)); } } // namespace |