You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Pavel Yaskevich (JIRA)" <ji...@apache.org> on 2012/09/18 17:36:07 UTC

[jira] [Updated] (CASSANDRA-4576) Error in non-upgraded node's log when upgrading another node to trunk

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

Pavel Yaskevich updated CASSANDRA-4576:
---------------------------------------

    Attachment: CASSANDRA-4576.patch

Actually it's a problem with Gossiper :)
                
> Error in non-upgraded node's log when upgrading another node to trunk
> ---------------------------------------------------------------------
>
>                 Key: CASSANDRA-4576
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4576
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0 beta 1
>         Environment: ubuntu, ccm cluster with dtests
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>             Fix For: 1.2.0
>
>         Attachments: CASSANDRA-4576.patch
>
>
> I'm upgrading a 2-node cluster from cassandra-1.1 to trunk. On node1 I flush, stop the node, upgrade it to trunk, and start it. The following error gets written once a second in the log for node2:
> {code}
> ERROR [GossipStage:10] 2012-08-24 11:03:36,293 AbstractCassandraDaemon.java (line 134) Exception in thread Thread[GossipStage:10,5,main]
> java.lang.RuntimeException: java.net.UnknownHostException: addr is of illegal length
> 	at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:89)
> 	at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
> 	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)
> Caused by: java.net.UnknownHostException: addr is of illegal length
> 	at java.net.InetAddress.getByAddress(InetAddress.java:935)
> 	at java.net.InetAddress.getByAddress(InetAddress.java:1318)
> 	at org.apache.cassandra.net.CompactEndpointSerializationHelper.deserialize(CompactEndpointSerializationHelper.java:39)
> 	at org.apache.cassandra.gms.EndpointStatesSerializationHelper.deserialize(GossipDigestSynMessage.java:117)
> 	at org.apache.cassandra.gms.GossipDigestAckMessageSerializer.deserialize(GossipDigestAckMessage.java:83)
> 	at org.apache.cassandra.gms.GossipDigestAckMessageSerializer.deserialize(GossipDigestAckMessage.java:70)
> 	at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:60)
> 	... 4 more
> {code}
> Here is the exact code I ran to produce the error:
> {code}
> from dtest import Tester, debug
> FROM_VERSION = 'git:cassandra-1.1'
> TO_VERSION = 'git:trunk'
> class TestUpgradeOneNode(Tester):
>     def upgrade_test(self):
>         # Start a cluster
>         cluster = self.cluster
>         cluster.partitioner = 'org.apache.cassandra.dht.RandomPartitioner'
>         cluster.set_cassandra_dir(cassandra_version=FROM_VERSION)
>         cluster.populate(2).start()
>         (node1, node2) = cluster.nodelist()
>         node1.watch_log_for('Listening for thrift clients...')
>         node2.watch_log_for('Listening for thrift clients...')
>         # Bring one node down and upgrade it.
>         node1.flush()
>         node1.stop(wait_other_notice=True)
>         node1.set_cassandra_dir(cassandra_version=TO_VERSION)
>         node1.start(wait_other_notice=True)
>         import pdb; pdb.set_trace()  # <-- pause here and tail -f the node2.logfilename()
> {code}

--
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