tjake / Solandra

Solandra = Solr + Cassandra
Apache License 2.0
882 stars 150 forks source link

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

Open blinder opened 13 years ago

blinder commented 13 years ago

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.

blinder commented 13 years ago

further clarifications, using the 0.7 branch of solandra

tjake commented 13 years ago

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: https://github.com/tjake/Solandra/issues/137

blinder commented 13 years ago

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

gt9000 commented 13 years ago

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

cwesdorp commented 12 years ago

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.