cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-5815) NPE from migration manager
Date Fri, 18 Oct 2013 18:04:42 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-5815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Brandon Williams updated CASSANDRA-5815:
----------------------------------------

    Attachment: 5185.txt

Mostly this problem is cosmetic, but the crux of it is that in a couple of places we assume
that since we're in a call regarding an endpoint, the gossiper will always know about the
endpoint while we're in the call.  This isn't the case with fat clients though, which the
gossiper could expire at any time.  Patch to check that the gossiper actually still knows
about the endpoint to avoid the NPE.

> NPE from migration manager
> --------------------------
>
>                 Key: CASSANDRA-5815
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5815
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.12
>            Reporter: Vishy Kasar
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 1.2.12
>
>         Attachments: 5185.txt
>
>
> In one of our production clusters we see this error often. Looking through the source,
Gossiper.instance.getEndpointStateForEndpoint(endpoint) is returning null for some end point.
De we need any config change on our end to resolve this? In any case, cassandra should be
updated to protect against this NPE.
> ERROR [OptionalTasks:1] 2013-07-24 13:40:38,972 AbstractCassandraDaemon.java (line 132)
Exception in thread Thread[OptionalTasks:1,5,main] 
> java.lang.NullPointerException 
> at org.apache.cassandra.service.MigrationManager$1.run(MigrationManager.java:134) 
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
> at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)

> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)

> 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)
> It turned out that the reason for NPE was we bootstrapped a node with the same token
as another node. Cassandra should not throw an NPE here but log a meaningful error message.




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message