Replace instances of the ShardRole retry loop pattern with a unified implementation

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2025-10-13, CAR Team 2025-10-27
    • 200
    • 🟦 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      The concept of "ShardRole retry loop" (i.e. execute something and if it throws due to this shard having stale/unknown sharding metadata then refresh and try again) is present in several places throughout the code. Examples of this are service_entry_point, resharding_data_copy_util or ttl.cpp (this last one may be a stretch since the refresh is asynchronous and there's not retry at this level).

      SERVER-112449 will make this a common utility that can be reused wherever needed.

      This ticket is to replace the existing instances of this pattern with the proposed unified utility.

            Assignee:
            Jordi Serra Torrens
            Reporter:
            Jordi Serra Torrens
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: