-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
CAR Team 2026-08-31, CAR Team 2026-09-14
-
🟥 DDL, 🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
Back in SERVER-52693, we created the CursorInvalidatedError category and included OperationFailed among the errors in this category.
The set of errors was taken from this concurrency workload.
This is incorrect: OperationFailed signals to the caller that a definitive, non-transient error occurred and the operation failed. Simply retrying the operation will not resolve the underlying problem.
Today, Shard::RetryPolicy::kIdempotentOrCursorInvalidated retries CursorInvalidatedError errors for internally executed commands. In addition, ShardingCoordinator::_isRetriableErrorForDDLCoordinator() considers CursorInvalidatedError retriable.
The risk is that a command or function that failed with a non-transient error will be retried indefinitely. For coordinators, this could mean retrying while inside the critical section and stalling CRUD operations.
Remove OperationFailed from the CursorInvalidatedError category.
- is related to
-
SERVER-52693 Have ReshardingCollectionCloner retry cloning on retryable errors from the donor shards
-
- Closed
-