Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-42909

Replace ConnectionPool generations with sequence ids

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Right now we use a generation index to processFailure() for connection pooling. This has two unintended side effects in spurious networking conditions:

      • A failed connection causes connections created after it to be considered failed as well. This could throw away good connections in situations with spurious failures.
      • A failed connection causes a connection request (and thus an operation) to receive a not okay status. This can happen even if the remote host has already failed the connection by the time the request came in.

      We should use either a monotonic sequence id or clock to mark each time a connection is considered "ready" (including initial creation). We should also attach these ids to requests. When a connection fails, all ids before it should be considered failed.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: