[client-v2] Expose supported configuration options via a public API
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- java
- Domain
- api, developer-experience
Research direction
Start with the client-v2 ClientConfigProperties enum and jdbc-v2's Driver.getPropertyInfo(url, info) entry point, then trace how current keys, types, and defaults are defined. Completion should provide structured metadata for plain client-v2, cover dynamic prefixes and requested flags, and keep the JDBC property information consistent.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem?
Connectors and tools built on top of the Java client (e.g. Kafka Connect sink, Spark connector, ingestion frameworks, config-validation UIs) need to know which configuration options the client supports so they can expose, validate, and document them programmatically. Today there is no supported API call to retrieve this list:
ClientConfigProperties(client-v2) is a public enum, but it only carries the option key, value type, and default value — no human-readable description, no allowed-value/choices metadata, and no indication of whether an option is required or deprecated.- jdbc-v2 implements
Driver.getPropertyInfo(url, info)returningDriverPropertyInfo[], but that is JDBC-specific and not usable from plain client-v2.
Describe the solution you'd like
A public API on the client (e.g. Client.getSupportedOptions() or a static method on ClientConfigProperties) that returns structured metadata for every supported option:
- option key (e.g.
connect_timeout) - value type
- default value
- description
- allowed values / choices where applicable
- flags such as required, deprecated, sensitive (e.g.
password, so tools know to mask it)
This would let integrators generate their config surface directly from the client instead of hard-coding option lists that drift out of date. Ideally jdbc-v2's getPropertyInfo would be backed by the same metadata source so the two stay consistent.
Describe alternatives you've considered
- Iterating
ClientConfigProperties.values()via the enum — works for key/type/default but lacks descriptions and semantic metadata, and does not cover dynamic prefixes (clickhouse_setting_*,http_header_*). - Scraping the docs — brittle and not machine-friendly.
- Dominant language
- Java
- Stars
- 1.6k
- Forks
- 637
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ClickHouse/clickhouse-java
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ClickHouse/clickhouse-java#3143 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
ClickHouse/clickhouse-java#3111 ·
-
area:data-type bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-java#3098 · 1 comment ·
-
bug client-api-v2 test
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
ClickHouse/clickhouse-java#3076 ·
-
area:sql-parser bug client-v1
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
ClickHouse/clickhouse-java#3066 ·
All issues in ClickHouse/clickhouse-java
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
1.0.0-alpha2 Type/Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
wso2/dpdp-accelerator#272 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
apache/rocketmq-dashboard#4860 · 1 comment ·
-
agent-audit bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Vault-Web/cloud-page#144 ·