Repository navigation
Stable 26.3: Bump to 26.3.60 - #2706
Conversation
…m the line editor of the embedded client
…to schema compiler on long chains of declarations
…kets in TCPHandler
…9368 Backport ClickHouse#119368 to 26.3: Do not deserialize unexpected packets in TCPHandler
…5512 Backport ClickHouse#125512 to 26.3: Never stop the server process from the line editor of the embedded client
…`Interval` column with top-K dynamic filtering
…5900 Backport ClickHouse#125900 to 26.3: Fix stack overflow in the CapnProto schema compiler on long chains of declarations
… from disclosing whether a user exists
…4255 Backport ClickHouse#124255 to 26.3: Bump vendored `expat` from 2.8.2 to 2.9.0
…l` only to zlib-based HTTP compression
…uest lines and headers
…5899 Backport ClickHouse#125899 to 26.3: Apply `http_zlib_compression_level` only to zlib-based HTTP compression
… CREATE TABLE AS inherits credentials
…4905 Backport ClickHouse#124905 to 26.3: Reject CR/LF in outgoing HTTP request lines and headers
…1704 Backport ClickHouse#121704 to 26.3: Stop the native SSH-key handshake from disclosing whether a user exists
…5221 Backport ClickHouse#125221 to 26.3: Fix `ORDER BY ... LIMIT` over an `Interval` column with top-K dynamic filtering
…d in `05316_named_collection_dictionary_override_access`
…ded in HTTP URIs
…TOTP codes and plaintext passwords
… replxx line editor
…RT when a row policy of a table read by a materialized view uses `IN <source table>`
…4075 Backport ClickHouse#124075 to 26.3: Leave only loadable objects behind in `05316_named_collection_dictionary_override_access`
…6120 Backport ClickHouse#126120 to 26.3: Fix out-of-bounds accesses in the replxx line editor
…6548 Backport ClickHouse#126548 to 26.3: Limit recursion depth when deserializing query plans
…ompress-codec-attach Skip codec sanity checks for a TTL recompression codec on ATTACH (26.3)
… HDFS DataNode and NameNode
…ts instead of overflowing the stack
… in PREWHERE condition ordering
…7139 Backport ClickHouse#127139 to 26.3: Fix a crash with estimateCompressionRatio
The expired-method assertions need the fail-close for ambiguous credentials of ClickHouse#110144, which 26.3 does not have: here a password accepted by any method logs in, on the native protocol too. Keep the part this backport changes: a user with `double_sha1_password` and a `scram_sha256_password` or `bcrypt_password` method logs in over MySQL through the `sha256_password` plugin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…6546 Backport ClickHouse#126546 to 26.3: Validate malformed responses from HDFS DataNode and NameNode
…7407 Backport ClickHouse#117407 to 26.3: Fix TOTP bypass in MySQL protocol authentication
…0695 Backport ClickHouse#110695 to 26.3: Combine I/O cost with selectivity in PREWHERE condition ordering
…0887 Backport ClickHouse#120887 to 26.3: Reject deeply nested JSON documents instead of overflowing the stack
…e declared array size when reading ZooKeeper protocol arrays
…6914 Backport ClickHouse#126914 to 26.3: Do not pre-allocate memory for the declared array size when reading ZooKeeper protocol arrays
Release v26.3.60.2-lts Conflicts committed as-is; the next commit resolves them: - cmake/autogenerated_versions.txt (both modified)
Took upstream's 26.3.60 patch number and githash, and kept Altinity's `10001.altinitytest` suffix in the version describe and string.
|
Backporter: merge conflicts resolved by AI Conflicted files:
Commits:
|
This comment was marked as outdated.
This comment was marked as outdated.
CI triage for
|
| Check | Failing tests | Class | Also on base-line PRs? |
|---|---|---|---|
| Integration (amd_binary 2/5, amd_asan old analyzer 3/8) | test_storage_s3/test_sts.py ×3 |
infra (mock image) | yes: #2711 |
| Integration (amd_binary 4/5, amd_asan old analyzer 5/8) | test_database_glue/test.py (16 tests, every test in the module) |
infra (same mock image) | yes: #2711, #2696 |
| Stateless (amd_debug seq; distributed plan s3 seq) | 03271_s3_table_function_asterisk_glob, 02789_filesystem_cache_alignment |
flaky / external timeout | yes: #2711, #2683 |
| Stateless (distributed plan s3 parallel) | 04033_tpc_ds_q14 |
timeout | yes: #2711, #2696 |
| Stateless (amd_ubsan parallel) | Some queries hung |
infra (DNS hang) | yes: #2711 |
| AST fuzzer (amd_debug) | server abort, LOGICAL_ERROR from __applyFilter |
existing bug, not in this diff | not hit on the sibling runs |
| DCO | – | process gate | yes: #2711, #2696 |
1. test_sts.py / test_database_glue: infra
The STS mock container (altinityinfra/python-bottle:latest) never starts, so the module fixture fails before any test runs:
Timed out while waiting for instance `sts.us-east-1.amazonaws.com' ... to start.
bash: line 1: /usr/bin/clickhouse: cannot execute: required file not found
The ClickHouse binary that gets mounted can't run inside that image (its loader or libc is missing). This PR doesn't touch either test or helpers/cluster.py. The integration-test changes in this PR are limited to test_totp_auth and test_quorum_inserts_parallel. #2711 shows the exact same error on the same tests.
Next step: fix the mock image or the fixture on stable-26.3, in a separate change. Nothing to do on this PR.
2. 03271_s3_table_function_asterisk_glob, 02789_filesystem_cache_alignment, 04033_tpc_ds_q14: timeouts
Timeout exceeded while receiving data from server. Waited for 300 seconds
FROM s3('https://clickhouse-public-datasets.s3.amazonaws.com/wikistat/original/*', NOSIGN)
03271 lists a public S3 bucket over the internet. 02789 hits the test timeout, and q14 hits the 300 s client timeout on the debug + s3-storage build. All three fail the same way on #2711, and some of them on #2683 and #2696 too. Next step: safe to ignore or re-run.
3. Stateless tests (amd_ubsan, parallel): Some queries hung
0 tests failed. The hung-query check found INSERT INTO avro SELECT * FROM test.hits LIMIT 10000; running for 746 s, and its stack trace sits in getaddrinfo → _nss_dns_gethostbyname4_r → __res_context_send → poll, i.e. a DNS lookup on the runner that never returned. #2711 failed the same check. Next step: re-run.
4. AST fuzzer (amd_debug): not caused by this PR, but worth tracking
The server aborted on a LOGICAL_ERROR (code 49) at src/Interpreters/ExpressionActions.cpp:695, "Unexpected return type from {}. Expected {}. Got {}". The function was __applyFilter(_runtime_filter_..., __table3.y), called from FilterTransform, which is the JOIN runtime filter.
- No commit in this bump touches the runtime-filter code (
RuntimeFilterLookup.h,FunctionApplyFilter.cpp,hasNullable.cpp,joinRuntimeFilter.cpp). The PR's changes underFunctions//QueryPlan/ActionsDAGare the TopK filter, a plan-deserialization depth limit and a row-policy view-source fix, and none of them are on this code path. - This is a known bug class upstream: Runtime filter crash on Tuple(Variant(...), ...) join key — incomplete fix for nested Variant ClickHouse/ClickHouse#101415 (
Unexpected return type from __applyFilter. Expected UInt8. Got Nullable(UInt8)on join keys with nested Variant/Dynamic). The upstream fix Fix join runtime filter crash on nested Variant/Dynamic key ClickHouse/ClickHouse#106931 changeshasNullableandRuntimeFilterLookup.h. It merged in June 2026 but was not backported to 26.3:src/DataTypes/hasNullable.cpponstable-26.3still doesn't recognise Variant/Dynamic inside Tuple/Array/Map. - Caveat: the fuzzer's server and fuzzer logs were cut off at the 64 MB fetch limit before the error message, so I couldn't see the actual Expected/Got types or the query. The match with Runtime filter crash on Tuple(Variant(...), ...) join key — incomplete fix for nested Variant ClickHouse/ClickHouse#101415 is likely but not proven. The fuzzer didn't hit this on the sibling PRs, which fits a random fuzzer find rather than a regression.
Next step: don't block the bump on this. If we want the fix on 26.3, backport Fix join runtime filter crash on nested Variant/Dynamic key ClickHouse/ClickHouse#106931 (plus its test04327_runtime_filter_nested_variant) in a separate PR. I can open it on request.
5. DCO
These are upstream backport/merge commits without Signed-off-by. DCO fails the same way on #2711 and #2696. Expected for bump PRs.
Evidence: result_pr.json for this SHA and for #2711 (f436b1b), #2696 (7d01ad6) and #2683 (b73a7e2), plus the AST fuzzer job.log (gdb backtrace) and the ubsan job.log. I didn't rebuild or re-run anything locally.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
...
Documentation entry for user-facing changes
...
CI/CD Options
Exclude tests:
Regression jobs to run: