You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jay Zhuang (JIRA)" <ji...@apache.org> on 2018/05/02 19:25:00 UTC

[jira] [Commented] (CASSANDRA-14379) Better handling of missing partition columns in system_schema.columns during startup

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

Jay Zhuang commented on CASSANDRA-14379:
----------------------------------------

Thanks [~iamaleksey] for the review. Updated the patch based on your comments and committed as [eb68c31|https://github.com/apache/cassandra/commit/eb68c3126270e27fd9c88ef867bbcb8c7942a8e8].

> Better handling of missing partition columns in system_schema.columns during startup
> ------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-14379
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14379
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Distributed Metadata
>            Reporter: Jay Zhuang
>            Assignee: Jay Zhuang
>            Priority: Major
>             Fix For: 3.0.x, 3.11.x, 4.x
>
>
> Follow up for CASSANDRA-13180, during table deletion/creation, we saw one table having partially deleted columns (no partition column, only regular column). It's blocking node from startup:
> {noformat}
> java.lang.AssertionError: null
>         at org.apache.cassandra.db.marshal.CompositeType.getInstance(CompositeType.java:103) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.config.CFMetaData.rebuild(CFMetaData.java:308) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.config.CFMetaData.<init>(CFMetaData.java:288) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.config.CFMetaData.create(CFMetaData.java:363) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.schema.SchemaKeyspace.fetchTable(SchemaKeyspace.java:1028) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.schema.SchemaKeyspace.fetchTables(SchemaKeyspace.java:987) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:945) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesWithout(SchemaKeyspace.java:922) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.schema.SchemaKeyspace.fetchNonSystemKeyspaces(SchemaKeyspace.java:910) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:138) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.config.Schema.loadFromDisk(Schema.java:128) ~[apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:241) [apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:567) [apache-cassandra-3.0.14.x.jar:3.0.14.x]
>         at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:695) [apache-cassandra-3.0.14.x.jar:3.0.14.x]
> {noformat}
> As partition column is mandatory, it should throw [{{MissingColumns}}|https://github.com/apache/cassandra/blob/60563f4e8910fb59af141fd24f1fc1f98f34f705/src/java/org/apache/cassandra/schema/SchemaKeyspace.java#L1351], the same as CASSANDRA-13180, so the user is able to cleanup the schema.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org