-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Context
Refactor the connection pool's connection creation logic from a dedicated background goroutine loop into the semaphore-guarded spawning model outlined in PR #2098. This new design introduces aa connectionSem channel that enforces the maxConnecting limit by bounding the number of concurrent dial attempts. Instead of running long-lived workers, connection establishment is triggered opportunistically when new checkout requests are enqueued.
Note that this solution might improve GC under heavy load, as noted in GODRIVER-3419.
Definition of done
Re-open PR #2098 for review, update as needed.
Pitfalls
NA
- related to
-
GODRIVER-3419 Setting maxConnecting=500 causes 70% CPU time in garbage collection
-
- Closed
-