Deprioritize previous servers for overload retry attempts

XMLWordPrintableJSON

    • Type: Spec Change
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: Retryability
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      PYTHON-5505 added the overload retry loop for all operations but neglects to implement the deprioritized server selection logic. The spec calls on us to deprioritize previous servers for overload retry attempts.

      The most straightforward way to do this may be to replace the @_retry_overload decorator with calls to client._retryable_read and client._retryable_write with the "retryable=False" flag to indicate that these operation only attempt retries on overload errors, not on retryable read/writes errors. This is what we do for update_many and delete_many which also go through client._retryable_write.

            Assignee:
            Unassigned
            Reporter:
            Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: