Jay Zhuang created CASSANDRA-14379:
--------------------------------------

             Summary: 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


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

Reply via email to