You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Terje Marthinussen (JIRA)" <ji...@apache.org> on 2011/04/27 05:07:03 UTC

[jira] [Created] (CASSANDRA-2574) java.lang.NoClassDefFoundError: org/apache/cassandra/db/commitlog/PeriodicCommitLogExecutorService$4

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

[jira] [Commented] (CASSANDRA-2574) java.lang.NoClassDefFoundError: org/apache/cassandra/db/commitlog/PeriodicCommitLogExecutorService$4

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13084400#comment-13084400 ] 

Jonathan Ellis commented on CASSANDRA-2574:
-------------------------------------------

Maybe it's being shut down before PCLES ever started up?  Not sure how to fix that.

> 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