Skip to content

Commit

Permalink
updated changelog and javadoc
Browse files Browse the repository at this point in the history
  • Loading branch information
chernser committed Aug 17, 2024
1 parent 85b4cec commit 047c8ac
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
22 changes: 16 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,43 @@
- No more builds for non-lts Java versions - no more Java 9 release builds.
- Lowest supported Java version will be 11.
- Java 11 support will be ended before the end of 2023.
- It is recommended to use Java 21.
- It is recommended to use Java 21.

### Important Changes
- [Client-V1] Fix for handling DateTime without timezone when `session_timezone` is set. Now server timezone
is parsed from server response when present (https://github.com/ClickHouse/clickhouse-java/issues/1464)

### New Features
- [Client-V1/Apache HTTP] More configuration parameters for connection management. Useful for tuning performance.
(https://github.com/ClickHouse/clickhouse-java/pull/1771)
- com.clickhouse.client.config.ClickHouseClientOption#CONNECTION_TTL - to configure connection time-to-live
- com.clickhouse.client.http.config.ClickHouseHttpOption#KEEP_ALIVE_TIMEOUT - to configure keep-alive timeout
- com.clickhouse.client.http.config.ClickHouseHttpOption#CONNECTION_REUSE_STRATEGY - to configure how connection
are resued in the connection pool.
- com.clickhouse.client.http.config.ClickHouseHttpOption#CONNECTION_REUSE_STRATEGY - defines how connection pool behaves.
If `FIFO` is selected then connections are reused in the order they were created. It results in even distribution of connections.
If `LIFO` is selected then connections are reused as soon they are returned to the pool.
Note: only for `APACHE_HTTP_CLIENT` connection provider.
- Additionally switched to using LAX connection pool for Apache Connection Manager to improve performance
for concurrent requests.
- [Client-V2] Connection pool configuration https://github.com/ClickHouse/clickhouse-java/pull/1766
- com.clickhouse.client.api.Client.Builder.setConnectionRequestTimeout - to configure connection request timeout.
Important when there are no connections available in the pool to fail fast.
- com.clickhouse.client.api.Client.Builder.setMaxConnections - total max connections per route.
- com.clickhouse.client.api.Client.Builder.setMaxConnections - configures how soft limit of connections per host.
Note: Total number of connections is unlimited because in most cases there is one host.
- com.clickhouse.client.api.Client.Builder.setConnectionTTL - to limit connection live ignoring keep-alive from server.
- com.clickhouse.client.api.Client.Builder.setConnectionReuseStrategy - to configure how connections are used.
Select FIFO to reuse connections evenly or LIFO (default) to reuse the most recently active connections.
- [Client-V2] All operations are now executed in calling thread to avoid extra threads creation.
Async operations can be enabled by `com.clickhouse.client.api.Client.Builder.useAsyncRequests` (https://github.com/ClickHouse/clickhouse-java/pull/1767)
- [Client-V2] Spring Demo Service as usage example (https://github.com/ClickHouse/clickhouse-java/pull/1765)
- [Client-V2] More examples for using text based formats (https://github.com/ClickHouse/clickhouse-java/pull/1752)
- [Client-V2] Content and HTTP native compression is supported now Currently only LZ4 is available. (https://github.com/ClickHouse/clickhouse-java/pull/1761)
- [Client-V2] HTTPS support added. Required to communicate with ClickHouse Cloud Services.
Client certificates are supported, too. (https://github.com/ClickHouse/clickhouse-java/pull/1753)
- [Client-V2] Added support for HTTP proxy (https://github.com/ClickHouse/clickhouse-java/pull/1748)

### Documentation
- [Client-V2] Spring Demo Service as usage example (https://github.com/ClickHouse/clickhouse-java/pull/1765)
- [Client-V2] Examples for using text based formats (https://github.com/ClickHouse/clickhouse-java/pull/1752)


### Bug Fixes
- [Client-V2] Data is read fully from a stream. Important for Cloud instances (https://github.com/ClickHouse/clickhouse-java/pull/1759)
- [Client-V2] Timezone from a server response is now used to parse DateTime values (https://github.com/ClickHouse/clickhouse-java/pull/1763)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public enum ClickHouseHttpOption implements ClickHouseOption {
"The time in milliseconds after which the connection is validated after inactivity."),

/**
* Whether to retry on failure with AsyncHttpClient. Failure includes some 'critical' IO exceptions:
* Whether to retry on failure with Apache HTTP Client. Failure includes some 'critical' IO exceptions:
* <ul>
* <li>{@code org.apache.hc.core5.http.ConnectionClosedException}</li>
* <li>{@code org.apache.hc.core5.http.NoHttpResponseException}</li>
Expand All @@ -90,7 +90,7 @@ public enum ClickHouseHttpOption implements ClickHouseOption {
AHC_RETRY_ON_FAILURE("ahc_retry_on_failure", false, "Whether to retry on failure with AsyncHttpClient."),

/**
* Configuration for AsyncHttpClient connection pool. It defines how to reuse connections.
* Configuration for Apache HTTP Client connection pool. It defines how to reuse connections.
* If {@code "FIFO"} is set, the connections are reused in the order they were created.
* If {@code "LIFO"} is set, the connections are reused as soon they are available.
* Default value is {@code "LIFO"}.
Expand Down

0 comments on commit 047c8ac

Please sign in to comment.