diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2020-02-26 00:32:26 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-26 05:47:47 +0000 |
commit | 8651c754eedf84651dd5051aa43c70cd96b00586 (patch) | |
tree | bfa58785df097219a401efaef3c4985b6fbdab16 /src | |
parent | c87d505f571c7dbe45048cd3cbe116278f8efa31 (diff) | |
download | mongo-8651c754eedf84651dd5051aa43c70cd96b00586.tar.gz |
Revert "SERVER-17934 Do not report replication progress upstream while in initial sync"
This reverts commit c87d505f571c7dbe45048cd3cbe116278f8efa31.
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/repl/topology_coordinator.cpp | 12 | ||||
-rw-r--r-- | src/mongo/db/repl/topology_coordinator_v1_test.cpp | 35 |
2 files changed, 2 insertions, 45 deletions
diff --git a/src/mongo/db/repl/topology_coordinator.cpp b/src/mongo/db/repl/topology_coordinator.cpp index a2b2690cee3..ca3d1d0dd03 100644 --- a/src/mongo/db/repl/topology_coordinator.cpp +++ b/src/mongo/db/repl/topology_coordinator.cpp @@ -681,16 +681,8 @@ Status TopologyCoordinator::prepareHeartbeatResponseV1(Date_t now, response->setElectionTime(_electionTime); } - OpTimeAndWallTime lastOpApplied; - OpTimeAndWallTime lastOpDurable; - - // We include null times for lastApplied and lastDurable if we are in STARTUP_2, as we do not - // want to report replication progress and be part of write majorities while in initial sync. - if (!myState.startup2()) { - lastOpApplied = getMyLastAppliedOpTimeAndWallTime(); - lastOpDurable = getMyLastDurableOpTimeAndWallTime(); - } - + const OpTimeAndWallTime lastOpApplied = getMyLastAppliedOpTimeAndWallTime(); + const OpTimeAndWallTime lastOpDurable = getMyLastDurableOpTimeAndWallTime(); response->setAppliedOpTimeAndWallTime(lastOpApplied); response->setDurableOpTimeAndWallTime(lastOpDurable); diff --git a/src/mongo/db/repl/topology_coordinator_v1_test.cpp b/src/mongo/db/repl/topology_coordinator_v1_test.cpp index 149e7c4cc33..5f8bcea353e 100644 --- a/src/mongo/db/repl/topology_coordinator_v1_test.cpp +++ b/src/mongo/db/repl/topology_coordinator_v1_test.cpp @@ -2278,41 +2278,6 @@ TEST_F(TopoCoordTest, OmitUninitializedConfigTermFromHeartbeat) { ASSERT_FALSE(response.toBSON().hasField("configTerm"_sd)); } -TEST_F(TopoCoordTest, RespondToHeartbeatsWithNullLastAppliedAndLastDurableWhileInInitialSync) { - ASSERT_TRUE(TopologyCoordinator::Role::kFollower == getTopoCoord().getRole()); - ASSERT_EQUALS(MemberState::RS_STARTUP, getTopoCoord().getMemberState().s); - updateConfig(BSON("_id" - << "rs0" - << "version" << 1 << "members" - << BSON_ARRAY(BSON("_id" << 0 << "host" - << "h0") - << BSON("_id" << 1 << "host" - << "h1"))), - 1); - - ASSERT_TRUE(TopologyCoordinator::Role::kFollower == getTopoCoord().getRole()); - ASSERT_EQUALS(MemberState::RS_STARTUP2, getTopoCoord().getMemberState().s); - - heartbeatFromMember( - HostAndPort("h0"), "rs0", MemberState::RS_SECONDARY, OpTime(Timestamp(3, 0), 0)); - - // The lastApplied and lastDurable should be null for any heartbeat responses we send while in - // STARTUP_2, even when they are otherwise initialized. - OpTime lastOpTime(Timestamp(2, 0), 0); - topoCoordSetMyLastAppliedOpTime(lastOpTime, Date_t(), false); - topoCoordSetMyLastDurableOpTime(lastOpTime, Date_t(), false); - - ReplSetHeartbeatArgsV1 args; - args.setConfigVersion(1); - args.setSetName("rs0"); - args.setSenderId(0); - ReplSetHeartbeatResponse response; - - ASSERT_OK(getTopoCoord().prepareHeartbeatResponseV1(now()++, args, "rs0", &response)); - ASSERT_EQUALS(OpTime(), response.getAppliedOpTime()); - ASSERT_EQUALS(OpTime(), response.getDurableOpTime()); -} - TEST_F(TopoCoordTest, BecomeCandidateWhenBecomingSecondaryInSingleNodeSet) { ASSERT_TRUE(TopologyCoordinator::Role::kFollower == getTopoCoord().getRole()); ASSERT_EQUALS(MemberState::RS_STARTUP, getTopoCoord().getMemberState().s); |