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

Rollback tests that expect a fatal assertion after node restart should not wait for connection

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.3, 3.7.1
    • Affects Version/s: None
    • Component/s: Replication
    • Fully Compatible
    • ALL
    • v3.6
    • Repl 2018-01-01
    • 0

      There are a number of tests (rollback_too_new.js, rollback_collMod_fatal.js, rollback_cmd_unrollbackable.js) that will try to induce a rollback that causes a node to fassert. Most of them will, at the end of the test, restart a node that they expect to then go into rollback and fassert. Whenever we start up a node in a JS test again, we can optionally wait for a connection to it. For a node being restarted that we expect to immediately fassert, though, this "wait for connection" behavior is inherently flaky, since we have no way of controlling how quickly the node will start up and then crash. So if we try to connect after the crash has already occurred, the test will fail since it wasn't able to connect to the node. We can fix this issue by simply not waiting for a node connection if it is not necessary. For a node that we expect to fassert right after startup, we shouldn't need to re-connect to it.

            Assignee:
            william.schultz@mongodb.com William Schultz (Inactive)
            Reporter:
            william.schultz@mongodb.com William Schultz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: