cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13813) Don't let user drop (or generally break) tables in system_distributed
Date Fri, 06 Oct 2017 13:09:00 GMT

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


Mime
View raw message