[ 
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]

Reply via email to