-
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.
Â
- is related to
-
SERVER-133516 Treat SnapshotTooOld as transient in CheckMetadataConsistencyInBackground
-
- Needs Scheduling
-