Skip to content

Antalya 26.6: Query condition cache for iceberg tables - #2147

Open
zvonand wants to merge 2 commits into
antalya-26.6from
feature/antalya-26.6/pr-1804
Open

Antalya 26.6: Query condition cache for iceberg tables#2147
zvonand wants to merge 2 commits into
antalya-26.6from
feature/antalya-26.6/pr-1804

Conversation

@zvonand

@zvonand zvonand commented Aug 3, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • New Feature

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Query condition cache for iceberg tables (ClickHouse#102115 by @scanhex12).

Cherry-picked from ClickHouse#102115.

--- (#1804 by @zvonand).

Cherry-picked from #1804.


Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

zvonand added 2 commits August 3, 2026 14:39
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1804 from Altinity/feature/antalya-26.3/ClickHouse-ClickHouse-pr-102115

Antalya 26.3: Query condition cache for iceberg tables
# Conflicts:
#	src/Databases/DataLake/DatabaseDataLake.cpp
#	src/Processors/Formats/Impl/ParquetBlockInputFormat.cpp
#	src/Processors/Formats/Impl/ParquetBlockInputFormat.h
#	src/Storages/ObjectStorage/IObjectIterator.h
#	src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
All of #1804's changes are already present on antalya-26.6 (ported
earlier): FormatFilterInfo::condition_hash, ParquetV3BlockInputFormat::
getMatchedBuckets / ParquetFileBucketInfo::filterByMatchingRowGroups,
the query-condition-cache read/write paths in
StorageObjectStorageSource / IObjectIterator, table UUIDs in
DatabaseDataLake. Therefore every conflict hunk resolves to "ours":

* DatabaseDataLake.cpp: keep the base-branch shape (StorageID already
  carries table_uuid; `cluster_name` was replaced by
  `parallel_replicas_cluster_name`, and `context_copy` is still a
  StorageObjectStorage ctor argument on antalya-26.6).
* IObjectIterator.h: keep `#include <IO/Progress.h>`; the PR's includes
  and the ObjectIteratorSplitByBuckets storage_id/format_filter_info
  members are already there.
* StorageObjectStorageSource.cpp: keep the existing includes and the
  already-present query-condition-cache loop; the incoming duplicate
  and its `relative_path_with_metadata.getCommand()` retry block (not
  part of #1804's diff, context from another Antalya PR) are dropped.
* ParquetBlockInputFormat.{cpp,h}: these files were deleted on
  antalya-26.6 by 011cbc8 ("move ParquetFileBucketInfo into
  ParquetV3BlockInputFormat, delete old files") / 80f3bb8 ("Remove
  old Parquet writer and reader implementations"); the modify/delete
  conflict re-added them. Removed again — #1804's
  filterByMatchingRowGroups already lives in
  ParquetV3BlockInputFormat.cpp on the base branch.
@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 [5886a19]

@zvonand zvonand added the forwardport This is a frontport of code that existed in previous Antalya versions label Aug 4, 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 forwardport This is a frontport of code that existed in previous Antalya versions releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant