Support overload retry for killCursors [nice-to-have]

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Backpressure
    • None
    • Java Drivers
    • None
    • None
    • None
    • None
    • None
    • 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.

            Assignee:
            Unassigned
            Reporter:
            Slav Babanin
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: