Yeah, we tried to catch when Snappy couldn't load (and deactivate it when that happens) but apparently we've missed a few of the exceptions that can be thrown in that case. I've created https://issues.apache.org/jira/browse/CASSANDRA-4400 to fix that. If you could try the patch on that issue and check it works for you that would be awesome since I don't have a Raspberry Pi myself to test.
-- Sylvain On Sun, Jul 1, 2012 at 3:26 PM, Andy Cobley <acob...@computing.dundee.ac.uk> wrote: > I'm running Cassandra on Raspberry Pi (for educational reason) and have been > successfully running 1.1.0 for some time. However there is no native build > of SnappyCompressor for the platform (I'm currently working n rectifying that > if I can) so that compression is unavailable. When I try and start 1.1.1 on > the platform I'm getting the following error which looks to me like 1.1.1 is > trying to load snappy compressor at startup and falls over when to can't find > it. Thats not been the case with 1.1.0: > > INFO 14:22:07,600 Global memtable threshold is enabled at 35MB > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317) > at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219) > at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44) > at > org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45) > at > org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55) > at > org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:37) > at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:76) > at > org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79) > at > org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439) > at > org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:118) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681) > at java.lang.Runtime.loadLibrary0(Runtime.java:840) > at java.lang.System.loadLibrary(System.java:1047) > at > org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52) > ... 17 more > ERROR 14:22:09,934 Exception encountered during startup > org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null > at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229) > at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44) > at > org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45) > at > org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55) > at > org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:37) > at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:76) > at > org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79) > at > org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439) > at > org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:118) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null > at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229) > at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44) > at > org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45) > at > org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55) > at > org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:37) > at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:76) > at > org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:79) > at > org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:439) > at > org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:118) > at > org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:126) > at > org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:353) > at > org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) > Exception encountered during startup: [FAILED_TO_LOAD_NATIVE_LIBRARY] null > > Andy > > > The University of Dundee is a Scottish Registered Charity, No. SC015096. > >