From 955948307d6368e08d2e1372cb62c7fe31041aef Mon Sep 17 00:00:00 2001 From: Zhichun Wu Date: Mon, 1 Feb 2021 14:48:09 +0800 Subject: [PATCH 1/2] Set socket timeout in health check --- .../java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java b/src/main/java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java index 2a7698355..d5edba5ae 100644 --- a/src/main/java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java +++ b/src/main/java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java @@ -385,8 +385,10 @@ public boolean isValid(int timeout) throws SQLException { closeableHttpClient = this.httpclient; } else { ClickHouseProperties properties = new ClickHouseProperties(this.properties); - properties.setConnectionTimeout((int) TimeUnit.SECONDS.toMillis(timeout)); + int timeoutMs = (int) TimeUnit.SECONDS.toMillis(timeout); + properties.setConnectionTimeout(timeoutMs); properties.setMaxExecutionTime(timeout); + properties.setSocketTimeout(timeoutMs); closeableHttpClient = new ClickHouseHttpClientBuilder(properties).buildClient(); isAnotherHttpClient = true; } From 0b73e11ad7a82ad712780e48ab12f8f7c4e0e41b Mon Sep 17 00:00:00 2001 From: Zhichun Wu Date: Mon, 1 Feb 2021 14:49:38 +0800 Subject: [PATCH 2/2] Set timeout for getting http connection from pool --- .../ru/yandex/clickhouse/util/ClickHouseHttpClientBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/ru/yandex/clickhouse/util/ClickHouseHttpClientBuilder.java b/src/main/java/ru/yandex/clickhouse/util/ClickHouseHttpClientBuilder.java index 040cbaab6..34a3abec1 100644 --- a/src/main/java/ru/yandex/clickhouse/util/ClickHouseHttpClientBuilder.java +++ b/src/main/java/ru/yandex/clickhouse/util/ClickHouseHttpClientBuilder.java @@ -112,6 +112,7 @@ private RequestConfig getRequestConfig() { return RequestConfig.custom() .setSocketTimeout(properties.getSocketTimeout()) .setConnectTimeout(properties.getConnectionTimeout()) + .setConnectionRequestTimeout(properties.getConnectionTimeout()) .build(); }