incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Tillotson <slatem...@yahoo.co.uk>
Subject Debian package jna bug workaroung
Date Wed, 02 Nov 2011 09:42:07 GMT
see below
 * JAVA_HOME=/usr/lib/jvm/java-6-openjdk 
works

--
Reading the documentation over at Datastax
“The Debian and RPM packages of Cassandra install JNA automatically”

http://www.datastax.com/dev/blog/whats-new-in-cassandra-1-0-improved-memory-and-disk-space-management


And indeed the Debian package depends on jna, and the /etc/init.d/cassandra looks as though
in adds /usr/share/java/jna.jar to the classpath, and here is the but. 

If I copy or symlink jna.jar into:
 * /usr/share/cassandra
 * /usr/share/cassandra/lib
Whenever a column family initialises I get:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.cassandra.cache.FreeableMemory


This suggests to me that:
 1) By default, for me at least, in Debian jna.jar is not on the classpath
 2) There is an additional classpath issue
     jar -tf apache-cassandra.jar | grep "FreeableMemory" succeeds

I'm running on: 
 * Ubuntu 10.04 x64
 * JAVA_HOME=/usr/lib/jvm/java-6-sun

Full stack traces:
java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native

        at com.sun.jna.Pointer.<clinit>(Pointer.java:42)
        at org.apache.cassandra.cache.SerializingCache.serialize(SerializingCache.java:92)
        at org.apache.cassandra.cache.SerializingCache.put(SerializingCache.java:154)
        at org.apache.cassandra.cache.InstrumentingCache.put(InstrumentingCache.java:63)
        at org.apache.cassandra.db.ColumnFamilyStore.cacheRow(ColumnFamilyStore.java:1150)
        at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1174)
        at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1131)
        at org.apache.cassandra.db.Table.getRow(Table.java:378)
        at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:61)
        at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:797)
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1265)
        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)
 INFO [pool-1-thread-1] 2011-11-02 10:26:46,738 Memtable.java (line 177) CFS(Keyspace='BigSet',
ColumnFamily='theKeys') liveRatio is 18.20062753783684 (just-counted was 16.960966424636872).
 calculation took 408ms for 8169 columns
ERROR [ReadStage:33] 2011-11-02 10:26:56,599 AbstractCassandraDaemon.java (line 133) Fatal
exception in thread Thread[ReadStage:33,5,main]
java.lang.NoClassDefFoundError: Could not initialize class org.apache.cassandra.cache.FreeableMemory
        at org.apache.cassandra.cache.SerializingCache.serialize(SerializingCache.java:92)
        at org.apache.cassandra.cache.SerializingCache.put(SerializingCache.java:154)
        at org.apache.cassandra.cache.InstrumentingCache.put(InstrumentingCache.java:63)
        at org.apache.cassandra.db.ColumnFamilyStore.cacheRow(ColumnFamilyStore.java:1150)
        at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1174)
        at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1131)
        at org.apache.cassandra.db.Table.getRow(Table.java:378)
        at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:61)
        at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:797)
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1265)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

Mime
View raw message