-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Backpressure
-
None
The Client Backpressure spec expands overload retry to all commands, including those not retryable under the read/write retry policies. killCursors is dispatched with no retry wrapper today (CommandCursor.killServerCursor() / AsyncCommandCursor.killServerCursorAsync()), so a SystemOverloadedError on it is surfaced immediately instead of being retried with backoff.
Scope
Add overload-only retry to cursor killCursors, gated on retryReads or retryWrites( to be clarified in the spec), mirroring the getMore implementation:
SpecRetryPolicy.IndividualPolicies(retryReads)
.includeOverload(maxAdaptiveRetries, AS_READ_POLICY/AS_WRITE_POLICY)
Retry wraps the connection.command / commandAsync call (same connection, as required for load-balanced deployments); the failure is still swallowed by cursor close as today.