Hi HC Dev, I'm investigating lock contention issues when using the PoolingHttpClientConnectionManager, similar to those described in https://issues.apache.org/jira/browse/HTTPCLIENT-1809.
I noticed in the older AbstractConnPool and the latest StrictConnPool is that when leasing a connection the connection request timeout is not used in the attempt to acquire the global lock. See: https://github.com/apache/httpcomponents-core/blob/master/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java#L175 It seems to me the time spent acquiring this lock does count against the total connection request time and therefore should be using the timeout value. It can be misleading to have a connection request take longer than your timeout value (due to lock contention) but not actually timeout. Catching this specific timeout would also create the opportunity for additional stats/signaling that you're dealing with contention on that lock. Thoughts? Thanks, Chris
