Skip to content

Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes - #2145

Open
zvonand wants to merge 8 commits into
antalya-26.6from
feature/antalya-26.6/auto-grp-pr-1687
Open

Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes#2145
zvonand wants to merge 8 commits into
antalya-26.6from
feature/antalya-26.6/auto-grp-pr-1687

Conversation

@zvonand

@zvonand zvonand commented Aug 3, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Not for changelog

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:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Combined port of 4 PR(s) (group auto-grp-pr-1687). Cherry-picked from #1687, #1751, #1991, #1759.

zvonand and others added 8 commits August 3, 2026 12:45
…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
Kept the source PR's 'materialize(...)' column-name skip check, re-indented to match antalya-26.6's extra nesting level in createReader (the loop moved inside an 'if (!file_meta_data.value()->columns_info.empty())' block on the base branch).

Source-PR: #1759 (#1759)
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.6 ai-resolved Port conflict auto-resolved by Claude labels Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Workflow [PR], commit [781dc90]

@ianton-ru ianton-ru self-assigned this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-resolved Port conflict auto-resolved by Claude antalya-26.6 releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants