Skip to content

Commit 99db042

Browse files
committed
Complete configuration mapping table
1 parent 3c598ef commit 99db042

File tree

6 files changed

+160
-18
lines changed

6 files changed

+160
-18
lines changed

docs/about-us/beta-and-experimental-features.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,8 @@ Please note: no additional experimental features are allowed to be enabled in Cl
128128
| [allow_experimental_join_right_table_sorting](/operations/settings/settings#allow_experimental_join_right_table_sorting) | `0` |
129129
| [allow_statistics_optimize](/operations/settings/settings#allow_statistics_optimize) | `0` |
130130
| [allow_experimental_statistics](/operations/settings/settings#allow_experimental_statistics) | `0` |
131+
| [use_statistics_cache](/operations/settings/settings#use_statistics_cache) | `0` |
131132
| [allow_experimental_full_text_index](/operations/settings/settings#allow_experimental_full_text_index) | `0` |
132-
| [allow_experimental_live_view](/operations/settings/settings#allow_experimental_live_view) | `0` |
133-
| [live_view_heartbeat_interval](/operations/settings/settings#live_view_heartbeat_interval) | `15` |
134-
| [max_live_view_insert_blocks_before_refresh](/operations/settings/settings#max_live_view_insert_blocks_before_refresh) | `64` |
135133
| [allow_experimental_window_view](/operations/settings/settings#allow_experimental_window_view) | `0` |
136134
| [window_view_clean_interval](/operations/settings/settings#window_view_clean_interval) | `60` |
137135
| [window_view_heartbeat_interval](/operations/settings/settings#window_view_heartbeat_interval) | `15` |
@@ -159,6 +157,7 @@ Please note: no additional experimental features are allowed to be enabled in Cl
159157
| [allow_experimental_ytsaurus_dictionary_source](/operations/settings/settings#allow_experimental_ytsaurus_dictionary_source) | `0` |
160158
| [distributed_plan_force_shuffle_aggregation](/operations/settings/settings#distributed_plan_force_shuffle_aggregation) | `0` |
161159
| [enable_join_runtime_filters](/operations/settings/settings#enable_join_runtime_filters) | `0` |
160+
| [join_runtime_filter_exact_values_limit](/operations/settings/settings#join_runtime_filter_exact_values_limit) | `10000` |
162161
| [join_runtime_bloom_filter_bytes](/operations/settings/settings#join_runtime_bloom_filter_bytes) | `524288` |
163162
| [join_runtime_bloom_filter_hash_functions](/operations/settings/settings#join_runtime_bloom_filter_hash_functions) | `3` |
164163
| [rewrite_in_to_join](/operations/settings/settings#rewrite_in_to_join) | `0` |

docs/integrations/language-clients/java/client/_snippets/_v0_8.mdx

Lines changed: 148 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The library provides its own API to send requests to a server. The library also
2323
<dependency>
2424
<groupId>com.clickhouse</groupId>
2525
<artifactId>client-v2</artifactId>
26-
<version>0.9.3</version>
26+
<version>0.9.4</version>
2727
</dependency>
2828
```
2929

@@ -32,14 +32,14 @@ The library provides its own API to send requests to a server. The library also
3232

3333
```kotlin
3434
// https://mvnrepository.com/artifact/com.clickhouse/client-v2
35-
implementation("com.clickhouse:client-v2:0.9.3")
35+
implementation("com.clickhouse:client-v2:0.9.4")
3636
```
3737
</TabItem>
3838
<TabItem value="gradle" label="Gradle">
3939

4040
```groovy
4141
// https://mvnrepository.com/artifact/com.clickhouse/client-v2
42-
implementation 'com.clickhouse:client-v2:0.9.3'
42+
implementation 'com.clickhouse:client-v2:0.9.4'
4343
```
4444

4545
</TabItem>
@@ -664,3 +664,148 @@ Complete examples code is stored in the repo in a 'example` [folder](https://git
664664
- [client-v2](https://github.com/ClickHouse/clickhouse-java/tree/main/examples/client-v2) - main set of examples.
665665
- [demo-service](https://github.com/ClickHouse/clickhouse-java/tree/main/examples/demo-service) - example of how to use the client in a Spring Boot application.
666666
- [demo-kotlin-service](https://github.com/ClickHouse/clickhouse-java/tree/main/examples/demo-kotlin-service) - example of how to use the client in Ktor (Kotlin) application.
667+
668+
## Migration From V1 ( =< 0.7.x ) {#migration_from_v1}
669+
670+
671+
Old client (V1) was using `com.clickhouse.client.ClickHouseClient#builder` as start point. The new client (V2) uses similar pattern with `com.clickhouse.client.api.Client.Builder`. Main
672+
differences are:
673+
- no service loader is used to grab implementation. The `com.clickhouse.client.api.Client` is facade class for all kinds of implementation in the future.
674+
- a fewer sources of configuration: one is provided to the builder and one is with operation settings (`QuerySettings`, `InsertSettings`). Previous version had configuration per node and was loading
675+
env. variables in some cases.
676+
677+
### Configuration Parameters Match {#migration_from_v1_config}
678+
679+
There are 3 enum classes related to configuration in V1:
680+
- `com.clickhouse.client.config.ClickHouseDefaults` - configuration parameters that supposed to be set in most use cases. Like `USER` and `PASSWORD`.
681+
- `com.clickhouse.client.config.ClickHouseClientOption` - configuration parameters specific for the client. Like `HEALTH_CHECK_INTERVAL`.
682+
- `com.clickhouse.client.http.config.ClickHouseHttpOption` - configuration parameters specific for HTTP interface. Like `RECEIVE_QUERY_PROGRESS`.
683+
684+
They were designed to group parameters and provide clear separation. However in some cases it lead to a confusion (is there a difference between `com.clickhouse.client.config.ClickHouseDefaults#ASYNC` and
685+
`com.clickhouse.client.config.ClickHouseClientOption#ASYNC`). The new V2 client uses `com.clickhouse.client.api.Client.Builder` as single dictionary of all possible client configuration options.There is
686+
`com.clickhouse.client.api.ClientConfigProperties` where all configuration parameter names are listed.
687+
688+
Table below shows what old options are supported in the new client and there new meaning.
689+
✔ - supported
690+
✗ - dropped
691+
| V1 Configuration | Matching V2 Builder Method | Comments |
692+
|------------------|----------------------------|-------------------|
693+
| `com.clickhouse.client.config.ClickHouseDefaults#ASYNC`, `com.clickhouse.client.config.ClickHouseClientOption#ASYNC` | `com.clickhouse.client.api.Client.Builder#useAsyncRequests` | |
694+
| `com.clickhouse.client.config.ClickHouseDefaults#AUTO_SESSION` || Session support will be reviewed |
695+
| `com.clickhouse.client.config.ClickHouseDefaults#BUFFERING` || |
696+
| `com.clickhouse.client.config.ClickHouseDefaults#HOST` | `com.clickhouse.client.api.Client.Builder#addEndpoint` | |
697+
| `com.clickhouse.client.config.ClickHouseDefaults#PROTOCOL` || Only HTTP supported in V2. |
698+
| `com.clickhouse.client.config.ClickHouseDefaults#DATABASE` | `com.clickhouse.client.api.Client.Builder#setDefaultDatabase` | |
699+
| `com.clickhouse.client.config.ClickHouseDefaults#USER` | `com.clickhouse.client.api.Client.Builder#setUsername` | |
700+
| `com.clickhouse.client.config.ClickHouseDefaults#PASSWORD` | `com.clickhouse.client.api.Client.Builder#setPassword` | |
701+
| `com.clickhouse.client.config.ClickHouseDefaults#FORMAT`, `com.clickhouse.client.config.ClickHouseClientOption#FORMAT` || Moved to operation settings (`QuerySettings` and `InsertSettings`) |
702+
| `com.clickhouse.client.config.ClickHouseDefaults#MAX_SCHEDULER_THREADS` || see `com.clickhouse.client.api.Client.Builder#setSharedOperationExecutor` |
703+
| `com.clickhouse.client.config.ClickHouseDefaults#MAX_THREADS` || see `com.clickhouse.client.api.Client.Builder#setSharedOperationExecutor` |
704+
| `com.clickhouse.client.config.ClickHouseDefaults#MAX_REQUESTS` || |
705+
| `com.clickhouse.client.config.ClickHouseDefaults#ROUNDING_MODE` | | |
706+
| `com.clickhouse.client.config.ClickHouseDefaults#THREAD_KEEPALIVE_TIMEOUT` | see `com.clickhouse.client.api.Client.Builder#setSharedOperationExecutor` | |
707+
| `com.clickhouse.client.config.ClickHouseDefaults#SERVER_TIME_ZONE` | `com.clickhouse.client.api.Client.Builder#setServerTimeZone` | |
708+
| `com.clickhouse.client.config.ClickHouseDefaults#SERVER_VERSION`, `com.clickhouse.client.config.ClickHouseClientOption#SERVER_VERSION` | `com.clickhouse.client.api.Client.Builder#setServerVersion` | |
709+
| `com.clickhouse.client.config.ClickHouseDefaults#SSL_CERTIFICATE_TYPE` || |
710+
| `com.clickhouse.client.config.ClickHouseDefaults#SSL_KEY_ALGORITHM` || |
711+
| `com.clickhouse.client.config.ClickHouseDefaults#SSL_PROTOCOL` || |
712+
| `com.clickhouse.client.config.ClickHouseDefaults#SRV_RESOLVE` || |
713+
| `com.clickhouse.client.config.ClickHouseClientOption#AUTO_DISCOVERY` || |
714+
| `com.clickhouse.client.config.ClickHouseClientOption#CUSTOM_SETTINGS` | | |
715+
| `com.clickhouse.client.config.ClickHouseClientOption#CUSTOM_SOCKET_FACTORY` || |
716+
| `com.clickhouse.client.config.ClickHouseClientOption#CUSTOM_SOCKET_FACTORY_OPTIONS` || See `com.clickhouse.client.api.Client.Builder#sslSocketSNI` to set SNI |
717+
| `com.clickhouse.client.config.ClickHouseClientOption#LOAD_BALANCING_POLICY` || |
718+
| `com.clickhouse.client.config.ClickHouseClientOption#LOAD_BALANCING_TAGS` || |
719+
| `com.clickhouse.client.config.ClickHouseClientOption#HEALTH_CHECK_INTERVAL` || |
720+
| `com.clickhouse.client.config.ClickHouseClientOption#HEALTH_CHECK_METHOD` || |
721+
| `com.clickhouse.client.config.ClickHouseClientOption#NODE_DISCOVERY_INTERVAL` || |
722+
| `com.clickhouse.client.config.ClickHouseClientOption#NODE_DISCOVERY_LIMIT` || |
723+
| `com.clickhouse.client.config.ClickHouseClientOption#NODE_CHECK_INTERVAL` || |
724+
| `com.clickhouse.client.config.ClickHouseClientOption#NODE_GROUP_SIZE` || |
725+
| `com.clickhouse.client.config.ClickHouseClientOption#CHECK_ALL_NODES` || |
726+
| `com.clickhouse.client.config.ClickHouseClientOption#BUFFER_SIZE` | `com.clickhouse.client.api.Client.Builder#setClientNetworkBufferSize` | |
727+
| `com.clickhouse.client.config.ClickHouseClientOption#BUFFER_QUEUE_VARIATION` || |
728+
| `com.clickhouse.client.config.ClickHouseClientOption#READ_BUFFER_SIZE` || |
729+
| `com.clickhouse.client.config.ClickHouseClientOption#WRITE_BUFFER_SIZE` || |
730+
| `com.clickhouse.client.config.ClickHouseClientOption#REQUEST_CHUNK_SIZE` || |
731+
| `com.clickhouse.client.config.ClickHouseClientOption#REQUEST_BUFFERING` || |
732+
| `com.clickhouse.client.config.ClickHouseClientOption#RESPONSE_BUFFERING` || |
733+
| `com.clickhouse.client.config.ClickHouseClientOption#CLIENT_NAME` | `com.clickhouse.client.api.Client.Builder#setClientName` | |
734+
| `com.clickhouse.client.config.ClickHouseClientOption#COMPRESS` | `com.clickhouse.client.api.Client.Builder#compressServerResponse` | See also `com.clickhouse.client.api.Client.Builder#useHttpCompression` |
735+
| `com.clickhouse.client.config.ClickHouseClientOption#DECOMPRESS` | `com.clickhouse.client.api.Client.Builder#compressClientRequest` | See also `com.clickhouse.client.api.Client.Builder#useHttpCompression` |
736+
| `com.clickhouse.client.config.ClickHouseClientOption#COMPRESS_ALGORITHM` || `LZ4` for non-http compression. Http compression is defined by `Accept-Encoding` header. |
737+
| `com.clickhouse.client.config.ClickHouseClientOption#DECOMPRESS_ALGORITHM` || `LZ4` for non-http compression. Http compression is defined by `Content-Encoding` header. |
738+
| `com.clickhouse.client.config.ClickHouseClientOption#COMPRESS_LEVEL` || |
739+
| `com.clickhouse.client.config.ClickHouseClientOption#DECOMPRESS_LEVEL` || |
740+
| `com.clickhouse.client.config.ClickHouseClientOption#CONNECTION_TIMEOUT` |`com.clickhouse.client.api.Client.Builder#setConnectTimeout` | |
741+
| `com.clickhouse.client.config.ClickHouseClientOption#DATABASE` | `com.clickhouse.client.api.Client.Builder#setDefaultDatabase` | |
742+
| `com.clickhouse.client.config.ClickHouseClientOption#FAILOVER` || |
743+
| `com.clickhouse.client.config.ClickHouseClientOption#LOG_LEADING_COMMENT` || See `com.clickhouse.client.api.query.QuerySettings#logComment` and `com.clickhouse.client.api.insert.InsertSettings#logComment` |
744+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_BUFFER_SIZE` || |
745+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_MAPPER_CACHE` || |
746+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_EXECUTION_TIME` | `com.clickhouse.client.api.Client.Builder#setExecutionTimeout` | |
747+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_QUEUED_BUFFERS` || |
748+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_QUEUED_REQUESTS` || |
749+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_RESULT_ROWS` || Is server side setting. |
750+
| `com.clickhouse.client.config.ClickHouseClientOption#RESULT_OVERFLOW_MODE` || Is server side setting. |
751+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_THREADS_PER_CLIENT` || |
752+
| `com.clickhouse.client.config.ClickHouseClientOption#MAX_CORE_THREAD_TTL` || |
753+
| `com.clickhouse.client.config.ClickHouseClientOption#PRODUCT_NAME` || Use client name |
754+
| `com.clickhouse.client.config.ClickHouseClientOption#RENAME_RESPONSE_COLUMN` || |
755+
| `com.clickhouse.client.config.ClickHouseClientOption#RETRY` | `com.clickhouse.client.api.Client.Builder#setMaxRetries` | See also `com.clickhouse.client.api.Client.Builder#retryOnFailures` |
756+
| `com.clickhouse.client.config.ClickHouseClientOption#REPEAT_ON_SESSION_LOCK` || |
757+
| `com.clickhouse.client.config.ClickHouseClientOption#REUSE_VALUE_WRAPPER` || |
758+
| `com.clickhouse.client.config.ClickHouseClientOption#SERVER_REVISION` || |
759+
| `com.clickhouse.client.config.ClickHouseClientOption#SERVER_TIME_ZONE` | `com.clickhouse.client.api.Client.Builder#setServerTimeZone` | |
760+
| `com.clickhouse.client.config.ClickHouseClientOption#SESSION_ID` || |
761+
| `com.clickhouse.client.config.ClickHouseClientOption#SESSION_CHECK` || |
762+
| `com.clickhouse.client.config.ClickHouseClientOption#SESSION_TIMEOUT` || |
763+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_TIMEOUT` | `com.clickhouse.client.api.Client.Builder#setSocketTimeout(long)` | |
764+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_REUSEADDR` | `com.clickhouse.client.api.Client.Builder#setSocketReuseAddress` | |
765+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_KEEPALIVE` | `com.clickhouse.client.api.Client.Builder#setSocketKeepAlive` | |
766+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_LINGER` | `com.clickhouse.client.api.Client.Builder#setSocketLinger` | |
767+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_IP_TOS` || |
768+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_TCP_NODELAY` | `com.clickhouse.client.api.Client.Builder#setSocketTcpNodelay` | |
769+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_RCVBUF` | `com.clickhouse.client.api.Client.Builder#setSocketRcvbuf` | |
770+
| `com.clickhouse.client.config.ClickHouseClientOption#SOCKET_SNDBUF` | `com.clickhouse.client.api.Client.Builder#setSocketSndbuf` | |
771+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL` || See `com.clickhouse.client.api.Client.Builder#addEndpoint` |
772+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL_MODE` || |
773+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL_ROOT_CERTIFICATE` | `com.clickhouse.client.api.Client.Builder#setRootCertificate` | SSL Auth should be enabled by `com.clickhouse.client.api.Client.Builder#useSSLAuthentication` |
774+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL_CERTIFICATE` | `com.clickhouse.client.api.Client.Builder#setClientCertificate` | |
775+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL_KEY` | `com.clickhouse.client.api.Client.Builder#setClientKey` | |
776+
| `com.clickhouse.client.config.ClickHouseClientOption#KEY_STORE_TYPE` | `com.clickhouse.client.api.Client.Builder#setSSLTrustStoreType` | |
777+
| `com.clickhouse.client.config.ClickHouseClientOption#TRUST_STORE` | `com.clickhouse.client.api.Client.Builder#setSSLTrustStore` | |
778+
| `com.clickhouse.client.config.ClickHouseClientOption#KEY_STORE_PASSWORD` | `com.clickhouse.client.api.Client.Builder#setSSLTrustStorePassword` | |
779+
| `com.clickhouse.client.config.ClickHouseClientOption#TRANSACTION_TIMEOUT` || |
780+
| `com.clickhouse.client.config.ClickHouseClientOption#WIDEN_UNSIGNED_TYPES` || |
781+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_BINARY_STRING` || |
782+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_BLOCKING_QUEUE` || |
783+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_COMPILATION` || |
784+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_OBJECTS_IN_ARRAYS` || |
785+
| `com.clickhouse.client.config.ClickHouseClientOption#PROXY_TYPE` | `com.clickhouse.client.api.Client.Builder#addProxy` | |
786+
| `com.clickhouse.client.config.ClickHouseClientOption#PROXY_HOST` | `com.clickhouse.client.api.Client.Builder#addProxy` | |
787+
| `com.clickhouse.client.config.ClickHouseClientOption#PROXY_PORT` | `com.clickhouse.client.api.Client.Builder#addProxy` | |
788+
| `com.clickhouse.client.config.ClickHouseClientOption#PROXY_USERNAME` | `com.clickhouse.client.api.Client.Builder#setProxyCredentials` | |
789+
| `com.clickhouse.client.config.ClickHouseClientOption#PROXY_PASSWORD` | `com.clickhouse.client.api.Client.Builder#setProxyCredentials` | |
790+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_SERVER_TIME_ZONE` | `com.clickhouse.client.api.Client.Builder#useServerTimeZone` | |
791+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_SERVER_TIME_ZONE_FOR_DATES` | | |
792+
| `com.clickhouse.client.config.ClickHouseClientOption#USE_TIME_ZONE` | `com.clickhouse.client.api.Client.Builder#useTimeZone` | |
793+
| `com.clickhouse.client.config.ClickHouseClientOption#QUERY_ID` || See `QuerySettings` and `InsertSettings` |
794+
| `com.clickhouse.client.config.ClickHouseClientOption#CONNECTION_TTL` | `com.clickhouse.client.api.Client.Builder#setConnectionTTL` | |
795+
| `com.clickhouse.client.config.ClickHouseClientOption#MEASURE_REQUEST_TIME` || |
796+
| `com.clickhouse.client.config.ClickHouseClientOption#SSL_SOCKET_SNI` | `com.clickhouse.client.api.Client.Builder#sslSocketSNI` | |
797+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#CONNECTION_PROVIDER` || |
798+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#CUSTOM_HEADERS` | `com.clickhouse.client.api.Client.Builder#httpHeaders` | |
799+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#CUSTOM_PARAMS` || See `com.clickhouse.client.api.Client.Builder#serverSetting`|
800+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#DEFAULT_RESPONSE` || |
801+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#KEEP_ALIVE` | `com.clickhouse.client.api.Client.Builder#setKeepAliveTimeout` | |
802+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#MAX_OPEN_CONNECTIONS` | `com.clickhouse.client.api.Client.Builder#setMaxConnections` | |
803+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#RECEIVE_QUERY_PROGRESS` || Server side setting |
804+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#SEND_HTTP_CLIENT_ID` || |
805+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#WAIT_END_OF_QUERY` || Server side setting |
806+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#REMEMBER_LAST_SET_ROLES` | `com.clickhouse.client.api.Client#setDBRoles` | Is runtime configuration now. See also `com.clickhouse.client.api.query.QuerySettings#setDBRoles` and `com.clickhouse.client.api.insert.InsertSettings#setDBRoles` |
807+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#AHC_VALIDATE_AFTER_INACTIVITY` || Always enabled when Apache Http Client is used |
808+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#AHC_RETRY_ON_FAILURE` | `com.clickhouse.client.api.Client.Builder#retryOnFailures` | |
809+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#CONNECTION_REUSE_STRATEGY` | `com.clickhouse.client.api.Client.Builder#setConnectionReuseStrategy` | |
810+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#KEEP_ALIVE_TIMEOUT` | `com.clickhouse.client.api.Client.Builder#setKeepAliveTimeout` | |
811+
| `com.clickhouse.client.http.config.ClickHouseHttpOption#USE_BASIC_AUTHENTICATION` | `com.clickhouse.client.api.Client.Builder#useHTTPBasicAuth` | |

0 commit comments

Comments
 (0)