Skip to content

Disallow ALTERs for Object Storage table engines#91573

Merged
evillique merged 1 commit intoClickHouse:masterfrom
evillique:forbid-object-storage-alters
Dec 8, 2025
Merged

Disallow ALTERs for Object Storage table engines#91573
evillique merged 1 commit intoClickHouse:masterfrom
evillique:forbid-object-storage-alters

Conversation

@evillique
Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Bug Fix (user-visible misbehavior in an official stable release)

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

Disallow ALTERs for Object Storage table engines. For example, ALTER ADD PROJECTION could have led to an inability to restart the server, since Object Storage engines do not support projections.

Reference #85769

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

@clickhouse-gh
Copy link
Copy Markdown
Contributor

clickhouse-gh bot commented Dec 5, 2025

Workflow [PR], commit [b94cccc]

Summary:

job_name test_name status info comment
BuzzHouse (amd_debug) failure
Logical error: 'Inconsistent AST formatting: the query: (STID: 2508-11b5) FAIL cidb

@clickhouse-gh clickhouse-gh bot added the pr-bugfix Pull request with bugfix, not backported by default label Dec 5, 2025
@evillique evillique changed the title Disallow ALTERs for Object Storages Disallow ALTERs for Object Storage table engines Dec 5, 2025
@scanhex12 scanhex12 self-assigned this Dec 5, 2025
@evillique evillique added the pr-must-backport Pull request should be backported intentionally. Use this label with great care! label Dec 5, 2025
@thevar1able thevar1able self-assigned this Dec 5, 2025
@evillique evillique added this pull request to the merge queue Dec 8, 2025
Merged via the queue into ClickHouse:master with commit fa73a5e Dec 8, 2025
371 of 382 checks passed
@evillique evillique deleted the forbid-object-storage-alters branch December 8, 2025 08:21
@robot-ch-test-poll3 robot-ch-test-poll3 added the pr-synced-to-cloud The PR is synced to the cloud repo label Dec 8, 2025
@robot-clickhouse-ci-1 robot-clickhouse-ci-1 added the pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR label Dec 8, 2025
robot-ch-test-poll2 added a commit that referenced this pull request Dec 8, 2025
Cherry pick #91573 to 25.10: Disallow ALTERs for Object Storage table engines
robot-ch-test-poll2 added a commit that referenced this pull request Dec 8, 2025
Cherry pick #91573 to 25.11: Disallow ALTERs for Object Storage table engines
clickhouse-gh bot added a commit that referenced this pull request Dec 8, 2025
Backport #91573 to 25.10: Disallow ALTERs for Object Storage table engines
clickhouse-gh bot added a commit that referenced this pull request Dec 8, 2025
Backport #91573 to 25.11: Disallow ALTERs for Object Storage table engines
robot-ch-test-poll3 added a commit that referenced this pull request Dec 8, 2025
Cherry pick #91573 to 25.9: Disallow ALTERs for Object Storage table engines
robot-ch-test-poll4 added a commit that referenced this pull request Dec 8, 2025
Cherry pick #91573 to 25.8: Disallow ALTERs for Object Storage table engines
@robot-ch-test-poll1 robot-ch-test-poll1 added the pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore label Dec 8, 2025
evillique added a commit that referenced this pull request Dec 9, 2025
Backport #91573 to 25.9: Disallow ALTERs for Object Storage table engines
evillique added a commit that referenced this pull request Dec 9, 2025
Backport #91573 to 25.8: Disallow ALTERs for Object Storage table engines
@kssenii
Copy link
Copy Markdown
Member

kssenii commented Dec 12, 2025

Disallow ALTERs for Object Storage table engines. For example, ALTER ADD PROJECTION could have led to an inability to restart the server, since Object Storage engines do not support projections.

Why not just disallow alters which include projections? Was there a problem with non-projection alters?
IMO this PR must be marked backward-incompatible at least, and not sure if we allow backporting backward imcompatible changes.

@evillique
Copy link
Copy Markdown
Member Author

@kssenii Because in the PR I referenced the ALTERs for Object Storage engines were enabled by mistake, without tests for any of them, other than for the DataLakes, which this PR does not touch.

We already disabled ADD_INDEX before that, now we need to disable ADD_PROJECTION, and who knows how many untested ALTERS breaking the production we will need to add.

So if none of them are tested it makes sense to forbid every type of them, essentially returning to the behaviour that was there before that PR.

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

Labels

pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore pr-bugfix Pull request with bugfix, not backported by default pr-must-backport Pull request should be backported intentionally. Use this label with great care! pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants