Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-2677

Better wait queue timeout errors for load balanced clusters

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 3.12, 4.0
    • Affects Version/s: None
    • Component/s: None
    • None

      For load balanced clusters, we have to include statistics about the number of connections being pinned by cursors and transactions in wait queue timeout errors:

      The driver connection pool MUST track the purpose for which connections are checked out in the following 3 categories:

      • Connections checked out for cursors
      • Connections checked out for transactions
      • Connections checked out for operations not falling under the previous 2 categories

      When the connection pool's maxPoolSize is reached and the pool times out waiting for a new connection the WaitQueueTimeoutError MUST include a new detailed message, "Timeout waiting for connection from the connection pool. maxPoolSize: n, connections in use by cursors: n, connections in use by transactions: n, connections in use by other operations: n".

      https://github.com/mongodb/specifications/blob/master/source/load-balancers/load-balancers.rst#connection-tracking

            Assignee:
            shane.harvey@mongodb.com Shane Harvey
            Reporter:
            shane.harvey@mongodb.com Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: