cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vivek Mishra (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5739) Class unloading triggers container crash
Date Wed, 24 Jul 2013 12:05:51 GMT


Vivek Mishra commented on CASSANDRA-5739:

as per error:

org.apache.cassandra.exceptions.ConfigurationException: Cannot locate cassandra.yaml
        at org.apache.cassandra.config.DatabaseDescriptor.getStorageConfigURL(
        at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(
        at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(
        at org.apache.cassandra.service.StorageService.getPartitioner(
        at org.apache.cassandra.service.StorageService.<init>(
        at org.apache.cassandra.service.StorageService.<clinit>(
        at org.apache.cassandra.db.Table.<clinit>( [cassandra-all-1.2.4.jar:1.2.4]
        at sun.misc.Unsafe.ensureClassInitialized(Native Method) [na:1.7.0_21]

It happens as StorageService initialization happens, when you undeploy(when tries to clear
held references). 

Error is caused by:

public VersionedValue.VersionedValueFactory valueFactory = new VersionedValue.VersionedValueFactory(getPartitioner());

I may be wrong but, shouldn't StorageService handle such and keep it uninitialized, rather
than static loading.

Now, Kundera(Cassandra ORM solution) needs to load cassandra packages such as org.apache.cassandra.locator,
org.apache.cassandra.db.marshal for processing POJOs.

AFAIK these are available with:


Which in turns bring in StorageService as well. Is there any other alternative dependency
for this?

> Class unloading triggers container crash
> ----------------------------------------
>                 Key: CASSANDRA-5739
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Drivers
>    Affects Versions: 1.2.4
>            Reporter: Paulo Pires
> While undeploying a Java webapp on a Glassfish cluster, I get a exception and consequently
Glassfish crashes. The log can be seen at
> After some research, WebappClassLoader tries to clear references on each loaded class,
triggering the call to static StorageService.getPartitioner() which then tries to load the
cassandra.yaml file.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message