[
https://issues.apache.org/jira/browse/CASSANDRA-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16196789#comment-16196789
]
Aleksey Yeschenko commented on CASSANDRA-13813:
-----------------------------------------------
bq. I'm not sure I understand the problem. If user have manually and knowingly
updated some table params, my guess is that they expect (even rely on) future
changes to defaults to not override their changes. Isn't the whole point why
we've picked 0 for our hardcoded timestamp in fact?
Right. But the way ALTER works, we serialise the whole table, including all
params and all columns, with the new timestamp in {{system_schema.*}} tables.
Which makes it impossible for us to change the defaults later, even those that
the user didn't modify on purpose. And this isn't something we can change very
easily in a minor I'm afraid.
This is why we don't allow altering anything beyond keyspace params, and why
this issue is, as it stands, a serious bug, and was never intended to be
allowed.
> Don't let user drop (or generally break) tables in system_distributed
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-13813
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13813
> Project: Cassandra
> Issue Type: Bug
> Components: Distributed Metadata
> Reporter: Sylvain Lebresne
> Assignee: Aleksey Yeschenko
> Fix For: 3.0.x, 3.11.x
>
>
> There is not currently no particular restrictions on schema modifications to
> tables of the {{system_distributed}} keyspace. This does mean you can drop
> those tables, or even alter them in wrong ways like dropping or renaming
> columns. All of which is guaranteed to break stuffs (that is, repair if you
> mess up with on of it's table, or MVs if you mess up with
> {{view_build_status}}).
> I'm pretty sure this was never intended and is an oversight of the condition
> on {{ALTERABLE_SYSTEM_KEYSPACES}} in
> [ClientState|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/ClientState.java#L397].
> That condition is such that any keyspace not listed in
> {{ALTERABLE_SYSTEM_KEYSPACES}} (which happens to be the case for
> {{system_distributed}}) has no specific restrictions whatsoever, while given
> the naming it's fair to assume the intention that exactly the opposite.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]