Skip to content

Commit adab923

Browse files
committed
removed dependency on clickhouse-http-client
1 parent 1baf186 commit adab923

File tree

15 files changed

+842
-198
lines changed

15 files changed

+842
-198
lines changed

client-v2/pom.xml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@
2626
<artifactId>clickhouse-client</artifactId>
2727
<version>${revision}</version>
2828
</dependency>
29-
<dependency>
30-
<groupId>${project.parent.groupId}</groupId>
31-
<artifactId>clickhouse-http-client</artifactId>
32-
<version>${revision}</version>
33-
</dependency>
29+
3430
<dependency>
3531
<groupId>org.slf4j</groupId>
3632
<artifactId>slf4j-api</artifactId>
@@ -68,6 +64,12 @@
6864
</dependency>
6965

7066
<!-- Test Dependencies -->
67+
<dependency>
68+
<groupId>${project.parent.groupId}</groupId>
69+
<artifactId>clickhouse-http-client</artifactId>
70+
<version>${revision}</version>
71+
<scope>test</scope>
72+
</dependency>
7173
<dependency>
7274
<groupId>com.google.code.gson</groupId>
7375
<artifactId>gson</artifactId>

client-v2/src/main/java/com/clickhouse/client/api/Client.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.clickhouse.client.api.data_formats.internal.SerializerUtils;
1919
import com.clickhouse.client.api.enums.Protocol;
2020
import com.clickhouse.client.api.enums.ProxyType;
21+
import com.clickhouse.client.api.http.ClickHouseHttpProto;
2122
import com.clickhouse.client.api.insert.DataSerializationException;
2223
import com.clickhouse.client.api.insert.InsertResponse;
2324
import com.clickhouse.client.api.insert.InsertSettings;
@@ -42,8 +43,6 @@
4243
import com.clickhouse.client.api.query.Records;
4344
import com.clickhouse.client.config.ClickHouseClientOption;
4445
import com.clickhouse.client.config.ClickHouseDefaults;
45-
import com.clickhouse.client.http.ClickHouseHttpProto;
46-
import com.clickhouse.client.http.config.ClickHouseHttpOption;
4746
import com.clickhouse.data.ClickHouseColumn;
4847
import com.clickhouse.data.ClickHouseDataType;
4948
import com.clickhouse.data.ClickHouseFormat;
@@ -389,7 +388,7 @@ public Builder setConnectionRequestTimeout(long timeout, ChronoUnit unit) {
389388
* @param maxConnections - maximum number of connections
390389
*/
391390
public Builder setMaxConnections(int maxConnections) {
392-
this.configuration.put(ClickHouseHttpOption.MAX_OPEN_CONNECTIONS.getKey(), String.valueOf(maxConnections));
391+
this.configuration.put(ClientSettings.HTTP_MAX_OPEN_CONNECTIONS, String.valueOf(maxConnections));
393392
return this;
394393
}
395394

@@ -416,7 +415,7 @@ public Builder setConnectionTTL(long timeout, ChronoUnit unit) {
416415
* @return
417416
*/
418417
public Builder setKeepAliveTimeout(long timeout, ChronoUnit unit) {
419-
this.configuration.put(ClickHouseHttpOption.KEEP_ALIVE_TIMEOUT.getKey(), String.valueOf(Duration.of(timeout, unit).toMillis()));
418+
this.configuration.put(ClientSettings.HTTP_KEEP_ALIVE_TIMEOUT, String.valueOf(Duration.of(timeout, unit).toMillis()));
420419
return this;
421420
}
422421

@@ -980,7 +979,7 @@ private void setDefaults() {
980979
useAsyncRequests(false);
981980
}
982981

983-
if (!configuration.containsKey(ClickHouseHttpOption.MAX_OPEN_CONNECTIONS.getKey())) {
982+
if (!configuration.containsKey(ClientSettings.HTTP_MAX_OPEN_CONNECTIONS)) {
984983
setMaxConnections(10);
985984
}
986985

client-v2/src/main/java/com/clickhouse/client/api/ClientSettings.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,14 @@ public static List<String> valuesFromCommaSeparated(String value) {
5151
* Server will return a JSON object as a string.
5252
*/
5353
public static final String OUTPUT_FORMAT_BINARY_WRITE_JSON_AS_STRING = "output_format_binary_write_json_as_string";
54+
55+
/**
56+
* Maximum number of active connection in internal connection pool.
57+
*/
58+
public static final String HTTP_MAX_OPEN_CONNECTIONS = "max_open_connections";
59+
60+
/**
61+
* HTTP keep-alive timeout override.
62+
*/
63+
public static final String HTTP_KEEP_ALIVE_TIMEOUT = "http_keep_alive_timeout";
5464
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.clickhouse.client.api.http;
2+
3+
public class ClickHouseHttpProto {
4+
5+
6+
public static final String HEADER_SRV_DISPLAY_NAME = "X-ClickHouse-Server-Display-Name";
7+
8+
/**
9+
* Response only header to indicate a query id
10+
* Cannot be used in request.
11+
*/
12+
public static final String HEADER_QUERY_ID = "X-ClickHouse-Query-Id";
13+
14+
public static final String HEADER_SRV_SUMMARY = "X-ClickHouse-Summary";
15+
16+
/**
17+
* Response only header to indicate the format of the data.
18+
* Cannot be used in request.
19+
*/
20+
public static final String HEADER_FORMAT = "X-ClickHouse-Format";
21+
22+
public static final String HEADER_TIMEZONE = "X-ClickHouse-Timezone";
23+
24+
/**
25+
* Response only header to indicate the error code.
26+
* Cannot be used in request.
27+
*/
28+
public static final String HEADER_EXCEPTION_CODE = "X-ClickHouse-Exception-Code";
29+
30+
/**
31+
* Response only header to indicate a query progress.
32+
* Cannot be used in request.
33+
*/
34+
public static final String HEADER_PROGRESS = "X-ClickHouse-Progress";
35+
36+
37+
/**
38+
* Name of default database to be used if not specified in a table name.
39+
*/
40+
public static final String HEADER_DATABASE = "X-ClickHouse-Database";
41+
42+
/**
43+
* Name of user to be used to authenticate
44+
*/
45+
public static final String HEADER_DB_USER = "X-ClickHouse-User";
46+
47+
/**
48+
* Password of user to be used to authenticate. Note: header value should be unencoded, so using
49+
* special characters might cause issues. It is recommended to use the Basic Authentication instead.
50+
*/
51+
public static final String HEADER_DB_PASSWORD = "X-ClickHouse-Key";
52+
53+
public static final String HEADER_SSL_CERT_AUTH = "x-clickhouse-ssl-certificate-auth";
54+
55+
/**
56+
* Query parameter to specify the query ID.
57+
*/
58+
public static final String QPARAM_QUERY_ID = "query_id";
59+
60+
public static final String QPARAM_ROLE = "role";
61+
}

client-v2/src/main/java/com/clickhouse/client/api/internal/HttpAPIClientHelper.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212
import com.clickhouse.client.api.ServerException;
1313
import com.clickhouse.client.api.data_formats.internal.SerializerUtils;
1414
import com.clickhouse.client.api.enums.ProxyType;
15+
import com.clickhouse.client.api.http.ClickHouseHttpProto;
1516
import com.clickhouse.client.config.ClickHouseClientOption;
1617
import com.clickhouse.client.config.ClickHouseDefaults;
17-
import com.clickhouse.client.http.ClickHouseHttpProto;
18-
import com.clickhouse.client.http.config.ClickHouseHttpOption;
1918
import org.apache.hc.client5.http.ConnectTimeoutException;
2019
import org.apache.hc.client5.http.classic.methods.HttpPost;
2120
import org.apache.hc.client5.http.config.ConnectionConfig;
@@ -198,7 +197,7 @@ private HttpClientConnectionManager poolConnectionManager(SSLContext sslContext,
198197

199198
connMgrBuilder.setDefaultConnectionConfig(createConnectionConfig());
200199
connMgrBuilder.setMaxConnTotal(Integer.MAX_VALUE); // as we do not know how many routes we will have
201-
MapUtils.applyInt(chConfiguration, ClickHouseHttpOption.MAX_OPEN_CONNECTIONS.getKey(),
200+
MapUtils.applyInt(chConfiguration, ClientSettings.HTTP_MAX_OPEN_CONNECTIONS,
202201
connMgrBuilder::setMaxConnPerRoute);
203202

204203

@@ -266,7 +265,7 @@ public CloseableHttpClient createHttpClient() {
266265
} else {
267266
clientBuilder.setConnectionManager(basicConnectionManager(sslContext, socketConfig));
268267
}
269-
long keepAliveTimeout = MapUtils.getLong(chConfiguration, ClickHouseHttpOption.KEEP_ALIVE_TIMEOUT.getKey());
268+
long keepAliveTimeout = MapUtils.getLong(chConfiguration, ClientSettings.HTTP_KEEP_ALIVE_TIMEOUT);
270269
if (keepAliveTimeout > 0) {
271270
clientBuilder.setKeepAliveStrategy((response, context) -> TimeValue.ofMilliseconds(keepAliveTimeout));
272271
}
@@ -468,10 +467,6 @@ private void addQueryParams(URIBuilder req, Map<String, String> chConfig, Map<St
468467
}
469468
}
470469

471-
if (requestConfig.containsKey(ClickHouseHttpOption.WAIT_END_OF_QUERY.getKey())) {
472-
req.addParameter(ClickHouseHttpOption.WAIT_END_OF_QUERY.getKey(),
473-
requestConfig.get(ClickHouseHttpOption.WAIT_END_OF_QUERY.getKey()).toString());
474-
}
475470
if (requestConfig.containsKey(ClickHouseClientOption.QUERY_ID.getKey())) {
476471
req.addParameter(ClickHouseHttpProto.QPARAM_QUERY_ID, requestConfig.get(ClickHouseClientOption.QUERY_ID.getKey()).toString());
477472
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.clickhouse.client.api.internal;
2+
3+
4+
/**
5+
* Incomplete list of server side settings.
6+
* This class is not intended to list all possible settings, but only those that are commonly used.
7+
*
8+
*/
9+
public final class ServerSettings {
10+
11+
public static final String WAIT_END_OF_QUERY = "wait_end_of_query";
12+
}

0 commit comments

Comments
 (0)