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

[SBE] assert.soon() timeout in rollback_fuzzer with SBE during transitionToSteadyStateOperations()

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Query Execution
    • None
    • ALL
    • Query Execution 2021-05-03

      Link to example failing task.

      The generated JS test fails with a backtrace like the following:

      [js_test:rollback_test-8818-1618157223585-0] uncaught exception: Error: assert.soon failed, msg : Waiting for rollback to complete on ip-10-122-77-7.ec2.internal:20021 failed The hang analyzer is automatically called in assert.soon functions. If you are *expecting* assert.soon to possibly fail, call assert.soon with {runHangAnalyzer: false} as the fifth argument (you can fill unused arguments with `undefined`). :
      [js_test:rollback_test-8818-1618157223585-0] doassert@src/mongo/shell/assert.js:20:14
      [js_test:rollback_test-8818-1618157223585-0] assert.soon@src/mongo/shell/assert.js:382:17
      [js_test:rollback_test-8818-1618157223585-0] assert.soonNoExcept@src/mongo/shell/assert.js:418:9
      [js_test:rollback_test-8818-1618157223585-0] RollbackTest/this.transitionToSteadyStateOperations@jstests/replsets/libs/rollback_test.js:340:9
      [js_test:rollback_test-8818-1618157223585-0] runSteps@jstestfuzz/out/rollback_test-8818-1618157223585-0.js:3094:32
      [js_test:rollback_test-8818-1618157223585-0] main@jstestfuzz/out/rollback_test-8818-1618157223585-0.js:3122:5
      [js_test:rollback_test-8818-1618157223585-0] @jstestfuzz/out/rollback_test-8818-1618157223585-0.js:3142:1
      [js_test:rollback_test-8818-1618157223585-0] @jstestfuzz/out/rollback_test-8818-1618157223585-0.js:1:2
      [js_test:rollback_test-8818-1618157223585-0] failed to load: jstestfuzz/out/rollback_test-8818-1618157223585-0.js
      [js_test:rollback_test-8818-1618157223585-0] exiting with code -3
      

      Towards the end of the generated test, the rollback process is allowed to complete by making a call to {{RollbackTest.transitionToSteadyStateOperations()}}https://github.com/mongodb/mongo/blob/0782c59e71146e316e7d61ac61d76e2330f29eb4/jstests/replsets/libs/rollback_test.js#L321. This ends up failing due to an assert.soon() timing out.

            Assignee:
            justin.seyster@mongodb.com Justin Seyster
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: