[ 
http://jira.amdatu.org/jira/browse/AMDATU-319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11017#comment-11017
 ] 

Ivo Ladage - van Doorn commented on AMDATU-319:
-----------------------------------------------

Its a timing issue. Cassandra adds a JVM shutdown hook and shuts down Cassandra 
when it receives the shutdown event. Now asynchronously, the Felix framework 
shuts down and so stops the Cassandra daemon bundle and destroys the bundle 
classloader. Now when that happens first, the Cassandra shutdown thread access 
cassandra classes loaded by the bundle class loader which has been destroyed in 
the meantime.
So what should be done is implementing a wait in the daemonservice stop method, 
ensuring that the cassandra shutdown thread terminated before the bundle is 
stopped.

> Cassandra throws IllegalStateException on framework shutdown
> ------------------------------------------------------------
>
>                 Key: AMDATU-319
>                 URL: http://jira.amdatu.org/jira/browse/AMDATU-319
>             Project: Amdatu
>          Issue Type: Bug
>          Components: Amdatu Cassandra
>    Affects Versions: 0.2.0
>            Reporter: Bram de Kruijff
>            Assignee: Ivo Ladage - van Doorn
>             Fix For: 0.2.0
>
>
> Think this was introduced with the upgrade to 0.7.2. Not sure thought
> -> shutdown
> -> ERROR: JarContent: Unable to read bytes. (java.lang.IllegalStateException: 
> zip file closed)
> java.lang.IllegalStateException: zip file closed
>         at java.util.zip.ZipFile.ensureOpen(ZipFile.java:403)
>         at java.util.zip.ZipFile.getEntry(ZipFile.java:148)
>         at java.util.jar.JarFile.getEntry(JarFile.java:208)
>         at org.apache.felix.framework.util.JarFileX.getEntry(JarFileX.java:61)
>         at 
> org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:120)
>         at 
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1738)
>         at 
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:716)
>         at 
> org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
>         at 
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>         at 
> org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService.shutdown(PeriodicCommitLogExecutorService.java:121)
>         at 
> org.apache.cassandra.db.commitlog.CommitLog.shutdownBlocking(CommitLog.java:502)
>         at 
> org.apache.cassandra.service.StorageService$2.runMayThrow(StorageService.java:386)
>         at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         at java.lang.Thread.run(Thread.java:619)
> ERROR: JarContent: Unable to read bytes. (java.lang.IllegalStateException: 
> zip file closed)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to