[
https://issues.apache.org/jira/browse/CASSANDRA-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16145207#comment-16145207
]
Sylvain Lebresne commented on CASSANDRA-13813:
----------------------------------------------
bq. The reason it isn't listed is because we want to allow changing the
replication strategy/factor on those keyspaces themselves.
The name of the set makes it clear what the _intention_ was. What I'm saying is
that the code doesn't implement that intention. Currently, you can alter the
replication strategy/factor of _all_ system distributed keyspace, even
{{system_distributed}}, and I'm reasonably convinced that wasn't the intention.
This certainly isn't hard to fix though.
Now with that said, I happen to not particularly see a terribly good reason to
limit which of the system distributed keyspace can have their strategy/factor
changed (and again, despite the original code intention, we currently _don't_
have such limit), so instead of simply making the check on
{{ALTERABLE_SYSTEM_KEYSPACES}} work as originally intended (and thus starting
to forbid changing the RF on {{system_distributed}}), I'd advocate for just
removing {{ALTERABLE_SYSTEM_KEYSPACES}} and deal with all those keyspace
consistently. Just my 2 cents though.
> 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
> Reporter: Sylvain Lebresne
> 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]