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

Suites using txn_override.js will not retry transient transaction errors without loading auto_retry_on_network_error.js

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Sharding
    • ALL

      txn_override.js wraps test statements in multi document transactions and contains logic to retry entire transactions if any fail with transient errors. The override doesn't catch transient errors for commands other than commitTransaction though, relying on auto_retry_on_network_error.js to do so instead. Several suites have been added that use txn_override.js but don't expect network errors so they don't also include auto_retry_on_network_error.js, which means they currently don't retry on transient errors. This is especially important for suites exercising cross-shard transactions, which are particularly prone to transient snapshot errors.

      A quick fix would be to include the auto_retry_on_network_error.js override in every suite that uses txn_override.js, but a more complete approach might be to catch and retry transient transaction errors in txn_override.js itself so it doesn't rely on a seemingly unrelated override.

            Assignee:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: