Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-61466

Port the RSM { electionId, setVersion } ordering to scanning RSM

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible

      Description

      This is part of porting theĀ SERVER-59409 to v4.4 branch where the build variant "enterprise-ubuntu-scanning-replica-set-monitor-1604-64-bit" is enforcing the functional parity.

      In fact the scanning RSM is ignoring the setVersion in the ordering so the code has no feature parity but only the test compatibility parity. I was able to make the test to pass by porting a fail point from streaming RSM to the Refresher::receivedIsMasterFromMaster:

      @@ -853,7 +855,16 @@ Status Refresher::receivedIsMasterFromMaster(const HostAndPort& from, const IsMa
                                     << _set->maxElectionId};
               }
       
      +        const auto existingMaxElectionId = _set->maxElectionId;
               _set->maxElectionId = reply.electionId;
      +
      +        if (MONGO_unlikely(maxElectionIdSetVersionPairUpdated.shouldFail())) {
      +            // name inherited from streaming monitor.
      +            LOGV2(6146601,
      +                  "Fail point maxElectionIdSetVersionPairUpdated",
      +                  "incomingElectionId"_attr = reply.electionId,
      +                  "currentMaxElectionId"_attr = existingMaxElectionId);
      +        }
           }
      

        Attachments

          Activity

            People

            Assignee:
            andrew.shuvalov Andrew Shuvalov
            Reporter:
            andrew.shuvalov Andrew Shuvalov
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: