[
https://issues.apache.org/jira/browse/CASSANDRA-11065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148836#comment-15148836
]
Yuki Morishita commented on CASSANDRA-11065:
--------------------------------------------
[~pauloricardomg] Checking whether the schema (ks/table) exists is something we
need to do whenever we encounter {{Keyspace.open...}} through out the project.
And I think what we do when we find schema is missing is vary.
I prefer fixing {{RepairVerbHandler}} only in this case.
Now, your patch throws {{KeyspaceNotDefinedException}} which is
RuntimeException, so it can hang repair process. And for the first case, we can
fail when accessing pair of Strings got from {{Pair<String, String> kscf =
Schema.instance.getCF(cfId);}}, not from {{Keyspace.open}}.
For each cases, we should log error and send back message that indicates
"failure".
- PREPARE_* and SNAPSHOT: send back INTERNAL_RESPONSE with failure flag on (as
done in SNAPSHOT)
- VALIDATION_REQUEST: send back ValidationResponse with empty tree (see
Validator)
> null pointer exception in CassandraDaemon.java:195
> --------------------------------------------------
>
> Key: CASSANDRA-11065
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11065
> Project: Cassandra
> Issue Type: Bug
> Reporter: Vassil Lunchev
> Assignee: Paulo Motta
> Priority: Minor
>
> Running Cassandra 3.0.1 installed from apt-get on debian.
> I had a keyspace called 'tests'. I dropped it. Then I checked some nodes and
> one of them still had that keyspace 'tests'. On a node that still has the
> dropped keyspace I ran:
> nodetools repair tests;
> In the system logs of another node that did not have keyspace 'tests' I am
> seeing a null pointer exception:
> {code:java}
> ERROR [AntiEntropyStage:2] 2016-01-25 15:02:46,323
> RepairMessageVerbHandler.java:161 - Got error, removing parent repair session
> ERROR [AntiEntropyStage:2] 2016-01-25 15:02:46,324 CassandraDaemon.java:195 -
> Exception in thread Thread[AntiEntropyStage:2,5,main]
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:164)
> ~[apache-cassandra-3.0.1.jar:3.0.1]
> at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67)
> ~[apache-cassandra-3.0.1.jar:3.0.1]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> ~[na:1.8.0_66-internal]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ~[na:1.8.0_66-internal]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_66-internal]
> Caused by: java.lang.NullPointerException: null
> at
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:69)
> ~[apache-cassandra-3.0.1.jar:3.0.1]
> ... 4 common frames omitted
> {code}
> The error appears every time I run:
> nodetools repair tests;
> I can see it in the logs of all nodes, including the node on which I run the
> repair.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)