Skip to content

Commit 7be4e6d

Browse files
committed
HTTPCLIENT-2388: fix builder default evictor sleepTime min 1 second
1 parent f176d92 commit 7be4e6d

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.LinkedList;
3838
import java.util.List;
3939
import java.util.concurrent.ThreadFactory;
40+
import java.util.concurrent.TimeUnit;
4041
import java.util.function.Function;
4142
import java.util.function.UnaryOperator;
4243

@@ -1094,8 +1095,10 @@ public CloseableHttpAsyncClient build() {
10941095
}
10951096
if (evictExpiredConnections || evictIdleConnections) {
10961097
if (connManagerCopy instanceof ConnPoolControl) {
1098+
TimeValue sleepTime = maxIdleTime.divide(10, TimeUnit.NANOSECONDS);
1099+
sleepTime = sleepTime.compareTo(TimeValue.ofSeconds(1L)) < 0 ? TimeValue.ofSeconds(1L) : sleepTime;
10971100
final IdleConnectionEvictor connectionEvictor = new IdleConnectionEvictor((ConnPoolControl<?>) connManagerCopy,
1098-
maxIdleTime, maxIdleTime);
1101+
sleepTime, maxIdleTime);
10991102
closeablesCopy.add(connectionEvictor::shutdown);
11001103
connectionEvictor.start();
11011104
}

httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.LinkedList;
3838
import java.util.List;
3939
import java.util.Map;
40+
import java.util.concurrent.TimeUnit;
4041
import java.util.function.Function;
4142
import java.util.function.UnaryOperator;
4243

@@ -1105,8 +1106,10 @@ public CloseableHttpClient build() {
11051106
}
11061107
if (evictExpiredConnections || evictIdleConnections) {
11071108
if (connManagerCopy instanceof ConnPoolControl) {
1109+
TimeValue sleepTime = maxIdleTime.divide(10, TimeUnit.NANOSECONDS);
1110+
sleepTime = sleepTime.compareTo(TimeValue.ofSeconds(1L)) < 0 ? TimeValue.ofSeconds(1L) : sleepTime;
11081111
final IdleConnectionEvictor connectionEvictor = new IdleConnectionEvictor((ConnPoolControl<?>) connManagerCopy,
1109-
maxIdleTime, maxIdleTime);
1112+
sleepTime, maxIdleTime);
11101113
closeablesCopy.add(() -> {
11111114
connectionEvictor.shutdown();
11121115
try {

0 commit comments

Comments
 (0)