Repository navigation
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
|
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
# Conflicts: # client-v2/src/main/java/com/clickhouse/client/api/internal/HttpAPIClientHelper.java # docs/features.md # history/latest/3251.md
TriageCategory: Summary What this impacts
Concerns
Required reviewer action
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 4 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 738ac0c. Configure here.
| typeMappings=Deprecated alias for jdbc_type_mappings. | ||
| jdbc_json_parser_factory=JsonParserFactory implementation used for JSONEachRow results. | ||
| jdbc_metrics_recorder=MetricsRecorder implementation used for JDBC operations. | ||
| jdbc_metadata_use_show_statements=Use SHOW and DESCRIBE statements for JDBC metadata discovery. |
There was a problem hiding this comment.
JDBC property descriptions are incomplete
Medium Severity
disable_frameworks_detection and jdbc_multi_dimensional_array_element_type have no entries in driver-property-descriptions.properties, so getPropertyInfo falls back to the generic ClickHouse configuration property. text. The new testKnownPropertiesHaveDescriptions test rejects that fallback for every known property and will fail.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 738ac0c. Configure here.
| args = parser.parse_args() | ||
|
|
||
| root = Path(__file__).resolve().parents[1] | ||
| files = [Path(name).resolve() for name in args] if args.files else maintained_files(root) |
There was a problem hiding this comment.
Link checker iterates argparse Namespace
Low Severity
When file arguments are supplied, main iterates the argparse.Namespace object instead of args.files. That raises TypeError and the checker never validates the requested paths. The no-argument path is unaffected.
Reviewed by Cursor Bugbot for commit 738ac0c. Configure here.
| if (socket != null) { | ||
| connection.bind(socket); | ||
| } | ||
| return connection; |
There was a problem hiding this comment.
Pooled connection leak on bind failure
Low Severity
MeteredManagedHttpClientConnectionFactory.createConnection no longer closes the connection if bind fails. The parent NoWireLoggingConnectionFactory closes and rethrows; this override constructs a different connection type and binds without that cleanup, so a failed bind can leak the connection on the default pooled path.
Reviewed by Cursor Bugbot for commit 738ac0c. Configure here.
| -Dgit.commit.id.abbrev="$GIT_COMMIT_ABBREV" \ | ||
| -pl packages/clickhouse-jdbc-all -am install | ||
| RUN mvn -B -DskipTests -pl packages/clickhouse-jdbc-all -am install | ||
| RUN mvn -B -DskipTests -f performance/pom.xml package |
There was a problem hiding this comment.
Docker rebuild drops git commit metadata
Medium Severity
The image runs mvn … install twice. The first command skips git-commit-id and injects GIT_COMMIT; the second repeats the same reactor install without those flags and overwrites the stamped artifacts. The later performance package then depends on that second install.
Reviewed by Cursor Bugbot for commit 738ac0c. Configure here.
|






Summary
Adds a reproducible JMH benchmark for the V1 write-stream spin issue:
No public API or behavior changes.
Note
High Risk
The PR bundles release publishing automation, a public HTTP connection implementation change, and JDBC metadata surfacing—any regression affects Maven Central releases, credential logging, or driver discovery tools.
Overview
Adds a WriteStream JMH suite and CPU-capped Docker workflow (
compose.write-stream.yml, async-profiler) to compare V1 non-blocking vs blocking-queue vs V2 direct HTTP body streaming into anENGINE = Nulltable, pluscompare-jmh.pyand benchmark-runner support for-b ws. Fixes synthetic dataset initialization inDataTypesbenchmarks and points contributor docs at theperformancemodule.Release and CI: splits the Release workflow into verify-then-publish (optional
publishinput, staged artifacts, CycloneDX SBOM, RC/GA GitHub release rules), addsscripts/release/*version validation and artifact inventory, japicmp API compatibility on PRs, Dependabot for Maven/GitHub Actions, and build-time version checks. Rootrelease.shnow alignsVERSION,revision, and example/performance POMs with-SNAPSHOTdevelopment revisions.client-v2 / JDBC: introduces
WireLoggingDisabledManagedHttpClientConnectionso Apache HC5 wire DEBUG cannot log credentials or bodies; addsHttpWireLoggingTestand stricter truncated/invalid VarInt and length-prefixed read tests inclickhouse-dataand client-v2.jdbc-v2: loads human-readable text for every
Driver#getPropertyInfoentry fromdriver-property-descriptions.properties(with tests).Documentation and PR templates are reorganized (
docs/README.md, releasing runbook, serde matrix, integration link fixes);.gitignoreignoresperformance/results/.Reviewed by Cursor Bugbot for commit 738ac0c. Bugbot is set up for automated code reviews on this repo. Configure here.