mongo-python-driver/test/cmap/wait-queue-timeout.json
Shane Harvey 86b40c195d
PYTHON-2462 Avoid connection storms: implement pool PAUSED state (#531)
Mark server unknown and clear the pool when background connections fail.
Eagerly evict threads from the wait queue when pool is paused. Evicted
threads will raise the following error:
AutoReconnect('localhost:27017: connection pool paused')
Introduce PoolClearedEvent and ConnectionPoolListener.pool_ready.

CMAP spec test changes:
- CMAP unit tests should not use real monitors
- Assert that CMAP threads complete all scheduled operations
2021-01-06 15:15:37 -08:00

76 lines
1.4 KiB
JSON

{
"version": 1,
"style": "unit",
"description": "must aggressively timeout threads enqueued longer than waitQueueTimeoutMS",
"poolOptions": {
"maxPoolSize": 1,
"waitQueueTimeoutMS": 20
},
"operations": [
{
"name": "ready"
},
{
"name": "checkOut",
"label": "conn0"
},
{
"name": "start",
"target": "thread1"
},
{
"name": "checkOut",
"thread": "thread1"
},
{
"name": "waitForEvent",
"event": "ConnectionCheckOutFailed",
"count": 1
},
{
"name": "checkIn",
"connection": "conn0"
},
{
"name": "waitForThread",
"target": "thread1"
}
],
"error": {
"type": "WaitQueueTimeoutError",
"message": "Timed out while checking out a connection from connection pool"
},
"events": [
{
"type": "ConnectionCheckOutStarted",
"address": 42
},
{
"type": "ConnectionCheckedOut",
"connectionId": 42,
"address": 42
},
{
"type": "ConnectionCheckOutStarted",
"address": 42
},
{
"type": "ConnectionCheckOutFailed",
"reason": "timeout",
"address": 42
},
{
"type": "ConnectionCheckedIn",
"connectionId": 42,
"address": 42
}
],
"ignore": [
"ConnectionCreated",
"ConnectionReady",
"ConnectionClosed",
"ConnectionPoolCreated",
"ConnectionPoolReady"
]
}