Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes - #2145
Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes#2145zvonand wants to merge 8 commits into
Conversation
…next commit) --- Original cherry-pick message follows: Merge pull request #1687 from Altinity/feature/antalya-26.3/pr-1414-1 Antalya 26.3 port - improvements for cluster requests # Conflicts: # src/Common/ProfileEvents.cpp # src/Core/Settings.cpp # src/Disks/DiskObjectStorage/ObjectStorages/IObjectStorage.cpp # src/Storages/ObjectStorage/DataLakes/Iceberg/ManifestFileIterator.cpp # src/Storages/ObjectStorage/StorageObjectStorageCluster.cpp # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp # src/Storages/StorageFileCluster.cpp # src/Storages/StorageURLCluster.cpp # tests/integration/test_s3_cluster/test.py # tests/queries/0_stateless/03413_experimental_settings_cannot_be_enabled_by_default.sql
Kept antalya-26.6 code outside the port's scope (AI/JOIN profile events, distributed_plan_workers_num and query_plan_use_*_logical_join_step settings, ai_function_* test exceptions, IObjectStorage::prepareRead, query condition cache loop in createReader, storage_cluster_read_sleep failpoint, hive partitioning and iceberg failpoint integration tests) and added the port's changes on top. Adapted: TaskDistributor::operator() carries the base-branch storage_cluster_read_sleep failpoint that used to live in the replaced task iterator lambda Adapted: createReader keeps the base-branch while(true) loop (query condition cache); the port's not_a_path retry flag becomes a plain continue Adapted: FileTaskIterator/UrlTaskIterator get virtual columns from StorageMetadataPtr since getVirtualsList() no longer exists on antalya-26.6 Adapted: relocated deserializeFieldFromBinaryRepr keeps the base-branch TypeIndex::Variant guard Source-PR: #1687 (#1687)
…next commit) --- Original cherry-pick message follows: Merge pull request #1751 from Altinity/feature/antalya-26.3/pr-1631 Antalya 26.3: Fix condition for using parquet metadata cache # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
The PR's fix (case-insensitive comparison of the per-object file format when deciding whether to use the parquet metadata cache) is already present on antalya-26.6: the condition compares Poco::toLower(format_name), where format_name == object_info->getFileFormat().value_or(configuration->format). Kept the base-branch shape and dropped the cherry-pick's use_native_reader_v3 conjunct, which is context (not part of #1751's diff) and no longer exists on antalya-26.6 (input_format_parquet_use_native_reader_v3 is obsolete there). Source-PR: #1751 (#1751)
…next commit) --- Original cherry-pick message follows: Merge pull request #1991 from Altinity/fix/antalya-26.3/stateless-manifests Fix Iceberg read optimization returning NULLs for stats-less manifests # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
…next commit) --- Original cherry-pick message follows: Merge pull request #1759 from Altinity/bugfix/antalya-26.3/view_over_iceberg Antalya 26.3: Fix view over iceberg # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
CI triage — @ianton-ruVerdict: none of the failures are caused by this PR. Of the red checks: the Regression suites fail on a version‑gate that is pre‑existing on the base branch Evidence is against the head sha 1. Regression suites (Iceberg 1/2, ParquetS3, S3Export part/partition, Swarms) — pre‑existing, not PR‑causedEvery real failure in the release suites is a feature support validation check, e.g.: These are the Altinity regression suite's version gates (they compare the ClickHouse build version against the version a feature was introduced in). Two facts make this a base‑branch/suite issue rather than a PR regression:
Next step: none in this PR. This is a regression‑suite ↔ build‑version alignment issue on 2. Regression aarch64 (most jobs) — infra flakeMost aarch64 jobs report That's a setup/download error, not a test assertion — transient infra. Safe to re‑run. (The aarch64 S3Export part job is the one exception: it shows the same real feature support validation failures as the release suite → same version‑gate cause as §1.) 3. Stateless tests (4 failures) — timeout flakes, unrelated to the diff
All four are long timeouts (300–800 s, one exactly at the 600 s cap) on tests that have nothing to do with object storage / Iceberg / cluster reads (AIO merge, Avro, HTTP user‑agent, byte‑estimation). Classic debug‑build slowness/flakiness. The 3 "Broken" entries are known‑broken tests from Bottom line
No fix is needed in this cherry‑pick. I'd re‑run the aarch64 Regression and Stateless jobs to clear the flakes; the feature support validation reds will persist until the regression suite/version gate is aligned on Note: I verified the base branch fails the same regression suites at the same step; I could not open the nested TestFlows report for the base run to byte‑match the message, but the version‑gate mechanism + unchanged build version make the pre‑existing classification solid. 🤖 automated CI triage · read‑only analysis, nothing pushed |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Improve Iceberg and object-storage cluster query handling, and fix Iceberg queries not hitting the Parquet metadata cache. Also fix reads returning NULL for every column when manifests lack per-file column statistics, and fix incorrect results from views over Iceberg tables, including complex column expressions.
Improve Iceberg and object-storage cluster query handling, and fix Iceberg queries not hitting the Parquet metadata cache. Also fix reads returning NULL for every column when manifests lack per-file column statistics, and fix incorrect results from views over Iceberg tables, including complex column expressions (#1687 by @zvonand, #1751 by @zvonand, #1991 by @zvonand, #1759 by @ianton-ru).
CI/CD Options
Exclude tests:
Regression jobs to run:
Combined port of 4 PR(s) (group
auto-grp-pr-1687). Cherry-picked from #1687, #1751, #1991, #1759.