I believe this fix (going to snappy 1.0.5) broke Cassandra on CentOS 5 for us. We're using the RPM package.
I upgraded from Cassandra 1.2.5 (which was using snappy 1.0.4) and I couldn't get 1.2.6 to start up properly and I had to rollback to 1.2.5.
Here's the error I was getting when starting Cassandra 1.2.6 after the upgrade.
ERROR [SSTableBatchOpen:5] 2013-07-05 16:35:22,466 CassandraDaemon.java (line 192) Exception in thread Thread[SSTableBatchOpen:5,5,main]
java.lang.RuntimeException: Cannot create CompressionParameters for stored parameters
Caused by: org.apache.cassandra.exceptions.ConfigurationException: SnappyCompressor.create() threw an error: java.lang.NoClassDefFoundError Could not initialize class org.xerial.snappy.Snappy
... 12 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
... 14 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy
... 19 more
I did try to implement the following documented fix that seemed related to our issue but it did not work:
Furthermore, I suspect this is not the exact same problem since 1.2.5 was working perfectly fine for us without the above fix. We only did an update of the Cassandra package to 1.2.6, diffed and merged the yaml config file and tried to start it back up, like all the other previous upgrades we did as version 1.2.x came out.
I also fully updated all server packages in case it had something to do with an old library somwehere else or something but it did not work either.
We're running the latest CentOS 5.9, 64 bits, fully updated.
We're running java 1.6.0 from Sun (not OpenJDK)
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
Here is the content of my /tmp folder on the server (those get created when I start up Cassandra. The 1.0.5 is the one that got created when I was trying to start up Cassandra 1.2.6. It seems quite small compared to version 1.0.4 (which was created by version 1.2.5).
-rwxr-xr-x 1 cassandra cassandra 991112 Jul 5 16:38 snappy-188.8.131.52-libsnappyjava.so
-rwxr-xr-x 1 cassandra cassandra 48432 Jul 5 16:35 snappy-1.0.5-libsnappyjava.so
The only thing I haven't tried is to update our java version to a later 1.6.x release or go to 1.7.x or even try OpenJDK as this created some issues with other softwares we had since the server was coming up but queries to the keyspaces were coming back as errors or unknown keyspaces...
Let me know if you need more information, I'll be glad to help out.
Thanks guys !