From c17eaa9332f5ed098eb5262ff15a553b1688f1f0 Mon Sep 17 00:00:00 2001 From: Oleg Kalnichevski Date: Mon, 15 Sep 2025 19:15:07 +0200 Subject: [PATCH] Bug fix: Use 1 second timeout when closing out connections inside a connection pool lock --- .../http/impl/io/PoolingHttpClientConnectionManager.java | 2 ++ .../http/impl/nio/PoolingAsyncClientConnectionManager.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/PoolingHttpClientConnectionManager.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/PoolingHttpClientConnectionManager.java index 6d8ccea485..c16eddce0c 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/PoolingHttpClientConnectionManager.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/PoolingHttpClientConnectionManager.java @@ -70,6 +70,7 @@ import org.apache.hc.core5.http.protocol.HttpContext; import org.apache.hc.core5.io.CloseMode; import org.apache.hc.core5.pool.ConnPoolControl; +import org.apache.hc.core5.pool.DefaultDisposalCallback; import org.apache.hc.core5.pool.LaxConnPool; import org.apache.hc.core5.pool.ManagedConnPool; import org.apache.hc.core5.pool.PoolConcurrencyPolicy; @@ -223,6 +224,7 @@ public PoolingHttpClientConnectionManager( DEFAULT_MAX_TOTAL_CONNECTIONS, timeToLive, poolReusePolicy, + new DefaultDisposalCallback<>(), null) { @Override diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManager.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManager.java index 512276181d..90d3df916c 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManager.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/nio/PoolingAsyncClientConnectionManager.java @@ -77,6 +77,7 @@ import org.apache.hc.core5.http2.ssl.ApplicationProtocol; import org.apache.hc.core5.io.CloseMode; import org.apache.hc.core5.pool.ConnPoolControl; +import org.apache.hc.core5.pool.DefaultDisposalCallback; import org.apache.hc.core5.pool.LaxConnPool; import org.apache.hc.core5.pool.ManagedConnPool; import org.apache.hc.core5.pool.PoolConcurrencyPolicy; @@ -181,6 +182,7 @@ public PoolingAsyncClientConnectionManager( DEFAULT_MAX_TOTAL_CONNECTIONS, timeToLive, poolReusePolicy, + new DefaultDisposalCallback<>(), null) { @Override