Hi,

We are currently running 0.8.10 with 4 nodes. We tried to re-balance the
range each node owns by using "nodetool move". After moving the node to the
assigned token, we run the cleanup command, then we saw the exceptions:

 Error occured during cleanup

java.util.concurrent.ExecutionException: java.lang.AssertionError

at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)

at java.util.concurrent.FutureTask.get(Unknown Source)

at
org.apache.cassandra.db.compaction.CompactionManager.performCleanup(CompactionManager.java:226)

at
org.apache.cassandra.db.ColumnFamilyStore.forceCleanup(ColumnFamilyStore.java:1073)

at
org.apache.cassandra.service.StorageService.forceTableCleanup(StorageService.java:1423)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown
Source)

at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown
Source)

at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)

at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)

at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)

at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown
Source)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)

at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)

at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown Source)

at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
Source)

at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
Source)

at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)

at sun.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)

at sun.rmi.transport.Transport$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Unknown Source)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.AssertionError

at
org.apache.cassandra.db.ColumnFamilyStore.maybeSwitchMemtable(ColumnFamilyStore.java:762)

at
org.apache.cassandra.db.ColumnFamilyStore.forceFlush(ColumnFamilyStore.java:844)

at
org.apache.cassandra.db.ColumnFamilyStore.forceBlockingFlush(ColumnFamilyStore.java:849)

at
org.apache.cassandra.db.compaction.CompactionManager.doCleanupCompaction(CompactionManager.java:928)

at
org.apache.cassandra.db.compaction.CompactionManager.access$500(CompactionManager.java:66)

at
org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:205)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

... 3 more


It seems to be relative to CASSANDRA-3712. However, it only got fixed on
1.0. I wonder if this will also be fixed on 0.8? One other question, if we
do not run the cleanup, is there any other way that the unnecessary data
can get cleaned?


Regards.

Boris

Reply via email to