summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/replication_coordinator_test_fixture.cpp
diff options
context:
space:
mode:
authorJason Chan <jason.chan@mongodb.com>2020-01-15 20:17:46 +0000
committerevergreen <evergreen@mongodb.com>2020-01-15 20:17:46 +0000
commitb157e332ffe0963c8c503bb9ecb380fd158e0871 (patch)
treeaf6aa71edba867d1c61b27b5c5a0bf036892ff7b /src/mongo/db/repl/replication_coordinator_test_fixture.cpp
parent3c0c136ecf80d60f512e96b9720af3845f401fd8 (diff)
downloadmongo-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.cpp10
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);