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

Better wait queue timeout errors for load balanced clusters

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Unknown
    • Resolution: Fixed
    • None
    • 3.12, 4.0
    • None
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: