5151#include " mongo/db/repl/handshake_args.h"
5252#include " mongo/db/repl/is_master_response.h"
5353#include " mongo/db/repl/last_vote.h"
54+ #include " mongo/db/repl/member_data.h"
5455#include " mongo/db/repl/old_update_position_args.h"
5556#include " mongo/db/repl/read_concern_args.h"
5657#include " mongo/db/repl/repl_client_info.h"
@@ -657,7 +658,7 @@ void ReplicationCoordinatorImpl::startup(OperationContext* opCtx) {
657658 fassert (18822 , !_inShutdown);
658659 _setConfigState_inlock (kConfigStartingUp );
659660 _myRID = rid;
660- _topCoord->getMyMemberHeartbeatData ()->setRid (rid);
661+ _topCoord->getMyMemberData ()->setRid (rid);
661662 }
662663
663664 if (!_settings.usingReplSets ()) {
@@ -932,12 +933,12 @@ Status ReplicationCoordinatorImpl::setLastOptimeForSlave(const OID& rid, const T
932933
933934 // term == -1 for master-slave
934935 OpTime opTime (ts, OpTime::kUninitializedTerm );
935- MemberHeartbeatData* memberHeartbeatData = _topCoord->findMemberHeartbeatDataByRid (rid);
936- if (memberHeartbeatData ) {
937- memberHeartbeatData ->advanceLastAppliedOpTime (opTime, _replExecutor->now ());
936+ MemberData* memberData = _topCoord->findMemberDataByRid (rid);
937+ if (memberData ) {
938+ memberData ->advanceLastAppliedOpTime (opTime, _replExecutor->now ());
938939 } else {
939- auto * memberHeartbeatData = _topCoord->addSlaveMemberData (rid);
940- memberHeartbeatData ->setLastAppliedOpTime (opTime, _replExecutor->now ());
940+ auto * memberData = _topCoord->addSlaveMemberData (rid);
941+ memberData ->setLastAppliedOpTime (opTime, _replExecutor->now ());
941942 }
942943 _updateLastCommittedOpTime_inlock ();
943944 return Status::OK ();
@@ -1008,19 +1009,19 @@ void ReplicationCoordinatorImpl::_reportUpstream_inlock(stdx::unique_lock<stdx::
10081009
10091010void ReplicationCoordinatorImpl::_setMyLastAppliedOpTime_inlock (const OpTime& opTime,
10101011 bool isRollbackAllowed) {
1011- auto * myMemberHeartbeatData = _topCoord->getMyMemberHeartbeatData ();
1012- invariant (isRollbackAllowed || myMemberHeartbeatData ->getLastAppliedOpTime () <= opTime);
1013- myMemberHeartbeatData ->setLastAppliedOpTime (opTime, _replExecutor->now ());
1012+ auto * myMemberData = _topCoord->getMyMemberData ();
1013+ invariant (isRollbackAllowed || myMemberData ->getLastAppliedOpTime () <= opTime);
1014+ myMemberData ->setLastAppliedOpTime (opTime, _replExecutor->now ());
10141015 _updateLastCommittedOpTime_inlock ();
10151016 _opTimeWaiterList.signalAndRemoveIf_inlock (
10161017 [opTime](Waiter* waiter) { return waiter->opTime <= opTime; });
10171018}
10181019
10191020void ReplicationCoordinatorImpl::_setMyLastDurableOpTime_inlock (const OpTime& opTime,
10201021 bool isRollbackAllowed) {
1021- auto * myMemberHeartbeatData = _topCoord->getMyMemberHeartbeatData ();
1022- invariant (isRollbackAllowed || myMemberHeartbeatData ->getLastDurableOpTime () <= opTime);
1023- myMemberHeartbeatData ->setLastDurableOpTime (opTime, _replExecutor->now ());
1022+ auto * myMemberData = _topCoord->getMyMemberData ();
1023+ invariant (isRollbackAllowed || myMemberData ->getLastDurableOpTime () <= opTime);
1024+ myMemberData ->setLastDurableOpTime (opTime, _replExecutor->now ());
10241025 _updateLastCommittedOpTime_inlock ();
10251026}
10261027
@@ -1257,8 +1258,8 @@ Status ReplicationCoordinatorImpl::_setLastOptime_inlock(
12571258 return Status (ErrorCodes::InvalidReplicaSetConfig, errmsg);
12581259 }
12591260
1260- auto * memberHeartbeatData = _topCoord->findMemberHeartbeatDataByMemberId (args.memberId );
1261- if (!memberHeartbeatData ) {
1261+ auto * memberData = _topCoord->findMemberDataByMemberId (args.memberId );
1262+ if (!memberData ) {
12621263 invariant (!_rsConfig.findMemberByID (args.memberId ));
12631264
12641265 std::string errmsg = str::stream ()
@@ -1268,16 +1269,16 @@ Status ReplicationCoordinatorImpl::_setLastOptime_inlock(
12681269 return Status (ErrorCodes::NodeNotFound, errmsg);
12691270 }
12701271
1271- invariant (args.memberId == memberHeartbeatData ->getMemberId ());
1272+ invariant (args.memberId == memberData ->getMemberId ());
12721273
12731274 LOG (3 ) << " Node with memberID " << args.memberId << " has durably applied operations through "
1274- << memberHeartbeatData ->getLastDurableOpTime () << " and has applied operations through "
1275- << memberHeartbeatData ->getLastAppliedOpTime ()
1275+ << memberData ->getLastDurableOpTime () << " and has applied operations through "
1276+ << memberData ->getLastAppliedOpTime ()
12761277 << " ; updating to new durable operation with timestamp " << args.ts ;
12771278
12781279 auto now (_replExecutor->now ());
1279- bool advancedOpTime = memberHeartbeatData ->advanceLastAppliedOpTime (args.ts , now);
1280- advancedOpTime = memberHeartbeatData ->advanceLastDurableOpTime (args.ts , now) || advancedOpTime;
1280+ bool advancedOpTime = memberData ->advanceLastAppliedOpTime (args.ts , now);
1281+ advancedOpTime = memberData ->advanceLastDurableOpTime (args.ts , now) || advancedOpTime;
12811282
12821283 // Only update committed optime if the remote optimes increased.
12831284 if (advancedOpTime) {
@@ -1325,8 +1326,8 @@ Status ReplicationCoordinatorImpl::_setLastOptime_inlock(const UpdatePositionArg
13251326 return Status (ErrorCodes::InvalidReplicaSetConfig, errmsg);
13261327 }
13271328
1328- auto * memberHeartbeatData = _topCoord->findMemberHeartbeatDataByMemberId (args.memberId );
1329- if (!memberHeartbeatData ) {
1329+ auto * memberData = _topCoord->findMemberDataByMemberId (args.memberId );
1330+ if (!memberData ) {
13301331 invariant (!_rsConfig.findMemberByID (args.memberId ));
13311332
13321333 std::string errmsg = str::stream ()
@@ -1336,18 +1337,18 @@ Status ReplicationCoordinatorImpl::_setLastOptime_inlock(const UpdatePositionArg
13361337 return Status (ErrorCodes::NodeNotFound, errmsg);
13371338 }
13381339
1339- invariant (args.memberId == memberHeartbeatData ->getMemberId ());
1340+ invariant (args.memberId == memberData ->getMemberId ());
13401341
13411342 LOG (3 ) << " Node with memberID " << args.memberId << " currently has optime "
1342- << memberHeartbeatData ->getLastAppliedOpTime () << " durable through "
1343- << memberHeartbeatData ->getLastDurableOpTime () << " ; updating to optime "
1344- << args. appliedOpTime << " and durable through " << args.durableOpTime ;
1343+ << memberData ->getLastAppliedOpTime () << " durable through "
1344+ << memberData ->getLastDurableOpTime () << " ; updating to optime " << args. appliedOpTime
1345+ << " and durable through " << args.durableOpTime ;
13451346
13461347
13471348 auto now (_replExecutor->now ());
1348- bool advancedOpTime = memberHeartbeatData ->advanceLastAppliedOpTime (args.appliedOpTime , now);
1349+ bool advancedOpTime = memberData ->advanceLastAppliedOpTime (args.appliedOpTime , now);
13491350 advancedOpTime =
1350- memberHeartbeatData ->advanceLastDurableOpTime (args.durableOpTime , now) || advancedOpTime;
1351+ memberData ->advanceLastDurableOpTime (args.durableOpTime , now) || advancedOpTime;
13511352
13521353 // Only update committed optime if the remote optimes increased.
13531354 if (advancedOpTime) {
@@ -2732,13 +2733,13 @@ Status ReplicationCoordinatorImpl::processHandshake(OperationContext* opCtx,
27322733 " The handshake command is only used for master/slave replication" );
27332734 }
27342735
2735- auto * memberHeartbeatData = _topCoord->findMemberHeartbeatDataByRid (handshake.getRid ());
2736- if (memberHeartbeatData ) {
2736+ auto * memberData = _topCoord->findMemberDataByRid (handshake.getRid ());
2737+ if (memberData ) {
27372738 return Status::OK (); // nothing to do
27382739 }
27392740
2740- memberHeartbeatData = _topCoord->addSlaveMemberData (handshake.getRid ());
2741- memberHeartbeatData ->setHostAndPort (_externalState->getClientHostAndPort (opCtx));
2741+ memberData = _topCoord->addSlaveMemberData (handshake.getRid ());
2742+ memberData ->setHostAndPort (_externalState->getClientHostAndPort (opCtx));
27422743
27432744 return Status::OK ();
27442745}
@@ -3077,12 +3078,11 @@ Status ReplicationCoordinatorImpl::processHeartbeatV1(const ReplSetHeartbeatArgs
30773078 }
30783079 } else if (result.isOK ()) {
30793080 // Update liveness for sending node.
3080- auto * memberHeartbeatData =
3081- _topCoord->findMemberHeartbeatDataByMemberId (args.getSenderId ());
3082- if (!memberHeartbeatData) {
3081+ auto * memberData = _topCoord->findMemberDataByMemberId (args.getSenderId ());
3082+ if (!memberData) {
30833083 return result;
30843084 }
3085- memberHeartbeatData ->updateLiveness (_replExecutor->now ());
3085+ memberData ->updateLiveness (_replExecutor->now ());
30863086 }
30873087 return result;
30883088}
0 commit comments