Skip to content

Antalya 26.8: Native CREATE TABLE / DROP TABLE for DataLakeCatalog; optionally prune on DROP - #2443

Merged
zvonand merged 2 commits into
antalya-26.8from
feature/antalya-26.8/ClickHouse-ClickHouse-pr-98670
Oct 12, 2026
Merged

zvonand merged 2 commits into
antalya-26.8from
feature/antalya-26.8/ClickHouse-ClickHouse-pr-98670

Conversation

@zvonand

@zvonand zvonand commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Dropped from this backport: the AI dropped these surfaces rather than pulling in a missing prerequisite. Reviewers: confirm each is genuinely optional.

  • UnityV2 catalog support (UnityV2Catalog.{h,cpp}, its CREATE TABLE branches, integration test) — depends on the upstream UnityV2 catalog feature not on antalya-26.8
  • DeltaLake catalog registration and DeltaLakeMetadataDeltaKernel createTable/createInitial (incl. UnityCatalog::createTable) — depends on the upstream DeltaLake catalog CREATE TABLE feature not on antalya-26.8

Changelog category (leave one):

  • Improvement

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

Supports CREATE TABLE, CREATE TABLE … AS source, and DROP TABLE for DataLakeCatalog; DROP TABLE can request catalog-side data purge via the new data_lake_delete_data_on_drop setting (ClickHouse#98670 by @zvonand).

Cherry-picked from ClickHouse#98670.

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)

@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.8 Session label (releasy session config) ai-resolved Port conflict auto-resolved by Claude labels Sep 28, 2026
@zvonand zvonand mentioned this pull request Sep 28, 2026
52 tasks done
@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Workflow [PR], commit [f8d6c83]

Native `CREATE TABLE` / `DROP TABLE` for DataLakeCatalog; optionally prune on `DROP`

Adaptations to antalya-26.8:
- `UnityV2Catalog`, `DeltaLakeCatalogRegistration.cpp`, `test_database_unity_v2` and the
  Delta Kernel `createInitial` path do not exist here, so the PR's changes to them are dropped.
- The "table engine without arguments" machinery (`getEngineArgsForNewTable`,
  `buildTableEngineArgs`, `getDefaultTableLocation`, `getDefaultTableEngineName`) is not
  in this branch, so `getNewTableLocation` has no namespace-location branch and the
  related tests in `test_database_glue` are not added.
- `createNamespaceIfNotExists` keeps its two-argument form; an empty location is passed
  where upstream passes none.
- `writesInitialMetadata` does not exist here; `isTransactional` is used in its place in
  `IcebergMetadata::createInitial`.
- `icebergYear`/`icebergMonth`/`icebergDay`/`icebergHour` functions do not exist here, so
  the tests expect `toYearNumSinceEpoch` and `toRelativeDayNum`.
- `SettingsChangesHistory.cpp` records the new settings `data_lake_delete_data_on_drop`
  and `datalake_ignore_unsupported_table_properties`.
@zvonand
zvonand force-pushed the feature/antalya-26.8/ClickHouse-ClickHouse-pr-98670 branch from c971358 to d26895d Compare October 10, 2026 20:55
@zvonand

zvonand commented Oct 12, 2026

Copy link
Copy Markdown
Member Author

@blau-ai

@blau-ai

blau-ai commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

CI triage for #2443 (head f8d6c83)

Verdict: CI is red, but none of the failures are caused by this PR. Every failing
check is pre-existing / infra / flaky at the antalya-26.8 branch level. I confirmed this
by comparing against a small, unrelated sibling PR on the same base — #2541 (a one-line
nullcheck) shows the exact same failure set: Grype (keeper + server-alpine), the
amd_asan_ubsan integration shard 3/8, Parser memory check, and 60 Regression modules.

Evidence base: the authoritative praktika report for this commit
(result_pr.json, run 38143533818).
In that run the PR's own functional surface is green (details below).


Per-failure classification

