Skip to content

25.8.16 Stable: Add guard for local data lakes - #1530

Merged
zvonand merged 5 commits into
releases/25.8.16from
fix/25.8.16/add-local-data-lake-guard
Mar 18, 2026
Merged

25.8.16 Stable: Add guard for local data lakes#1530
zvonand merged 5 commits into
releases/25.8.16from
fix/25.8.16/add-local-data-lake-guard

Conversation

@zvonand

@zvonand zvonand commented Mar 16, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Critical Bug Fix (crash, data loss, RBAC) or LOGICAL_ERROR

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

Add setting allow_local_data_lakes. Off by default.

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)
  • Tiered Storage (2h)

@zvonand zvonand added 25.8.16 25.8.16 Stable 25.8.16.10002 labels Mar 16, 2026
@github-actions

github-actions Bot commented Mar 16, 2026

Copy link
Copy Markdown

Workflow [PR], commit [9a74a55]

@zvonand
zvonand merged commit 7831f2b into releases/25.8.16 Mar 18, 2026
309 of 314 checks passed
@alsugiliazova

alsugiliazova commented Mar 19, 2026

Copy link
Copy Markdown
Member

Audit Report for PR #1530

Confirmed Defects

Low: Incorrect previous_value in SettingsChangesHistory for allow_local_data_lakes

  • Impact: Users with compatibility set to a version older than 25.8.16.10002 will have local data lakes remain disabled, even though in those older versions the feature was implicitly allowed (no guard existed).
  • Anchor: src/Core/SettingsChangesHistory.cpp / addSettingsChanges(..., "25.8.16.10002", {...})
  • Trigger: Set SET compatibility = '25.8.13.10001' (or any version < 25.8.16.10002) and attempt CREATE TABLE ... ENGINE = IcebergLocal(...) or icebergLocal(...).
  • Why defect: applyCompatibilitySetting() iterates versions higher than the compatibility version and sets each affected setting to previous_value. For allow_local_data_lakes, previous_value was set to false. Before this PR, local data lakes had no guard—they were implicitly allowed. The correct previous_value for backward compatibility is true.
  • Fix direction: Change previous_value to true: {"allow_local_data_lakes", true, false, "..."}.
  • Regression test direction: Add test with compatibility set to pre-25.8.16.10002 version; verify IcebergLocal/deltaLakeLocal work without explicit allow_local_data_lakes.
  • Subsystem: Core/Settings compatibility.
  • Blast radius: Users relying on compatibility for backward compatibility.

Code evidence:

// src/Core/SettingsChangesHistory.cpp:41-43
addSettingsChanges(settings_changes_history, "25.8.16.10002",
{
   {"allow_local_data_lakes", false, false, "New setting to guard local data lake engines and table functions"},
});

@alsugiliazova

Copy link
Copy Markdown
Member

PR #1530 CI Verification Report

CI Results: 224 success, 2 failures, 2 errors, 21 BROKEN

Failures (2)

# Suite Error Related to PR Flakiness (cidb, 90d)
1 Grype Scan (clickhouse-server altinitystable-alpine) 1 high/critical CVE (CVE-2026-2673) No — container image security scan N/A
2 Grype Scan (clickhouse-server altinitytest-alpine) 1 high/critical CVE (CVE-2026-2673) No — container image security scan N/A

Errors (2)

# Suite Error Related to PR
1 Regression aarch64 clickhouse_keeper_no_ssl_2 Job did not complete No — infrastructure
2 Regression aarch64 session_timezone Job did not complete No — infrastructure

BROKEN Tests (21) — All Known/Flaky, None Related to PR

# Suite Test Annotation Flakiness (cidb, 90d)
1-5 Integration (amd_asan 1/6, amd_binary 1/5, amd_tsan 1/6, arm_binary 1/4, arm_binary 4/4) test_backup_restore_on_cluster/test_cancel_backup.py::test_shutdown_cancels_backup INVESTIGATE - NETLINK_ERROR 29 failures / 9 days
6-9 Integration (amd_asan 6/6, amd_binary 2/5, amd_tsan 6/6, arm_binary 1/4) test_backup_restore_on_cluster/test_different_versions.py::test_different_versions INVESTIGATE - NETLINK_ERROR 118 failures / 25 days
10 Integration (amd_tsan, 3/6) test_overcommit_tracker/test.py::test_user_overcommit INVESTIGATE - AssertionError on tsan 13 failures / 3 days
11-12 Integration (amd_binary 1/5, arm_binary 4/4) test_storage_s3_queue/test_0.py::test_streaming_to_many_views[ordered] KNOWN - Unstable upstream 85 failures / 19 days
13 Integration (arm_binary 4/4) test_dirty_pages_force_purge/test.py::test_dirty_pages_force_purge KNOWN: #1369 7 failures / 2 days
14-19 Stateless (amd_asan 2/2, amd_debug async, amd_ubsan par) 03441_deltalake_clickhouse_public_datasets / 03441_deltalake_clickhouse_virtual_columns INVESTIGATE - S3 sometimes unreachable 3 failures / 3 days
20 Stateless (amd_asan seq, amd_ubsan seq) 02700_s3_part_INT_MAX KNOWN - Memory limit exceeded Known
21 Stateless (amd_msan, seq, 1/2) 00024_random_counters INVESTIGATE - random timeout 6 failures / 5 days

Regression Tests: 128 passed, 2 errors

All 128 regression suites passed (both Release and Aarch64), including:

  • Iceberg (1, 2) — Aarch64 and Release — all passed
  • AggregateFunctions (1, 2, 3) — all passed
  • S3 (minio, aws_s3, gcs, azure) — all passed
  • S3Export (part, partition) — all passed
  • Parquet / ParquetS3 — all passed
  • TieredStorage (local, minio, s3amazon, s3gcs) — all passed
  • LDAP (authentication, external_user_directory, role_mapping) — all passed
  • RBAC (1, 2, 3) — all passed
  • SSLServer (1, 2, 3) — all passed
  • ClickHouseKeeper — all passed (except aarch64 no_ssl_2: job did not complete)
  • Alter (move, attach, replace) — all passed
  • Common suites (swarms, engines, functions, data_types, dns, kafka, kerberos, etc.) — all passed

2 regression errors were infrastructure issues (jobs did not complete), not test failures.

Conclusion

PR #1530 is verified.

@mkmkme

mkmkme commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Antalya 25.8 is covered by #1531

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

25.8 25.8 Altinity Stable 25.8.16 25.8.16 Stable 25.8.16.10002 antalya-25.8 verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants