Skip to content

Antalya 26.6: Change the interface for Iceberg inserts with the catalog - #2204

Closed
zvonand wants to merge 2 commits into
antalya-26.6from
feature/antalya-26.6/pr-1800-1
Closed

Antalya 26.6: Change the interface for Iceberg inserts with the catalog#2204
zvonand wants to merge 2 commits into
antalya-26.6from
feature/antalya-26.6/pr-1800-1

Conversation

@zvonand

@zvonand zvonand commented Aug 13, 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):

Change the interface for Iceberg inserts with the catalog.
Deprecate settings: storage_catalog_type, storage_aws_access_key_id, etc (ClickHouse#100334 by @scanhex12).

Cherry-picked from ClickHouse#100334.

--- (#1800 by @zvonand).

Cherry-picked from #1800.


Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

…next commit)

---
Original cherry-pick message follows:

Merge pull request #1800 from Altinity/feature/antalya-26.3/ClickHouse-ClickHouse-pr-100334

Antalya 26.3: Change the interface for Iceberg inserts with the catalog
# Conflicts:
#	src/Databases/DataLake/DatabaseDataLake.cpp
#	src/Storages/ObjectStorage/DataLakes/DataLakeConfiguration.h
#	src/TableFunctions/TableFunctionObjectStorage.cpp
#	tests/integration/test_database_glue/test.py
#	tests/integration/test_database_iceberg/test.py
antalya-26.6 already carries the upstream change this PR ports
(ClickHouse#100334, released in 26.4) plus later refinements,
so every conflicted hunk resolves to "ours":

* DatabaseDataLake.cpp: 26.6 split catalog construction into
  initialize() (void, called under catalog_mutex) + getCatalog() with
  lazy first-access init, which already implements the PR's
  "return cached catalog before checking catalog_type" intent; the
  cherry-pick's `return catalog_impl;` belongs to the old single
  getCatalog() body and cannot apply.
* DataLakeConfiguration.h: 26.6 already has
  getCatalog(ContextPtr, const StorageID &) with the deprecated-setting
  guard and the tryGetDatabase/dynamic_pointer_cast lookup (commits
  555f912, a9c4ab2). The cherry-pick's second block is the
  StorageIcebergConfiguration dynamic-storage class and the
  is_cluster_supported template parameter, neither of which exists on
  26.6 and neither of which is part of #1800's diff.
* TableFunctionObjectStorage.cpp: 26.6's StorageObjectStorageCluster
  constructor ends at `is_table_function` and takes no catalog
  argument, so the PR's `configuration->getCatalog(...)` ->
  `/* catalog */ nullptr` change has no call site to update.
* test_database_glue/test.py, test_database_iceberg/test.py: the
  SET-statements -> settings={} conversion from #1800 is already
  present; the remaining conflicts are 26.6-specific test content
  (minio1:9001 endpoints, hardcoded DataLakeCatalog engine, and the
  test_not_specified_catalog_type variant that asserts the
  "Unspecified catalog type" error), which #1800 does not touch.
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.6 forwardport This is a frontport of code that existed in previous Antalya versions ai-resolved Port conflict auto-resolved by Claude labels Aug 13, 2026
@github-actions

Copy link
Copy Markdown

Workflow [PR], commit [4fc485f]

@zvonand zvonand mentioned this pull request Aug 13, 2026
54 tasks
@zvonand zvonand closed this Aug 13, 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