[
https://issues.apache.org/jira/browse/CASSANDRA-3023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13085309#comment-13085309
]
Brandon Williams commented on CASSANDRA-3023:
---------------------------------------------
This is going to happen anytime a) the tokens are known from being persisted in
the system table and (so the coordinator knows about the nodes) but b) it has
not actually talked to them, so it has no state information yet. There's no
good way to fix this, because either we leave out tokens that we know about but
do not have any other information for, or we just leave the NPE. On the bright
side, the window to trigger this should be very short, probably just a handful
of seconds at most.
> 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
>
> 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