Connection Leak
A defect pattern in which a task acquires a connection or permit but fails to release it as required, permanently reducing pool capacity. It is insidious and cumulative, and can ultimately cause connection pool starvation and cascading timeouts.
Timeline (last 90 days)
If a task exits abnormally while holding a connection and fails to release the slot, it causes a connection leak, and the pool capacity is permanently reduced.
The original experiments show that a 5%–10% release omission rate is sufficient, under moderate traffic, to let pool capacity gradually drop to zero.
Even with finally protection, as long as there is a path that bypasses release (such as an exception raised inside release or improper timing of asynchronous cancellation), a connection leak will occur.
Every connection checkout must have a paired release path; a single leaked slot is a time bomb in a long-running service.
All Facts (4)
If a task exits abnormally while holding a connection and fails to release the slot, it causes a connection leak, and the pool capacity is permanently reduced.
50%UnverifiedThe original experiments show that a 5%–10% release omission rate is sufficient, under moderate traffic, to let pool capacity gradually drop to zero.
50%UnverifiedEven with finally protection, as long as there is a path that bypasses release (such as an exception raised inside release or improper timing of asynchronous cancellation), a connection leak will occur.
50%UnverifiedEvery connection checkout must have a paired release path; a single leaked slot is a time bomb in a long-running service.
50%