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

Brandon Williams commented on CASSANDRA-3023:
---------------------------------------------

This will happen in a mixed cluster because nodes prior to CASSANDRA-1777 will 
not have advertised the information that describe_ring now relies on, causing 
the NPE when the nodes that do have 1777 try to access it.

There's not a lot we can do here.  We can basically return half-broken data for 
nodes that haven't advertised this info yet, but that puts us back to before 
CASSANDRA-1777, so it's not much of a win.  I can't think of a reason why 
clients would need to call describe_ring while there's an upgrade in process; 
topology isn't changing.

> NPE in describe_ring
> --------------------
>
>                 Key: CASSANDRA-3023
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3023
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.4
>            Reporter: Eric Falcao
>            Assignee: Brandon Williams
>
> Not sure how much of the following is relevant besides the stack trace, but 
> here I go:
> I have a 2 DC, 2 node per DC cluster. DC1 had it's seed replaced but I hadn't 
> restarted. I upgraded to 0.8.4 in the following fashion:
> -edited seeds
> -stopped both DC1 nodes
> -upgraded jars
> -started both nodes at the same time
> The non-seed node came up first and showed the following error. Then when the 
> seed node came up, the error went away on the non-seed node but started 
> occurring on the seed node:
> ERROR [pool-2-thread-15] 2011-08-12 22:32:27,438 Cassandra.java (line 3668) 
> Internal error processing describe_ring
> java.lang.NullPointerException
>       at 
> org.apache.cassandra.service.StorageService.getRangeToRpcaddressMap(StorageService.java:623)
>       at 
> org.apache.cassandra.thrift.CassandraServer.describe_ring(CassandraServer.java:731)
>       at 
> org.apache.cassandra.thrift.Cassandra$Processor$describe_ring.process(Cassandra.java:3664)
>       at org.apache.cassandra.thrift.Brisk$Processor.process(Brisk.java:464)
>       at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
>       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:619)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to