schema IAE and read path NPE after cluster re-deploy
----------------------------------------------------

                 Key: CASSANDRA-3932
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3932
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Peter Schuller
            Assignee: Peter Schuller
             Fix For: 1.1.0


On the same cluster (but later) as the one where we observed CASSANDRA-3931 we 
were running some performance/latency testing. ycsb reads, plus a separate 
little python client. All was fine.

I then did a fast re-deploy for changed GC settings, which would have let to a 
complete cluster restart almost simultaneously (triggering races?). When I 
re-ran my Python client, I suddenly got an error saying Keyspace1 did not 
exist. On re-run I started getting timeouts. Looking at the endpoints of the 
key that I was getting a timeout for, the first error ever seen is:

{code}
java.lang.IllegalArgumentException: Unknown ColumnFamily Standard1 in keyspace 
Keyspace1
        at org.apache.cassandra.config.Schema.getComparator(Schema.java:234)
        at 
org.apache.cassandra.db.ColumnFamily.getComparatorFor(ColumnFamily.java:312)
        at 
org.apache.cassandra.db.ReadCommand.getComparator(ReadCommand.java:94)
        at 
org.apache.cassandra.db.SliceByNamesReadCommand.<init>(SliceByNamesReadCommand.java:44)
        at 
org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:113)
        at 
org.apache.cassandra.db.SliceByNamesReadCommandSerializer.deserialize(SliceByNamesReadCommand.java:81)
        at 
org.apache.cassandra.db.ReadCommandSerializer.deserialize(ReadCommand.java:134)
        at 
org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:53)
        at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{code}

And later in the read path NPE:s like these:

{code}
java.lang.NullPointerException
        at 
org.apache.cassandra.db.Table.createReplicationStrategy(Table.java:321)
        at org.apache.cassandra.db.Table.<init>(Table.java:277)
        at org.apache.cassandra.db.Table.open(Table.java:120)
        at org.apache.cassandra.db.Table.open(Table.java:103)
        at 
org.apache.cassandra.db.ReadVerbHandler.doVerb(ReadVerbHandler.java:54)
        at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to