Repository navigation
Conversation
`JoinedTables` only reads the outer table function, so an old-analyzer global JOIN failed with "No alias for subquery or table function in JOIN". The inner alias stays for the query sent to the remote initiator. https: //github.com//issues/2748 Co-authored-by: Cursor <cursoragent@cursor.com>
…conds Scale-6 bounds in the normal range were dropped, so min/max pruning skipped every `timestamp` file. Values above `1e18` are still converted from nanoseconds, and `(1e16, 1e18]` still fails open. https: //github.com//issues/2747 Co-authored-by: Cursor <cursoragent@cursor.com>
Appendix D already sets the unit from the field type. `DateTime64(6)` stays microseconds and `DateTime64(9)` stays nanoseconds. https: //github.com//issues/2747 Co-authored-by: Cursor <cursoragent@cursor.com>
The decoder reads bounds at the type scale. A `timestamp` column whose bounds are nanoseconds is corrupt data, so those tests are not required. Co-authored-by: Cursor <cursoragent@cursor.com>
CI triage for
|
| Check | Failure | Verdict |
|---|---|---|
| Stateless (amd_asan_ubsan, distributed plan, parallel, 2/2) | 05387_s3_cluster_remote_initiator_keeps_stripped_join |
Pre-existing on antalya-26.6 |
| Stateless (amd_binary, cas s3 storage, parallel) | Server died: GroupingAggregatedTransform pushed bucket 4 twice |
Known upstream crash, not related to this PR |
| Stateless (amd_asan_ubsan, cas s3 storage, parallel, 1/2) | Server died: GroupingAggregatedTransform pushed bucket 3 twice |
Same as above |
| Stress test (amd_debug, cas s3 storage) | Test script failed, script exit code: 1 |
Infra: the stress harness timed out |
1. 05387_s3_cluster_remote_initiator_keeps_stripped_join (pre-existing)
The CI report's randomized-settings diagnosis:
Runs: 25, Failed: 25 (same randomized settings)
Runs: 34, Failed: 0 (without randomization)
Culprit settings: --prefer_localhost_replica 0
The old (old analyzer) half passes. The analyzer half (query 7) fails on the remote initiator:
Code: 499. DB::Exception: Received from localhost:9000. ... Failed to get object info: No response body.. HTTP response code: 403.
Please check your AWS credentials and permissions: while reading '05387_test_xafu307b.tsv' in bucket 'test' on disk 'StorageS3': While executing Remote. (S3_ERROR)
... StorageObjectStorageStableTaskDistributor::getMatchingFileFromIterator <- TaskDistributor <- RemoteQueryExecutor::processReadTaskRequest
Why it's not this PR: #2713 is an unrelated backport (Nullable ALTER) at 5284d10. The same test fails there in the same suite, with the same 403 and the same culprit setting (Runs: 26, Failed: 26 → Culprit settings: --prefer_localhost_replica 0). This PR doesn't touch the test.
What to do: this PR works on the remote-initiator path, so you may want to deal with it here, though it doesn't block the PR. The 403 comes from the read-task callback on the remote initiator, so with prefer_localhost_replica = 0 the S3 credentials apparently don't reach the key iterator there. I haven't confirmed that. Options:
- Real fix: find out why the credentials are lost on the analyzer path when the hop goes over TCP rather than local, probably a separate issue.
- Stop-gap: pin
prefer_localhost_replica = 1in the test'sSETTINGS, with a comment linking the issue, so the suite stops failing on every PR.
2. GroupingAggregatedTransform pushed bucket N twice (known upstream crash)
The server aborted on a logical error in both CAS-S3 stateless jobs:
Logical error: 'GroupingAggregatedTransform pushed bucket 4 twice'.
src/Processors/Transforms/MergingAggregatedMemoryEfficientTransform.cpp:63:15: DB::GroupingAggregatedTransform::pushData(...)
src/Processors/Transforms/MergingAggregatedMemoryEfficientTransform.cpp:123:9: DB::GroupingAggregatedTransform::tryPushTwoLevelData()
- This is the memory-efficient two-level aggregation merge. The PR changes
IStorageCluster::convertToRemote(an alias onremote()) and the Iceberg DateTime64 bound decoding, and neither path is involved. - It's an open upstream issue that also shows up on master and release branches: [CI crash] GroupingAggregatedTransform pushData failure ClickHouse/ClickHouse#115986 ("[CI crash] GroupingAggregatedTransform pushData failure"). See also the related Logical error: 'Bucket 58 is pushed twice' (STID: 2508-468c) ClickHouse/ClickHouse#116483.
- The crash happened late in the run (8439 tests had already passed in the amd_binary job).
- I didn't see this crash in the CAS-S3 jobs of Antalya 26.6 Backport of #102156 - Fix Nullable(X)->Y cross-type ALTER MODIFY COLUMN #2713 or Merge antalya-26.6-20261008 into antalya-26.6 #2644, so it's rare rather than constant. Hitting it in 2 jobs of one run is unlucky, but the stack has nothing to do with this diff.
What to do: safe to re-run.
3. Stress test (amd_debug, cas s3 storage) (infra/harness)
Every server-health result was OK (Server successfully started, No lost s3 keys, No SharedMergeTree lost forever), and fatal.log is empty. The only failure is the pre-stress sanity run of 00001_select_1 and 00234_… in --replicated-database mode. Both tests passed in about 18s, but the whole clickhouse-test call overran its 180s wrapper timeout:
[2 / 2] 00001_select_1: [ OK ] 1.76 sec. 2 tests passed ... 17.98 s elapsed
subprocess.TimeoutExpired: Command '/usr/bin/clickhouse-test --stress-tests --cas-s3-storage ... --replicated-database --database test_5 ...' timed out after 180 seconds
That's slow setup or teardown of the replicated database on CAS S3, not a server problem.
What to do: safe to re-run.
Sources: the CI report (result_pr.json) for a24fa31, plus those of #2713 (5284d10) and #2644 (97ac101) for comparison. No local build or test run; this is from CI evidence only.
Solved #2748
Solved #2747
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix alias error in distributed calls, simplification for nanoseconds in Iceberg
Documentation entry for user-facing changes
Solved #2748 - restore alias in distributed query (changes in
src/Storages/IStorageCluster.cpp)Solved #2747 - changes in #2239 for nanoseconds were overcomplicated, and broke work for microseconds. Partially reverted.
CI/CD Options
Exclude tests:
Regression jobs to run: