Repository navigation
Antalya 26.8, frontport: Fix GROUP BY server constants over s3Cluster and object_storage_cluster - #2575
Conversation
The old analyzer drops constant GROUP BY keys when distributed_depth is 0. Cluster table function reads never increased that depth, so workers folded hostName() and returned only the aggregate. https: //github.com//issues/2139 Co-authored-by: Cursor <cursoragent@cursor.com>
Raising distributed_depth on cluster reads also changes parallel replicas, max_distributed_depth, and block marshalling. The old analyzer now keeps a key such as hostName() and still drops ordinary constants. https: //github.com//issues/2139 Co-authored-by: Cursor <cursoragent@cursor.com>
__getScalar is marked as a server constant, but the initiator evaluates it and sends the same value to every shard. Keeping it made GROUP BY of a scalar subquery with Dynamic throw ILLEGAL_COLUMN. https: //github.com//pull/2490 Co-authored-by: Cursor <cursoragent@cursor.com>
A local query has one server, so a folded server constant is an ordinary constant. Keeping it made GROUP BY of `hostName` cast to `Dynamic` throw `ILLEGAL_COLUMN`. Secondary queries still keep the key, because cluster table function workers also have `distributed_depth` 0. https: //github.com//pull/2490 Co-authored-by: Cursor <cursoragent@cursor.com>
`getManifestFileEntriesHandle` and `generateManifestList` take the cache after external-path support, but `AlterDropPartitionExecutor` still used the old signatures, so the amd binary build failed. https: //altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2575&sha=de846f87651f582609e740036d2a9ba9db179950&name_0=PR&name_1=Build%20%28amd_binary%29 https: //github.com//pull/2575 Co-authored-by: Cursor <cursoragent@cursor.com>
`getManifestFileEntriesHandle` and `generateManifestList` take the cache after external-path support, but `AlterDropPartitionExecutor` still used the old signatures, so the amd binary build failed. https: //altinity-build-artifacts.s3.amazonaws.com/json.html?PR=2575&sha=de846f87651f582609e740036d2a9ba9db179950&name_0=PR&name_1=Build%20%28amd_binary%29 https: //github.com//pull/2575 Co-authored-by: Cursor <cursoragent@cursor.com>
|
@zvonand CI triage for this PR (commit Verdict: 5 failing checks, 0 caused by this PRAll failures are either pre-existing on the Strongest evidence: two unrelated PRs on the same base, #2578 (Iceberg cluster metadata) and #2586 (Antalya protocol trailer), show the identical set of red checks (oauth, swarms, both Grype scans). And the original PR this frontports, #2490 (base Per-failure breakdown1. Grype Scan (keeper: 4 high/critical, server-alpine: 1) — not PR-related 2. Integration tests (amd_asan_ubsan, targeted) — infra flake, re-run 3. Parser memory check — infra/setup, re-run 4. Regression release oauth — pre-existing on base (9/112 scenarios failed) 5. Regression release swarms — pre-existing on base (4/1535 scenarios failed) PR health checkGreen where it counts. Fast test (0 failed), Stateless (Analysis from CI reports only — I can't build or run ClickHouse in this environment; correctness is ultimately validated by the green functional suites above.) |
Frontport of #2490 from
antalya-26.6toantalya-26.8.The old analyzer drops constant
GROUP BYkeys whendistributed_depthis 0. Cluster table function workers never increase that depth, so a key such ashostNamewas folded and the initiator aggregated only the count. The fix keeps a folded server constant on a secondary query and still drops ordinary constants, including__getScalarand local server constants.Related: #2490
Related: #2139
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix GROUP BY server constants over
s3Clusterandobject_storage_cluster.Documentation entry for user-facing changes
None.
CI/CD Options
Exclude tests:
Regression jobs to run: