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

dropRole transaction doesn't handle WiredTiger's rollback return

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Security 2022-10-03, Security 2022-10-17

      Referring to SERVER-66770 and SERVER-69697, this bug gets triggered when config fuzzer enables fuzzing of a WiredTiger debug option of rolling back transactions periodically.

      WiredTiger can return a rollback error for any write operation and ideally a write conflict exception gets generated and the operation needs to be retried. Looks like in this case the operation was not retried.

      [fsm_workload_test:auth_create_role] [jsTest] ----
      [fsm_workload_test:auth_create_role] [jsTest] Workload(s) completed in 5538 ms: jstests/concurrency/fsm_workloads/auth_create_role.js
      [fsm_workload_test:auth_create_role] [jsTest] ----
      [fsm_workload_test:auth_create_role] 
      [fsm_workload_test:auth_create_role] uncaught exception: Error: 1 thread with tids ["main"] threw
      [fsm_workload_test:auth_create_role] 
      [fsm_workload_test:auth_create_role]         Foreground Teardown
      [fsm_workload_test:auth_create_role]         Error: Failed applying dropRole transaction :: caused by :: Failed to remove role auth_create_role1_2@test43_fsmdb0 :: caused by :: Caused by :: Write conflict during plan execution and yielding is disabled. :: Please retry your operation or multi-document transaction.
      [fsm_workload_test:auth_create_role] 
      [fsm_workload_test:auth_create_role]         _getErrorWithCode@src/mongo/shell/utils.js:24:13
      [fsm_workload_test:auth_create_role]         DB.prototype.dropRole@src/mongo/shell/db.js:1553:11
      [fsm_workload_test:auth_create_role]         dropRoles/<@jstests/concurrency/fsm_workload_helpers/drop_utils.js:44:29
      [fsm_workload_test:auth_create_role]         dropRoles@jstests/concurrency/fsm_workload_helpers/drop_utils.js:42:19
      [fsm_workload_test:auth_create_role]         teardown@jstests/concurrency/fsm_workloads/auth_create_role.js:71:18
      [fsm_workload_test:auth_create_role]         teardownWorkload@jstests/concurrency/fsm_libs/runner.js:384:25
      [fsm_workload_test:auth_create_role]         cleanupWorkload@jstests/concurrency/fsm_libs/resmoke_runner.js:22:25
      [fsm_workload_test:auth_create_role]         runWorkloads/cleanupResults<@jstests/concurrency/fsm_libs/resmoke_runner.js:194:40
      [fsm_workload_test:auth_create_role]         runWorkloads@jstests/concurrency/fsm_libs/resmoke_runner.js:193:40
      [fsm_workload_test:auth_create_role]         @jstests/concurrency/fsm_libs/resmoke_runner.js:283:13
      [fsm_workload_test:auth_create_role]         @jstests/concurrency/fsm_libs/resmoke_runner.js:284:3
      [fsm_workload_test:auth_create_role] 
      [fsm_workload_test:auth_create_role]  :
      [fsm_workload_test:auth_create_role] throwError@jstests/concurrency/fsm_libs/runner.js:354:23
      [fsm_workload_test:auth_create_role] runWorkloads@jstests/concurrency/fsm_libs/resmoke_runner.js:202:15
      [fsm_workload_test:auth_create_role] @jstests/concurrency/fsm_libs/resmoke_runner.js:283:13
      [fsm_workload_test:auth_create_role] @jstests/concurrency/fsm_libs/resmoke_runner.js:284:3
      [fsm_workload_test:auth_create_role] failed to load: jstests/concurrency/fsm_libs/resmoke_runner.js
      [fsm_workload_test:auth_create_role] exiting with code -3
      

            Assignee:
            sara.golemon@mongodb.com Sara Golemon
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: