[ 
https://issues.apache.org/jira/browse/CASSANDRA-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16194557#comment-16194557
 ] 

Aleksey Yeschenko commented on CASSANDRA-13813:
-----------------------------------------------

[~slebresne] I don't believe it's reasonable to keep bugs in the codebase just 
because they mask out other bugs. Leaving this ability is dangerous, as it 
breaks the assumptions we make about replicated system keyspaces, and the way 
we alter them. Those who make these changes manually - because we weren't 
careful enough and haven't shielded them from being able to - might have to pay 
the price later, when their cluster are unable to pick up our altered defaults, 
because of our bumped hardcoded timestamps being smaller than the new ones set 
via {{ALTER TABLE}}.

FWIW, those who are really keen to work around this issue, might as well alter 
{{system_schema.tables}} manually, and get the desired result. With just as 
much risk.

Either way, again, I don't believe that keeping the bug in just because it 
masks the bug in CASSANDRA-12701 is reasonable. So if you are only slightly 
concerned and don't mind really strongly, I'd prefer to go ahead and fix this 
issue here and now, before more people shoot themselves in the feet.



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

Reply via email to