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-5211) Migrating Clusters with gossip tables that have old dead nodes causes NPE, inability to join cluster
Date Wed, 06 Feb 2013 14:21:15 GMT

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

Brandon Williams updated CASSANDRA-5211:
----------------------------------------

    Attachment: 5211.txt

Confirmed that a null tokens list won't cause this.  Regardless of how we got here, it's more
correct to confirm the existence of the dc and rack than just the dc, so patch to do so.
                
> Migrating Clusters with gossip tables that have old dead nodes causes NPE, inability
to join cluster
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-5211
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5211
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.1
>            Reporter: Rick Branson
>            Assignee: Brandon Williams
>         Attachments: 5211.txt
>
>
> I had done a removetoken on this cluster when it was 1.1.x, and it had a "ghost" entry
for the removed node still in the stored ring data. When the nodes loaded the table up after
conversion to 1.2 and attempting to migrate to VNodes, I got the following traceback:
> ERROR [WRITE-/10.0.0.0] 2013-01-31 18:35:44,788 CassandraDaemon.java (line 133) Exception
in thread Thread[WRITE-/10.0.0.0,5,main]
> java.lang.NullPointerException
> 	at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:167)
> 	at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:124)
> 	at org.apache.cassandra.cql.jdbc.JdbcUTF8.getString(JdbcUTF8.java:73)
> 	at org.apache.cassandra.cql.jdbc.JdbcUTF8.compose(JdbcUTF8.java:93)
> 	at org.apache.cassandra.db.marshal.UTF8Type.compose(UTF8Type.java:32)
> 	at org.apache.cassandra.cql3.UntypedResultSet$Row.getString(UntypedResultSet.java:96)
> 	at org.apache.cassandra.db.SystemTable.loadDcRackInfo(SystemTable.java:402)
> 	at org.apache.cassandra.locator.Ec2Snitch.getDatacenter(Ec2Snitch.java:117)
> 	at org.apache.cassandra.locator.DynamicEndpointSnitch.getDatacenter(DynamicEndpointSnitch.java:127)
> 	at org.apache.cassandra.net.OutboundTcpConnection.isLocalDC(OutboundTcpConnection.java:74)
> 	at org.apache.cassandra.net.OutboundTcpConnection.connect(OutboundTcpConnection.java:270)
> 	at org.apache.cassandra.net.OutboundTcpConnection.run(OutboundTcpConnection.java:142)
> This is because these ghost nodes had a NULL tokens list in the system/peers table. A
workaround was to delete the offending row in the system/peers table and restart the node.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message