chore(deps): bump ClickHouse driver to 2.42.0 - #128
Draft
arun-k-bharathan wants to merge 1 commit into
Draft
Conversation
- github.com/ClickHouse/clickhouse-go/v2 2.40.3 -> 2.42.0 This pulls in a number of transitive dependency updates (ch-go, opentelemetry, docker, orb, etc.), so it is kept separate from the other dependency PRs. Supersedes dependabot PR freshworks-oss#115.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
github.com/ClickHouse/clickhouse-go/v22.40.3 → 2.42.0, replacing #115.Only
go.modandgo.sumchanged, but the transitive footprint is wide: 48 insertions and 48 deletions across the two files, includinggolang.org/x/net0.47.0 → 0.48.0,golang.org/x/text0.31.0 → 0.32.0,ClickHouse/ch-go0.68.0 → 0.69.0,paulmach/orb0.11.1 → 0.12.0 and OpenTelemetry 1.38.0 → 1.39.0.govulncheck ./...reports the same 14 reachable vulnerabilities asmain, so nothing here is a security fix.What changes at runtime, without any code change here
No Go file changes in this PR. The three items below are changes the driver authors made between 2.40.3 and 2.42.0, and they take effect as soon as the version moves. I'm listing them because this is a measurement tool, so driver defaults land in the numbers it reports, and because
internal/clickhouse/clickhouse.go:93callsclickhouse.OpenDB(opt)with no pool configuration of its own, which is what makes the first two bite.Pool settings are now applied. 2.40.3's
OpenDBnever calleddb.SetMaxIdleConnsand friends. 2.42.0 calls all three unconditionally fromopt.setDefaults()(clickhouse_std.go:158), and those defaults are 5 idle, 10 open, and a one hour connection lifetime (clickhouse_options.go:376). Every worker owns its own*sql.DB, so a soak test running longer than an hour will see workers reconnect mid-run, which lands in the HdrHistogram as latency belonging to the driver rather than to the server.HTTP transport compression is off by default. 2.42.0 sets
DisableCompression: trueon the default transport (conn_http.go:257), which 2.40.3 did not. That moves bytes on the wire, CPU, and therefore throughput for anyone using the HTTP protocol.Object('JSON')support is gone. The implementation inlib/column/object_json.gois commented out in its entirety in 2.42.0, and the driver's own note there says the replacement nativeJSONtype is not supported yet. A target schema using either type has no working path.The
internal/clickhousetests run againstsqlmockrather than a real connection, so CI covers none of this.Merge order
This branch does overlap the other cleanup PRs. It moves
golang.org/x/net,x/text,x/crypto,x/syncandx/sys, all of which #126 moves further, so whichever of the two merges second will need ago.modconflict resolved. MVS takes the higher version either way, so the order is a matter of convenience rather than correctness.I'd still suggest merging this one last, after #125, #126 and #127. It's the only PR in the cleanup that shifts runtime behaviour, and keeping it at the end makes it cheap to isolate or revert.
Please close #115 after merging this one, since I'm working from a fork and can't close it myself.
Test plan
go build ./...make test(go test -count=1 -race ./...), all 13 test packages passmake lintmatches themainbaseline at 238 findings, none new