You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Patterson (JIRA)" <ji...@apache.org> on 2012/04/30 16:18:49 UTC

[jira] [Created] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Tyler Patterson created CASSANDRA-4195:
------------------------------------------

             Summary: error in log when upgrading multi-node cluster to 1.1
                 Key: CASSANDRA-4195
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.1.0
         Environment: ccm, dtest. Ubuntu
            Reporter: Tyler Patterson


I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
{code}
ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
java.lang.UnsupportedOperationException: Not a time-based UUID                  
    at java.util.UUID.timestamp(UUID.java:331)                                  
    at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
    at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
    at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
    at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
    at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
    at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
    at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
    at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
{code}

I used this dtest, which I will add to the repository:
{code}
from dtest import Tester, debug 
from tools import * 
 
class TestUpgradeTo1_1(Tester): 
 
    def upgrade_test(self): 
        self.num_rows = 0 
        cluster = self.cluster 
 
        # Forcing cluster version on purpose 
        cluster.set_cassandra_dir(cassandra_version='1.0.9') 
 
        cluster.populate(3).start() 
        time.sleep(1) 
 
        for node in cluster.nodelist():     
            node.flush() 
            time.sleep(.5) 
            node.stop(wait_other_notice=True) 
            node.set_cassandra_dir(cassandra_version='1.1.0') 
            node.start(wait_other_notice=True) 
            time.sleep(.5)
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412030#comment-13412030 ] 

Jonathan Ellis commented on CASSANDRA-4195:
-------------------------------------------

+1
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.10
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>             Fix For: 1.0.11
>
>         Attachments: CASSANDRA-4195.patch
>
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Pavel Yaskevich (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Yaskevich updated CASSANDRA-4195:
---------------------------------------

    Attachment: CASSANDRA-4195.patch

patch against cassandra-1.0 to make it skip trying to migrate the schema if it detects that it's running in mixed node cluster and verbose warning.
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>         Attachments: CASSANDRA-4195.patch
>
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Pavel Yaskevich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409613#comment-13409613 ] 

Pavel Yaskevich commented on CASSANDRA-4195:
--------------------------------------------

bq. We need to support read/write ops in a mixed cluster. We don't need to support schema changes.

See my first comment, old nodes wouldn't be able to join the ring because they can't resolve the schema version correctly and as we can't know what is the difference between old/new schemas they wouldn't be able to properly handle read/write workloads. We can probably add special mechanism to the 1.0 that would ask for schema in Avro format if it detects that schema version is not a TimeUUID, load it and try to operate but that would require from uses to update their nodes to the latest 1.0 version before they can do upgrade to 1.1.
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265619#comment-13265619 ] 

Jonathan Ellis commented on CASSANDRA-4195:
-------------------------------------------

bq. probably to forbid the older node to join if it detects nodes with version >= 1.1, because we can't rely just skip schema agreement checks on startup or on ring changes

Doesn't that kill node-at-a-time upgrading dead in the water?
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Pavel Yaskevich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409629#comment-13409629 ] 

Pavel Yaskevich commented on CASSANDRA-4195:
--------------------------------------------

Ok, I can do #1 and it would get ring into disagreement until upgrade to 1.1 is finished with is a good thing in our case because users won't be able to mutate it. I was warning about from the time we have decided to change the way version is handled... 
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409899#comment-13409899 ] 

Brandon Williams commented on CASSANDRA-4195:
---------------------------------------------

Worked for me.
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.10
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>             Fix For: 1.0.11
>
>         Attachments: CASSANDRA-4195.patch
>
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409607#comment-13409607 ] 

Jonathan Ellis commented on CASSANDRA-4195:
-------------------------------------------

We *need* to support read/write ops in a mixed cluster.  We don't need to support schema changes.
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409618#comment-13409618 ] 

Jonathan Ellis commented on CASSANDRA-4195:
-------------------------------------------

Ugh, how did we miss this in testing?

How I think it should work:

# if node can't parse schema version, it should join ring w/ whatever schema it currently has
# nodes should make best-effort to fulfil requests w/ current schema instead of blocking for schema reconciliation

That way as long as users don't try to modify schema during the upgrade they will be fine.

I think #2 works as desired, which leaves #1 as a fairly easy update to make in 1.0.11.
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Tyler Patterson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tyler Patterson updated CASSANDRA-4195:
---------------------------------------

    Description: 
I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
{code}
ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
java.lang.UnsupportedOperationException: Not a time-based UUID                  
    at java.util.UUID.timestamp(UUID.java:331)                                  
    at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
    at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
    at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
    at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
    at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
    at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
    at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
    at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
{code}

this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
{code}
from dtest import Tester, debug 
from tools import * 
 
class TestUpgradeTo1_1(Tester): 
 
    def upgrade_test(self): 
        self.num_rows = 0 
        cluster = self.cluster 
 
        # Forcing cluster version on purpose 
        cluster.set_cassandra_dir(cassandra_version='1.0.9') 
 
        cluster.populate(3).start() 
        time.sleep(1) 
 
        for node in cluster.nodelist():     
            node.flush() 
            time.sleep(.5) 
            node.stop(wait_other_notice=True) 
            node.set_cassandra_dir(cassandra_version='1.1.0') 
            node.start(wait_other_notice=True) 
            time.sleep(.5)
{code}

  was:
I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
{code}
ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
java.lang.UnsupportedOperationException: Not a time-based UUID                  
    at java.util.UUID.timestamp(UUID.java:331)                                  
    at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
    at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
    at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
    at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
    at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
    at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
    at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
    at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)
{code}

I used this dtest, which I will add to the repository:
{code}
from dtest import Tester, debug 
from tools import * 
 
class TestUpgradeTo1_1(Tester): 
 
    def upgrade_test(self): 
        self.num_rows = 0 
        cluster = self.cluster 
 
        # Forcing cluster version on purpose 
        cluster.set_cassandra_dir(cassandra_version='1.0.9') 
 
        cluster.populate(3).start() 
        time.sleep(1) 
 
        for node in cluster.nodelist():     
            node.flush() 
            time.sleep(.5) 
            node.stop(wait_other_notice=True) 
            node.set_cassandra_dir(cassandra_version='1.1.0') 
            node.start(wait_other_notice=True) 
            time.sleep(.5)
{code}

    
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Pavel Yaskevich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265538#comment-13265538 ] 

Pavel Yaskevich commented on CASSANDRA-4195:
--------------------------------------------

Yes, we don't send it and the problem is not about it - here we see the same problem I was talking about at CASSANDRA-3804 - as we no longer use time-based UUID to represent schema version, the "old" nodes (version < 1.1) would fail to join into the ring because they would be stuck on the "highest" version resolution as they assume that all nodes have time-based UUID for version which is no longer the case. We should make a strict regulation about mixed version C* ring otherwise things would continue to break in the different ways, probably to forbid the older node to join if it detects nodes with version >= 1.1, because we can't rely just skip schema agreement checks on startup or on ring changes...
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Pavel Yaskevich (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265739#comment-13265739 ] 

Pavel Yaskevich commented on CASSANDRA-4195:
--------------------------------------------

It would, but on the other hand one can't upgrade node-at-a-time to 1.1 because of incompatible schema changes... We of course can report something like "Nodes with C* version >= 1.1 detected, please upgrade!" instead of failing in MM.rectify(...) but if we continue to operate on that node we can't guarantee stability anyway... 
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (CASSANDRA-4195) error in log when upgrading multi-node cluster to 1.1

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-4195:
-----------------------------------------

    Assignee: Pavel Yaskevich

I thought we added logic to not send incompatible migration messages to 1.0.x nodes?
                
> error in log when upgrading multi-node cluster to 1.1
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4195
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4195
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ccm, dtest. Ubuntu
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>
> I upgraded a cluster from 1.0.9 to 1.1.0. The following message shows up in the logs for all but the first node.
> {code}
> ERROR [GossipStage:1] 2012-04-30 07:37:06,986 AbstractCassandraDaemon.java (line 139) Fatal exception in thread Thread[GossipStage:1,5,main]
> java.lang.UnsupportedOperationException: Not a time-based UUID                  
>     at java.util.UUID.timestamp(UUID.java:331)                                  
>     at org.apache.cassandra.service.MigrationManager.updateHighestKnown(MigrationManager.java:121)
>     at org.apache.cassandra.service.MigrationManager.rectify(MigrationManager.java:99)
>     at org.apache.cassandra.service.MigrationManager.onAlive(MigrationManager.java:83)
>     at org.apache.cassandra.gms.Gossiper.markAlive(Gossiper.java:806)           
>     at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:849)
>     at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:908)   
>     at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:62)
>     at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:59)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> {code}
> this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:
> {code}
> from dtest import Tester, debug 
> from tools import * 
>  
> class TestUpgradeTo1_1(Tester): 
>  
>     def upgrade_test(self): 
>         self.num_rows = 0 
>         cluster = self.cluster 
>  
>         # Forcing cluster version on purpose 
>         cluster.set_cassandra_dir(cassandra_version='1.0.9') 
>  
>         cluster.populate(3).start() 
>         time.sleep(1) 
>  
>         for node in cluster.nodelist():     
>             node.flush() 
>             time.sleep(.5) 
>             node.stop(wait_other_notice=True) 
>             node.set_cassandra_dir(cassandra_version='1.1.0') 
>             node.start(wait_other_notice=True) 
>             time.sleep(.5)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira