-
Notifications
You must be signed in to change notification settings - Fork 614
[client-v2, jdbc-v2] Handling of unknown parameters #2712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Client V2 CoverageCoverage Report
Class Coverage
|
JDBC V2 CoverageCoverage Report
Class Coverage
|
JDBC V1 CoverageCoverage Report
Class Coverage
|
Client V1 CoverageCoverage Report
Class Coverage
|
@chernser could you add examples how the following behaviour changed for:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
| } | ||
| } | ||
|
|
||
| @Test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing integration test group annotation
Low Severity
The new testCustomSettings() test method uses @Test without groups = {"integration"}, while all other tests in this file that interact with the server have this annotation. The test makes actual server calls via client.queryAll(), so it requires a running ClickHouse instance. Without the integration group annotation, this test may run during unit test phases without a server available, causing unexpected test failures.


Summary
no_throw_on_unknown_configto properties. Parsing happens on.build()custom_sslas it is only for driver)Custom settings should be passed as server settings:
for JDBC:
Note: it is possible to pass initial options with just custom settings prefix but we recommend to use server settings.
When custom settings are passed like this set com.clickhouse.client.api.ClientConfigProperties#CUSTOM_SETTINGS_PREFIX according to your server config. It is important because this is how client determine valid config properties.
Closes #2658
Checklist
Delete items not relevant to your PR:
Note
Introduces strict config validation and custom settings handling across Client and JDBC layers.
CUSTOM_SETTINGS_PREFIXwith defaultcustom_; map keys with this prefix to server settings; validate non-blank prefixClientMisconfigurationException); allow bypass viano_throw_on_unknown_config; addServerException.UNKNOWN_SETTINGfor server-side unknownsssl); exposeDriverProperties.serverSetting(...)/httpHeader(...); prefill driver defaultsgetSetting(...)), SSL handling, expected config sizes; R2DBC test usesserver_time_zoneinstead ofserverTimezoneWritten by Cursor Bugbot for commit 1bb82e5. This will update automatically on new commits. Configure here.