1. Parser memory check — ERROR → infra, not PR-related
Decisive line from the report: step "Resolve master binary" → No master clickhouse-examples artifact was found (Failures: 1/2).
The job compares this PR's binary parser memory against a master baseline binary; that
baseline artifact wasn't published, so the job errored before running any comparison. Same
error on #2541. → Re-run once a master clickhouse-examples build exists; nothing to fix in this PR.

2. Grype Scan (clickhouse-keeper, clickhouse-server -alpine) — fail → pre-existing, not PR-related
Container image vulnerability scans: 4 high/critical (keeper), 1 high/critical (server-alpine).
These are CVEs in the base image OS packages/libraries. This PR changes only src/ C++ and
integration-test .py/.xml files — no Dockerfiles, no dependency or submodule bumps — so it
cannot introduce or remove these. Identical on #2541. → Base-image refresh / allowlist at branch level.

3. Integration tests (amd_asan_ubsan, db disk, old analyzer, 3/8) — fail → stale + pre-existing, not PR-related
In this commit's run the job is SKIPPED (Antalya CI excludes the ubsan tag), so it did not
even execute here — the fail (1/715) entry is a stale check-run. The same shard fails on #2541
(where it did run, ~1h29m), so it's a pre-existing flaky/broken test on the branch. Crucially, the
integration tests that did run on #2443 — Integration tests (arm_binary, distributed plan, 1..4/4),
which include the Iceberg/Glue DataLake tests this PR actually touches — all passed with 0 failures.

4. Regression (aarch64) — 60 modules fail → flaky / infra, not PR-related
Altinity TestFlows regression suite run against the merge commit. Failing modules span
aggregate_functions, alter_*, lightweight_delete, atomic_insert, engines, selects,
oauth, s3/azure — none of which touch DataLakeCatalog CREATE/DROP TABLE. The cas_*
modules show the classic infra pattern 35 retries (7 ok, 2 failed, 26 retried) = environment/setup
retries, not test-logic failures. The same 60 regression modules are red on #2541. → Systemic; triage at branch level.

5. "Unit tests (asan_ubsan / msan / tsan)" and the aggregate "PR" gate
The sanitizer unit-test checks are SKIPPED in this run (Antalya excludes ubsan/tsan/msan);
their fail entries in gh pr checks are stale check-runs. The top-level PR check is just the
aggregate gate going red because of the checks above.


Health check (what this PR's own CI proves)

All builds succeeded (amd/arm debug, binary, release). Functional coverage is green:

  • Stateless tests: 0 failures — amd_debug parallel 13,251 ✓ / sequential 951 ✓, distributed-plan+s3 parallel 12,941 ✓ / sequential 894 ✓, arm_binary parallel 13,366 ✓ / sequential 965 ✓.
  • Integration tests (arm_binary, distributed plan, 4 shards): 0 failures (~7,679 tests), including this PR's Iceberg/Glue DataLake tests.
  • Stress tests (amd/arm debug, arm release): 0 failures. AST fuzzer / BuzzHouse completed (timeout = normal end, no crash). Compatibility + install-packages: pass. SQLLogic / SQLStorm within thresholds.

Recommendation: no code changes are warranted for any of the failing checks — they are
environmental/pre-existing and equally red on the unrelated sibling PR #2541. The Parser memory check
can be re-run once master artifacts are available; the Grype and regression/amd_asan_ubsan
integration failures need branch-level attention, not a change here.

— @blau-ai · evidence: praktika run 38143533818, comparison PR #2541. I can't build/run ClickHouse in this job, so this is a static + CI-report triage.

@zvonand
zvonand merged commit 8e5015a into antalya-26.8 Oct 12, 2026
718 of 861 checks passed
@zvonand zvonand added verified Approved for release port-antalya PRs to be ported to all new Antalya releases labels Oct 12, 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 antalya-26.8 Session label (releasy session config) port-antalya PRs to be ported to all new Antalya releases releasy Created/managed by RelEasy verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants