Re: Cassandra upgrade issues...
The first thing I would check is if nodetool is using the right jar. I sounds a lot like if the server has been correctly updated but nodetool haven't and still use the old classes. Check the nodetool executable, it's a shell script, and try echoing the CLASSPATH in there and check it correctly point to what it should. -- Sylvain On Thu, Nov 1, 2012 at 9:10 AM, Brian Fleming bigbrianflem...@gmail.com wrote: Hi, I was testing upgrading from Cassandra v.1.0.7 to v.1.1.5 yesterday on a single node dev cluster with ~6.5GB of data it went smoothly in that no errors were thrown, the data was migrated to the new directory structure, I can still read/write data as expected, etc. However nodetool commands are behaving strangely – full details below. I couldn’t find anything relevant online relating to these exceptions – any help/pointers would be greatly appreciated. Thanks Regards, Brian ‘nodetool cleanup’ runs successfully ‘nodetool info’ produces : Token: 82358484304664259547357526550084691083 Gossip active: true Load : 7.69 GB Generation No: 1351697611 Uptime (seconds) : 58387 Heap Memory (MB) : 936.91 / 1928.00 Exception in thread main java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.cassandra.dht.Token at org.apache.cassandra.tools.NodeProbe.getEndpoint(NodeProbe.java:546) at org.apache.cassandra.tools.NodeProbe.getDataCenter(NodeProbe.java:559) at org.apache.cassandra.tools.NodeCmd.printInfo(NodeCmd.java:313) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:651) ‘nodetool repair’ produces : Exception in thread main java.lang.reflect.UndeclaredThrowableException at $Proxy0.forceTableRepair(Unknown Source) at org.apache.cassandra.tools.NodeProbe.forceTableRepair(NodeProbe.java:203) at org.apache.cassandra.tools.NodeCmd.optionalKSandCFs(NodeCmd.java:880) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:719) Caused by: javax.management.ReflectionException: Signature mismatch for operation forceTableRepair: (java.lang.String, [Ljava.lang.String;) should be (java.lang.String, boolean, [Ljava.lang.String;) at com.sun.jmx.mbeanserver.PerInterface.noSuchMethod(PerInterface.java:152) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:117) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993) at
Re: Cassandra upgrade issues...
Hi Sylvain, Simple as that!!! Using the 1.1.5 nodetool version works as expected. My mistake. Many thanks, Brian On Thu, Nov 1, 2012 at 8:24 AM, Sylvain Lebresne sylv...@datastax.comwrote: The first thing I would check is if nodetool is using the right jar. I sounds a lot like if the server has been correctly updated but nodetool haven't and still use the old classes. Check the nodetool executable, it's a shell script, and try echoing the CLASSPATH in there and check it correctly point to what it should. -- Sylvain On Thu, Nov 1, 2012 at 9:10 AM, Brian Fleming bigbrianflem...@gmail.com wrote: Hi, I was testing upgrading from Cassandra v.1.0.7 to v.1.1.5 yesterday on a single node dev cluster with ~6.5GB of data it went smoothly in that no errors were thrown, the data was migrated to the new directory structure, I can still read/write data as expected, etc. However nodetool commands are behaving strangely – full details below. I couldn’t find anything relevant online relating to these exceptions – any help/pointers would be greatly appreciated. Thanks Regards, Brian ‘nodetool cleanup’ runs successfully ‘nodetool info’ produces : Token: 82358484304664259547357526550084691083 Gossip active: true Load : 7.69 GB Generation No: 1351697611 Uptime (seconds) : 58387 Heap Memory (MB) : 936.91 / 1928.00 Exception in thread main java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.cassandra.dht.Token at org.apache.cassandra.tools.NodeProbe.getEndpoint(NodeProbe.java:546) at org.apache.cassandra.tools.NodeProbe.getDataCenter(NodeProbe.java:559) at org.apache.cassandra.tools.NodeCmd.printInfo(NodeCmd.java:313) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:651) ‘nodetool repair’ produces : Exception in thread main java.lang.reflect.UndeclaredThrowableException at $Proxy0.forceTableRepair(Unknown Source) at org.apache.cassandra.tools.NodeProbe.forceTableRepair(NodeProbe.java:203) at org.apache.cassandra.tools.NodeCmd.optionalKSandCFs(NodeCmd.java:880) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:719) Caused by: javax.management.ReflectionException: Signature mismatch for operation forceTableRepair: (java.lang.String, [Ljava.lang.String;) should be (java.lang.String, boolean, [Ljava.lang.String;) at com.sun.jmx.mbeanserver.PerInterface.noSuchMethod(PerInterface.java:152) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:117) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at
Re: Cassandra upgrade issues...
Note that 1.0.7 came out before 1.1 and I know there were some compatibility issues that were fixed in later 1.0.x releases which could affect your upgrade. I think it would be best to first upgrade to the latest 1.0.x release, and then upgrade to 1.1.x from there. -Bryan On Thu, Nov 1, 2012 at 1:27 AM, Brian Fleming bigbrianflem...@gmail.comwrote: Hi Sylvain, Simple as that!!! Using the 1.1.5 nodetool version works as expected. My mistake. Many thanks, Brian On Thu, Nov 1, 2012 at 8:24 AM, Sylvain Lebresne sylv...@datastax.comwrote: The first thing I would check is if nodetool is using the right jar. I sounds a lot like if the server has been correctly updated but nodetool haven't and still use the old classes. Check the nodetool executable, it's a shell script, and try echoing the CLASSPATH in there and check it correctly point to what it should. -- Sylvain On Thu, Nov 1, 2012 at 9:10 AM, Brian Fleming bigbrianflem...@gmail.com wrote: Hi, I was testing upgrading from Cassandra v.1.0.7 to v.1.1.5 yesterday on a single node dev cluster with ~6.5GB of data it went smoothly in that no errors were thrown, the data was migrated to the new directory structure, I can still read/write data as expected, etc. However nodetool commands are behaving strangely – full details below. I couldn’t find anything relevant online relating to these exceptions – any help/pointers would be greatly appreciated. Thanks Regards, Brian ‘nodetool cleanup’ runs successfully ‘nodetool info’ produces : Token: 82358484304664259547357526550084691083 Gossip active: true Load : 7.69 GB Generation No: 1351697611 Uptime (seconds) : 58387 Heap Memory (MB) : 936.91 / 1928.00 Exception in thread main java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.cassandra.dht.Token at org.apache.cassandra.tools.NodeProbe.getEndpoint(NodeProbe.java:546) at org.apache.cassandra.tools.NodeProbe.getDataCenter(NodeProbe.java:559) at org.apache.cassandra.tools.NodeCmd.printInfo(NodeCmd.java:313) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:651) ‘nodetool repair’ produces : Exception in thread main java.lang.reflect.UndeclaredThrowableException at $Proxy0.forceTableRepair(Unknown Source) at org.apache.cassandra.tools.NodeProbe.forceTableRepair(NodeProbe.java:203) at org.apache.cassandra.tools.NodeCmd.optionalKSandCFs(NodeCmd.java:880) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:719) Caused by: javax.management.ReflectionException: Signature mismatch for operation forceTableRepair: (java.lang.String, [Ljava.lang.String;) should be (java.lang.String, boolean, [Ljava.lang.String;) at com.sun.jmx.mbeanserver.PerInterface.noSuchMethod(PerInterface.java:152) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:117) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at