Cassandra
  1. Cassandra
  2. CASSANDRA-4195

error in log when upgrading multi-node cluster to 1.1

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 1.0.11
    • Component/s: Core
    • Labels:
      None
    • Environment:

      ccm, dtest. Ubuntu

      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.

      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)
      

      this dtest demonstrates the issue. It was added to the cassandra-dtest repository as upgrade_to_11_test:

      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)
      
      1. CASSANDRA-4195.patch
        3 kB
        Pavel Yaskevich

        Activity

        Tyler Patterson created issue -
        Tyler Patterson made changes -
        Field Original Value New Value
        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}

        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}
        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}
        Jonathan Ellis made changes -
        Assignee Pavel Yaskevich [ xedin ]
        Pavel Yaskevich made changes -
        Attachment CASSANDRA-4195.patch [ 12535737 ]
        Pavel Yaskevich made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Affects Version/s 1.0.10 [ 12320540 ]
        Affects Version/s 1.1.0 [ 12317615 ]
        Reviewer jbellis
        Fix Version/s 1.0.11 [ 12321255 ]
        Pavel Yaskevich made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Gavin made changes -
        Workflow no-reopen-closed, patch-avail [ 12664884 ] patch-available, re-open possible [ 12749889 ]
        Gavin made changes -
        Workflow patch-available, re-open possible [ 12749889 ] reopen-resolved, no closed status, patch-avail, testing [ 12755355 ]

          People

          • Assignee:
            Pavel Yaskevich
            Reporter:
            Tyler Patterson
            Reviewer:
            Jonathan Ellis
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development