Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2901

Clarify the intent behind the list of deprioritized mongos'es and fix the pseudocode

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Component/s: Server Selection
    • None
    • Not Needed

      Summary

      The spec changes introduced by DRIVERS-1571 are internally inconsistent:

      1. On one hand, the change in source/server-selection/server-selection.rst talks about a "list of deprioritized servers".
      2. On the other hand, the change in source/retryable-reads/retryable-reads.rst talks about a single deprioritized server: "the server on which the operation failed MUST be provided to the server selection mechanism as a deprioritized server". And the pseudocode always passes only the last (single) failed server to selectServer. The same is true of source/retryable-writes/retryable-writes.rst.

      Let's clarify that the list (actually, a mathematical set) is intended to contain each mongos on which attempts of the current operation have failed, and reflect that in the relevant pseudocode. The number of attempts of an operation may easily be larger than two in drivers that implement CSOT.

            Assignee:
            Unassigned Unassigned
            Reporter:
            valentin.kovalenko@mongodb.com Valentin Kavalenka
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: