Fix internal transactions JS tests to correctly handle when original error is propagated from TransactionParticipantFailedUnyield

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0, 8.0.0-rc14
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • v8.0
    • 200
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-91021 changed internal_transactions_unsharded.js to emulate what mongos does with the TransactionParticipantFailedUnyield error: if the test is running commands directly on a mongod and received TransactionParticipantFailedUnyield, the original error is extracted from it and thrown instead to be handled by the rest of the test.

      Unfortunately, this breaks internal_transactions_kill_sessions.js, because TransactionParticipantFailedUnyield will sometimes have Interrupted as original error and the test expects all Interrupted errors to be handled by the runCommand override in retry_on_killed_sessions.js. Since the original error is extracted and thrown after runCommand has finished running, the retry logic in the override does not get to see and handle the error properly.

            Assignee:
            Abdul Qadeer
            Reporter:
            Vojislav Stojkovic
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: