...

Text file src/go.mongodb.org/mongo-driver/testdata/connection-monitoring-and-pooling/wait-queue-timeout.yml

Documentation: go.mongodb.org/mongo-driver/testdata/connection-monitoring-and-pooling

     1version: 1
     2style: unit
     3description: must aggressively timeout threads enqueued longer than waitQueueTimeoutMS
     4poolOptions:
     5  maxPoolSize: 1
     6  waitQueueTimeoutMS: 50
     7operations:
     8  - name: ready
     9  # Check out only possible connection
    10  - name: checkOut
    11    label: conn0
    12  # Start a thread, have it enter the wait queue
    13  - name: start
    14    target: thread1
    15  - name: checkOut
    16    thread: thread1
    17  # Wait for other thread to time out, then check in connection
    18  - name: waitForEvent
    19    event: ConnectionCheckOutFailed
    20    count: 1
    21  - name: checkIn
    22    connection: conn0
    23  # Rejoin thread1, should experience error
    24  - name: waitForThread
    25    target: thread1
    26error:
    27  type: WaitQueueTimeoutError
    28  message: Timed out while checking out a connection from connection pool
    29events:
    30  - type: ConnectionCheckOutStarted
    31    address: 42
    32  - type: ConnectionCheckedOut
    33    connectionId: 42
    34    address: 42
    35  - type: ConnectionCheckOutStarted
    36    address: 42
    37  - type: ConnectionCheckOutFailed
    38    reason: timeout
    39    address: 42
    40  - type: ConnectionCheckedIn
    41    connectionId: 42
    42    address: 42
    43ignore:
    44  - ConnectionCreated
    45  - ConnectionReady
    46  - ConnectionClosed
    47  - ConnectionPoolCreated
    48  - ConnectionPoolReady

View as plain text