Investigate Automatic Retry of Internal Commands on SnapshotTooOld

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Catalog and Routing
    • 🟩 Routing and Topology
    • None
    • None
    • None
    • None
    • None
    • None

      SnapshotTooOld can occur when an operation’s read snapshot is no longer available before the operation completes. In these cases, the command should be treated as transient and retried with a newly established snapshot rather than surfaced as a permanent failure.

      There are currently at least two examples:

      • CheckMetadataConsistencyInBackground (CMC): SERVER-133516 proposes aborting the current check and retrying the full check later with a fresh snapshot timestamp.
      • Catalog cache refresh: The catalog-cache implementation is another internal path that should handle SnapshotTooOld through the common retry mechanism.

      The investigation should:

      • Identify other internal commands that should receive the same behavior.
      • Identify an appropriate common layer for classifying SnapshotTooOld as retryable for internal commands and define safe retry semantics.

       

            Assignee:
            Unassigned
            Reporter:
            Anna Maria Nestorov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: