Skip to content

Antalya 26.4: support external paths in Iceberg tables#1893

Open
zvonand wants to merge 2 commits into
antalya-26.4from
feature/antalya-26.4/pr-1859
Open

Antalya 26.4: support external paths in Iceberg tables#1893
zvonand wants to merge 2 commits into
antalya-26.4from
feature/antalya-26.4/pr-1859

Conversation

@zvonand

@zvonand zvonand commented Jun 7, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Improvement

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

Support Iceberg tables that have data files outside the table location or on a different object storage. Cherry-picked from ClickHouse#90740 (by @zvonand) (#1859 by @zvonand).

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)

Cherry-picked from #1859.

zvonand and others added 2 commits June 7, 2026 22:42
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1859 from Altinity/feat/antalya-26.3/90740

Antalya 26.3: support external paths in Iceberg tables
# Conflicts:
#	src/IO/S3/URI.cpp
#	src/IO/S3/URI.h
#	src/Storages/ObjectStorage/DataLakes/Iceberg/IcebergIterator.cpp
#	src/Storages/ObjectStorage/DataLakes/Iceberg/IcebergIterator.h
#	src/Storages/ObjectStorage/DataLakes/Iceberg/IcebergMetadata.cpp
#	src/Storages/ObjectStorage/DataLakes/Iceberg/IcebergMetadata.h
#	src/Storages/ObjectStorage/DataLakes/Iceberg/Mutations.cpp
#	src/Storages/ObjectStorage/DataLakes/Iceberg/Utils.h
#	src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
#	src/Storages/ObjectStorage/StorageObjectStorageStableTaskDistributor.cpp
Cherry-pick of #1859
("Antalya 26.3: support external paths in Iceberg tables")
into antalya-26.4.

Key conflict resolutions:
- `S3::URI`: combined antalya-26.4's `S3UriStyle uri_style` (4th param) with
  source PR's `enable_url_encoding` (now 4th) and `uri_style` moved to 5th;
  updated callers in `diskSettings.cpp` and `ObjectStorageFactory.cpp`
- `Mutations.cpp`: `ExpireSnapshots` code was moved to
  `ExpireSnapshotsExecute.cpp` by antalya-26.4 commit `edbf63227a8`;
  dropped the conflicted block from "theirs" and adapted
  `ExpireSnapshotsExecute.cpp` to pass `SecondaryStorages` to
  `getManifestList` and `getManifestFileEntriesHandle`
- `StorageObjectStorageStableTaskDistributor.cpp`: `getFileIdentifier`,
  `saveLastNodeActivity`, and `rescheduleTasksFromReplica` do not exist on
  antalya-26.4; dropped those blocks
- `IcebergMetadata.cpp/.h`: added `secondary_storages` member and init;
  kept antalya-26.4's `PersistentTableComponents &&` constructor pattern
- `StorageObjectStorageSource.cpp`: combined path_for_virtual_column (theirs)
  with `storage_id` field (ours); used `getResolvedStorageFromObjectInfo`
  and `configuration->compression_method` field (not method)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.4 ai-resolved Port conflict auto-resolved by Claude labels Jun 7, 2026
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Workflow [PR], commit [474e670]

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.4 releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant