Antalya 25.8: Bump to 25.8.33 - #2287
Conversation
…bsAssignee::start and finish
…icy AST in place in `Merge`
…3563 Backport ClickHouse#113563 to 25.8: Do not analyze the shared row policy AST in place in `Merge`
…`-Cluster` table functions
…mit::query_map causing LOGICAL_ERROR
…icas read when the requested stage cannot absorb finalized data
Backport ClickHouse#94748 to 25.8: Fix invalid result of joining two `-Cluster` table functions
…ore releasing the format's read buffer
The original change was followed by a test-oracle correction which was not included in this backport. Verify that each forced dictionary reload reaches Parquet row-group reading before considering the lifetime regression covered. CI report: ClickHouse#114927
The dictionary reload executes outside the client query profile-event accounting, so querying `system.query_log` for `ParquetReadRowGroups` always returns zero even after a reload reads Parquet row groups. Keep the forced reload checks and remove the invalid profile-event assertion. CI report: ClickHouse#114927
…3742 Backport ClickHouse#113742 to 25.8: Skip the custom-key parallel replicas read when the requested stage cannot absorb finalized data
…7028 Backport ClickHouse#107028 to 25.8: Fix data race on FileCacheQueryLimit::query_map causing LOGICAL_ERROR
Derive the dictionary source path from the `file` table function so the test uses the actual absolute location when `user_files_path` is empty. CI report: ClickHouse#114927
…before rewrite it, fix no such key thrown
…ORE to survive power loss
…e_fsync_after_insert The test read the `files` column of `system.parts` to size the encrypted-incremental-restore fsync assertion. That column was added by 476e9fc in January, after 25.8 forked, so the automated 25.8 backport of ClickHouse#111378 (ClickHouse#115088) fails at runtime with UNKNOWN_IDENTIFIER even though the cherry-pick applied cleanly and the script is byte-identical to master. The empty shell variable then also fails the `{files:UInt64}` parameter binding. The count the assertion wants is how many files RESTORE copies and must therefore fsync. The test already measures exactly that for its first table via `SELECT path FROM system.parts` plus `find`, so feed the encrypted arm the same count and drop the column read. The two tables have identical schema, data and part-layout settings, so their parts hold the same file set; the physical count is also larger than the checksums map (18 vs 14 on master), since it covers checksums.txt, columns.txt and the zero-byte arr.bin, so the assertion gets stronger rather than weaker. Validated on the official 25.8 binary: the old test reproduces both errors, the new one runs to completion. On master the encrypted restore performs 20 FileSync events against a required 18, the two arms' part file lists are identical on both branches (18 files on master, 15 on 25.8), disabling fsync_after_insert still fails the test, and 50/50 runs pass with randomized settings. Related: ClickHouse#111378 Related: ClickHouse#115088 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit fd8fc0c)
`unnest`, a case-insensitive alias of `arrayJoin`, was registered only in 8601d0f (2026-05-16), after the 25.8 branch point. On this branch the analyzer throws `UNKNOWN_FUNCTION` at the second statement of the test's single client call, which also skipped statements 3-19: every `optimize_trivial_count_query = 0` control, the four "optimization is kept" arms and all four `EXPLAIN` plan assertions. So the backport carried no verification of the fix it exists to port. This mirrors the master change c97ca0b (ClickHouse#115505), which dropped the two `unnest` arms and relocated the alias coverage into `04241_alias_unnest` - a test that does not exist on this branch, precisely because the alias does not. Nothing is lost at the guard itself: `FunctionNode::resolveAsFunction` stores the canonical name, so `hasFunctionNode(..., "arrayJoin")` sees the `unnest` arms identically to the `arrayJoin` ones, and the surviving 20 reference lines are byte-identical with and without them. CI report: https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=115468&sha=77b6ebb9c8604d45e2db4a7111e93258704076fa&name_0=BackportPR Related: ClickHouse#115227 Related: ClickHouse#115505 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…112327-25.8 Resolve the 25.8 cherry-pick conflict of ClickHouse#112327
…5227 Backport ClickHouse#115227 to 25.8: Do not use the trivial count optimization when the aggregate argument contains arrayJoin
…that hide argument nullability inside uniq
…RowNoNewline` with empty rows
…5669 Backport ClickHouse#115669 to 25.8: Fix out-of-bounds read in `formatRowNoNewline` with empty rows
…5466 Backport ClickHouse#115466 to 25.8: Do not strip injective functions that hide argument nullability inside uniq
…l to the type's default value
…0283 Backport ClickHouse#100283 to 25.8: Validate Iceberg metadata file path for null bytes
The vectorized `String = FixedString` equality on 25.8 does not ignore the `FixedString` padding (that fix is not on this branch), so the `arrayFilter` oracle of `04881_low_cardinality_default_value_needle` reads 0 where master reads 1. The `LowCardinality` result itself (1) matches master, so assert only it. Failure: https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=115918&sha=latest&name_0=BackportPR&name_1=Stateless%20tests%20(amd_asan%2C%20distributed%20plan%2C%20parallel%2C%202%2F2) PR: ClickHouse#115918 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…y in query results
…5704 Backport ClickHouse#115704 to 25.8: Do not expose uninitialized memory in query results
…4624 Backport ClickHouse#114624 to 25.8: Find a LowCardinality needle equal to the type's default value
Release v25.8.33.6-lts
CI triage for #2287 (Bump to 25.8.33)Verdict — 6 red checks: 1 PR-related & fixable, 1 flaky, 2 pre-existing (same swarms failure), plus the
1.
|
|
@blau-ai fix 04743_trivial_count_array_join_argument in this branch |
The plan-shape assertions inspect count(arrayJoin(A))'s physical read step (ReadFromMergeTree) and the "Optimized trivial count" marker. Under the ParallelReplicas stateless profile the read step is a remote-replicas step, so `explain ILIKE '%ReadFromMergeTree%'` returned 0 instead of 1 and the test failed only in that suite. The trivial-count refusal being tested is a planner feature independent of parallel replicas, so pin those EXPLAINs with enable_parallel_replicas = 0 to assert on the deterministic local plan. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@zvonand — fixed Commit: 46d077a What failedThe test failed in exactly one suite — Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel) ( That is reference line 15, the plan-shape assertion: SELECT count() > 0 FROM (EXPLAIN SELECT count(arrayJoin(A)) FROM t_04743 SETTINGS optimize_trivial_count_query = 1)
WHERE explain ILIKE '%ReadFromMergeTree%'; -- expected 1Root causeUnder the ParallelReplicas profile the suite runs with FixThe feature under test (trivial-count refusal when the aggregate argument contains -SELECT count() > 0 FROM (EXPLAIN SELECT count(arrayJoin(A)) FROM t_04743 SETTINGS optimize_trivial_count_query = 1)
+SELECT count() > 0 FROM (EXPLAIN SELECT count(arrayJoin(A)) FROM t_04743 SETTINGS optimize_trivial_count_query = 1, enable_parallel_replicas = 0)
WHERE explain ILIKE '%ReadFromMergeTree%';(same Validated by CI on this branch — I can't build/run ClickHouse in this container. Unrelated noteThe other red stateless suite (amd_binary, old analyzer, DatabaseReplicated, sequential) failed on a different test — |
CI triage for #2287 (bump to 25.8.33)Verdict: No failure points at a real bug introduced by this bump. Breakdown of the red checks:
The 1. Regression
|
Changelog category (leave one):
CI/CD Options
Exclude tests:
Regression jobs to run: