tjake/Solandra

Runtime Exception: Could not initialize class org.xerial.snappy.Snappy

blinder opened this issue · 5 comments

Something very odd, when trying to write to solandra. We get this exception:

Could not initialize class org.xerial.snappy.Snappy java.lang.NoClassDefFoundError: Could not initialize class
org.xerial.snappy.Snappy at lucandra.CassandraUtils.compress(CassandraUtils.java:771) at
lucandra.IndexWriter.toBytesUsingThrift(IndexWriter.java:620) at
lucandra.IndexWriter.addDocument(IndexWriter.java:328) at
solandra.SolandraIndexWriter.addDoc(SolandraIndexWriter.java:265) at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61) at
org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:147) at
org.apache.solr.handler.XMLLoader.load(XMLLoader.java:77) at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:67) at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) at
org.apache.solr.core.SolrCore.execute(SolrCore.java:1368) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356) at
solandra.SolandraDispatchFilter.execute(SolandraDispatchFilter.java:171) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252) at
solandra.SolandraDispatchFilter.doFilter(SolandraDispatchFilter.java:137) at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at
org.mortbay.jetty.Server.handle(Server.java:326) at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536) at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930) at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:834) at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405) at org.mortbay.jetty

it doesn't appear to do this on reads (querying)

Also the snappy-java-1.0.3-rc2.jar is in cassandra's lib directory.

further clarifications, using the 0.7 branch of solandra

What platform?

On Oct 10, 2011, at 6:08 PM, blinderreply@reply.github.com wrote:

Something very odd, when trying to write to solandra. We get this exception:

Could not initialize class org.xerial.snappy.Snappy java.lang.NoClassDefFoundError: Could not initialize class
org.xerial.snappy.Snappy at lucandra.CassandraUtils.compress(CassandraUtils.java:771) at
lucandra.IndexWriter.toBytesUsingThrift(IndexWriter.java:620) at
lucandra.IndexWriter.addDocument(IndexWriter.java:328) at
solandra.SolandraIndexWriter.addDoc(SolandraIndexWriter.java:265) at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61) at
org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:147) at
org.apache.solr.handler.XMLLoader.load(XMLLoader.java:77) at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:67) at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) at
org.apache.solr.core.SolrCore.execute(SolrCore.java:1368) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356) at
solandra.SolandraDispatchFilter.execute(SolandraDispatchFilter.java:171) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252) at
solandra.SolandraDispatchFilter.doFilter(SolandraDispatchFilter.java:137) at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at
org.mortbay.jetty.Server.handle(Server.java:326) at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536) at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930) at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:834) at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405) at org.mortbay.jetty

it doesn't appear to do this on reads (querying)

Also the snappy-java-1.0.3-rc2.jar is in cassandra's lib directory.

Reply to this email directly or view it on GitHub:
#137

uname -a
2.6.18-194.17.1.el5xen #1 SMP Wed Sep 29 13:30:21 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

I had the same issue and discovered that I was using Java 1.7. 1.6 is required.

Ran into the same issue using Java 1.7 (build 1.7.0_04-ea-b18) on OS X 10.7. Tried to upgrade to snappy 1.0.4.1 and add "-Dorg.xerial.snappy.tempdir=/tmp" as JVM option, as described on the Cassandra troubleshooting page. But the only solution for me now seems to set "solandra.compression" to false in conf/solandra.properties.