Allow ExceededTimeLimit error for update operations in refine_collection_shard_key_nested_crud_ops.js

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v8.2
    • CAR Team 2025-08-18, CAR Team 2025-09-01
    • 0
    • 1
    • None
    • 3
    • TBD
    • 🟥 DDL
    • None
    • None
    • None
    • None
    • None
    • None

      After SERVER-105874, tests running with the balancer enabled now encounter chunk splits that cause some queries to target two shards instead of just one. For the affected test, this changes the update execution path:

      • When more than one shard is involved, the update becomes a multi-document transaction.
      • The shard returns a WouldChangeOwningShard error, prompting the router to transform the update into a delete + insert transaction affecting two shards.
      • Previously, the update could be executed entirely on one shard.

      Now, this multi-document transaction can overlap with a refineShardKey operation, which briefly blocks CRUD queries during the DDL commit that is in the critical section. Multi-document transactions do not serialize for more than 500ms waiting for the critical section to be released; instead, they fail with ExceededTimeLimit, as they are expected to be retried.

      However, in this case, ExceededTimeLimit is not being retried, which appears to be related to the known issue in SERVER-53441. As a temporary measure, this test should explicitly allow ExceededTimeLimit errors until a proper fix is implemented.

            Assignee:
            Pol Pinol
            Reporter:
            Pol Pinol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: