You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2014/02/27 18:43:20 UTC

[jira] [Updated] (CASSANDRA-6560) bootstrapping into mixed-version cluster fails with AssertionError

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

Jonathan Ellis updated CASSANDRA-6560:
--------------------------------------

      Component/s: Core
         Reviewer: Brandon Williams
    Since Version:   (was: 1.2.13)
         Priority: Minor  (was: Major)
    Fix Version/s: 2.0.6
         Assignee: Lyuben Todorov  (was: Tyler Hobbs)
       Issue Type: Improvement  (was: Bug)
          Summary: bootstrapping into mixed-version cluster fails with AssertionError  (was: nodetool info fails an assert and crashes AssertionError)

Sounds like we should add a check to make sure the gossipped major versions match across the cluster before attempting to bootstrap.

> bootstrapping into mixed-version cluster fails with AssertionError
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-6560
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6560
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Pas
>            Assignee: Lyuben Todorov
>            Priority: Minor
>             Fix For: 2.0.6
>
>
> I had a 1.1.x cluster, upgraded almost all of them to 1.2.x. The cluster uses ByteOrderedPartitioner.
> This is a 1.2.13 node, I want it to replace an other node, so initial_token is set to <othernode - 1>, and after it has done bootstrapping (at least it did a lot of streaming sessions and now has a few gigabytes of data, but less than the one it should replace has), it fails to run `nodetool info`. (ring and status works fine though)
> gossipinfo shows the node as BOOTing, others see it too, schemas agree.
> {code}
> root@cass21:/var/log/cassandra# nodetool info
> Exception in thread "main" java.lang.AssertionError
>         at org.apache.cassandra.locator.TokenMetadata.getTokens(TokenMetadata.java:502)
>         at org.apache.cassandra.service.StorageService.getTokens(StorageService.java:2043)
>         at org.apache.cassandra.service.StorageService.getTokens(StorageService.java:2032)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
>         at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
>         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
>         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
>         at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
>         at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
>         at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
>         at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
>         at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
>         at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
>         at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:657)
>         at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
>         at sun.rmi.transport.Transport$1.run(Transport.java:177)
>         at sun.rmi.transport.Transport$1.run(Transport.java:174)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
>         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
>         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
>         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:744)
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)