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

double_rollback.js should reliably wait for node 0 to complete rollback

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.20, 3.6.12
    • Affects Version/s: 3.4.19, 3.6.10
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v3.4
    • Repl 2019-03-11
    • 10

      double_rollback.js waits for node 0 to roll back using the following checks:

          jsTestLog("Wait for nodes 0 to roll back and both node 0 and 2 to catch up to node 1");
          waitForState(nodes[0], ReplSetTest.State.SECONDARY);
          waitForState(nodes[2], ReplSetTest.State.SECONDARY);
          rst.awaitReplication();
      

      However, these checks are not reliable on 3.4 and 3.6. The first check can succeed because node 0 was in state SECONDARY prior to entering rollback. The awaitReplication() only checks liveNodes on 3.4 and 3.6, which may not include node 0 if the last call to isMaster failed due to the node closing connections when entering rollback. We require a more reliable way to wait for node 0 to complete rollback.

            Assignee:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Reporter:
            tess.avitabile@mongodb.com Tess Avitabile (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: