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

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

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 3.4.19, 3.6.10
    • 3.4.20, 3.6.12
    • Replication
    • None
    • Fully Compatible
    • ALL
    • v3.4
    • Repl 2019-03-11
    • 10

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: