summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVesselina Ratcheva <vesselina.ratcheva@10gen.com>2020-02-26 00:32:26 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-26 05:47:47 +0000
commit8651c754eedf84651dd5051aa43c70cd96b00586 (patch)
treebfa58785df097219a401efaef3c4985b6fbdab16 /src
parentc87d505f571c7dbe45048cd3cbe116278f8efa31 (diff)
downloadmongo-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.cpp12
-rw-r--r--src/mongo/db/repl/topology_coordinator_v1_test.cpp35
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);