java.lang.NoClassDefFoundError: org/apache/cassandra/db/commitlog/PeriodicCommitLogExecutorService$4 -----------------------------------------------------------------------------------------------------
Key: CASSANDRA-2574 URL: https://issues.apache.org/jira/browse/CASSANDRA-2574 Project: Cassandra Issue Type: Bug Components: Core Reporter: Terje Marthinussen Priority: Minor We see this in the log occasionally, but the jar file does have the right class file. Seems to occur when cassandra is stopped and I suppose it may be some race between the vm class loader and the fact that it has got a kill signal and is shutting down? ERROR [Thread-2] 2011-04-26 19:32:03,841 AbstractCassandraDaemon.java (line 112) Fatal exception in thread Thread[Thread-2,5,main] java.lang.NoClassDefFoundError: org/apache/cassandra/db/commitlog/PeriodicCommitLogExecutorService$4 at org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService.shutdown(PeriodicCommitLogExecutorService.java:121) at org.apache.cassandra.db.commitlog.CommitLog.shutdownBlocking(CommitLog.java:503) at org.apache.cassandra.service.StorageService$2.runMayThrow(StorageService.java:402) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.ClassNotFoundException: org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$4 at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 5 more Not sure if it is a problem or not and does not happen all the time. In this case this is also followed by at org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:551) at org.apache.cassandra.thrift.CassandraServer.internal_batch_mutate(CassandraServer.java:503) at org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:511) at org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.process(Cassandra.java:3454) at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187) 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) ERROR [pool-2-thread-91] 2011-04-26 19:32:04,267 Cassandra.java (line 3462) Internal error processing batch_mutate java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut down at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:73) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658) at org.apache.cassandra.service.StorageProxy.insertLocal(StorageProxy.java:350) at org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints(StorageProxy.java:230) at org.apache.cassandra.service.StorageProxy.access$000(StorageProxy.java:62) at org.apache.cassandra.service.StorageProxy$1.apply(StorageProxy.java:99) at org.apache.cassandra.service.StorageProxy.performWrite(StorageProxy.java:199) at org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:154) at org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:551) at org.apache.cassandra.thrift.CassandraServer.internal_batch_mutate(CassandraServer.java:503) at org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:511) at org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.process(Cassandra.java:3454) at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889) at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187) 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) ERROR [pool-2-thread-178] 2011-04-26 19:32:04,296 Cassandra.java (line 3462) Internal error processing batch_mutate java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut down at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:73) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767) which seems more understandable if it is under shutdown. Mainly reacting to the class not found exception in this case. Want to check that this is not a problem as I prefer my commitlogs to be right :) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira