diff options
author | Jason Chan <jason.chan@mongodb.com> | 2020-01-15 20:17:46 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2020-01-15 20:17:46 +0000 |
commit | b157e332ffe0963c8c503bb9ecb380fd158e0871 (patch) | |
tree | af6aa71edba867d1c61b27b5c5a0bf036892ff7b /src/mongo/db/repl/replication_coordinator_test_fixture.cpp | |
parent | 3c0c136ecf80d60f512e96b9720af3845f401fd8 (diff) | |
download | mongo-b157e332ffe0963c8c503bb9ecb380fd158e0871.tar.gz |
SERVER-44515 Test that TopologyCoordinator::awaitIsMasterResponse returns early on secondary topology changes
Diffstat (limited to 'src/mongo/db/repl/replication_coordinator_test_fixture.cpp')
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_test_fixture.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_test_fixture.cpp b/src/mongo/db/repl/replication_coordinator_test_fixture.cpp index e989785c50c..f773b0d03ff 100644 --- a/src/mongo/db/repl/replication_coordinator_test_fixture.cpp +++ b/src/mongo/db/repl/replication_coordinator_test_fixture.cpp @@ -314,7 +314,8 @@ void ReplCoordTest::simulateSuccessfulV1Election() { simulateSuccessfulV1ElectionAt(electionTimeoutWhen); } -void ReplCoordTest::simulateSuccessfulV1ElectionWithoutExitingDrainMode(Date_t electionTime) { +void ReplCoordTest::simulateSuccessfulV1ElectionWithoutExitingDrainMode(Date_t electionTime, + OperationContext* opCtx) { ReplicationCoordinatorImpl* replCoord = getReplCoord(); NetworkInterfaceMock* net = getNet(); @@ -364,17 +365,16 @@ void ReplCoordTest::simulateSuccessfulV1ElectionWithoutExitingDrainMode(Date_t e ASSERT(replCoord->getApplierState() == ReplicationCoordinator::ApplierState::Draining); ASSERT(replCoord->getMemberState().primary()) << replCoord->getMemberState().toString(); - auto opCtx = makeOperationContext(); - auto imResponse = replCoord->awaitIsMasterResponse(opCtx.get(), {}, boost::none, boost::none); + auto imResponse = replCoord->awaitIsMasterResponse(opCtx, {}, boost::none, boost::none); ASSERT_FALSE(imResponse->isMaster()) << imResponse->toBSON().toString(); ASSERT_TRUE(imResponse->isSecondary()) << imResponse->toBSON().toString(); } void ReplCoordTest::simulateSuccessfulV1ElectionAt(Date_t electionTime) { - simulateSuccessfulV1ElectionWithoutExitingDrainMode(electionTime); + auto opCtx = makeOperationContext(); + simulateSuccessfulV1ElectionWithoutExitingDrainMode(electionTime, opCtx.get()); ReplicationCoordinatorImpl* replCoord = getReplCoord(); - auto opCtx = makeOperationContext(); signalDrainComplete(opCtx.get()); ASSERT(replCoord->getApplierState() == ReplicationCoordinator::ApplierState::Stopped); |