-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.0.0
-
Component/s: Async, Connection Management
-
None
-
Environment:Windows 8
-
(copied to CRM)
Using async mongo driver I create replica set connection to mongo DB:
ClusterSettings:
ClusterType.REPLICA_SET
ClusterConnectionMode.MULTIPLE
ConnectionPoolSettings:
maxSize:1
minSize:1
maxWaitTime: 1 sec
maxWaitQueueSize: 100
SocketSettings:
connectTimeout: 100 sec
readTimeout: 50 millis
Issue:
When last connection from pool gets "com.mongodb.MongoSocketReadTimeoutException Timeout while receiving message" no futher connections will be created and all requests will be rejected with "com.mongodb.MongoTimeoutException Timeout waiting for a pooled item after"
The main idea in my case, to setup read very small read time out and do not wait server response in case it is slow for the moment. But when last connection (only one for test case) gets TimeOut, ConcurrentPool doesn't release semaphore permit.
Check attached logs