-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
While establishing a new connection as part of the check out process (i.e. when the pool is empty), the lock on the ConnectionManager is held. This prevents other tasks / threads from creating connections concurrently, which is a performance bottleneck and forbidden by CMAP:
A Connection MUST NOT be checked out until it is readyToUse. In addition, the Pool MUST NOT block other threads from checking out connections while waiting for a connection to be readyToUse.
We should release this lock while establishing connections to allow for more throughput and to become compliant with the spec.
- is related to
-
RUST-553 Ensure ConnectionCreatedEvents are emitted before ConnectionReadyEvents
- Closed