cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13813) Don't let user drop (or generally break) tables in system_distributed
Date Tue, 29 Aug 2017 12:32:00 GMT

    [ 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message