Hi,

I am using elasticsearch embedded in a tomcat 7 webapp container 
(everything running under java 7.) All libs for elasticsearch are in 
WEB-INF/lib. In v0.90 everything is running swimmingly. We upgraded to v1.0 
(libs and all and paid attention to breaking API calls) but now on Ubuntu 
Linux when I make a call to create an index via the following call:

final CreateIndexResponse response = 
_client.admin().indices().prepareCreate(index).setSource(mapping).execute().actionGet();

I get the following exception:

org.elasticsearch.common.util.concurrent.UncategorizedExecutionException: 
Failed execution
        at 
org.elasticsearch.action.support.AdapterActionFuture.rethrowExecutionException(AdapterActionFuture.java:90)
        at 
org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:50)
        at com.bitstew.search.SearchNode.createIndex(SearchNode.java:1507)
        at 
com.bitstew.search.SystemInit.loadIndexDefinition(SystemInit.java:206)
        at com.bitstew.search.SystemInit.loadIndex(SystemInit.java:81)
        at com.bitstew.search.SystemInit.loadIndices(SystemInit.java:52)
        at 
com.bitstew.ws.servlet.SystemAction.loadIndices(SystemAction.java:1798)
        at 
com.bitstew.ws.servlet.SystemAction.executeAction(SystemAction.java:383)
        at 
com.bitstew.ws.servlet.WebServicesDeployer.service(WebServicesDeployer.java:1888)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at 
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at 
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at 
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoClassDefFoundError: 
org/apache/lucene/codecs/PostingsFormat
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at 
org.apache.lucene.util.SPIClassIterator.next(SPIClassIterator.java:137)
        at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:65)
        at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
        at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
        at 
org.apache.lucene.codecs.PostingsFormat.<clinit>(PostingsFormat.java:44)
        at 
org.elasticsearch.index.codec.postingsformat.PostingFormats.<clinit>(PostingFormats.java:67)
        at 
org.elasticsearch.index.codec.CodecModule.configurePostingsFormats(CodecModule.java:126)
        at 
org.elasticsearch.index.codec.CodecModule.configure(CodecModule.java:178)
        at 
org.elasticsearch.common.inject.AbstractModule.configure(AbstractModule.java:60)
        at 
org.elasticsearch.common.inject.spi.Elements$RecordingBinder.install(Elements.java:204)
        at 
org.elasticsearch.common.inject.spi.Elements.getElements(Elements.java:85)
        at 
org.elasticsearch.common.inject.InjectorShell$Builder.build(InjectorShell.java:130)
        at 
org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:99)
        at 
org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:131)
        at 
org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
        at 
org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:298)
        at 
org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$2.execute(MetaDataCreateIndexService.java:310)
        at 
org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:308)
        at 
org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:134)
        ... 3 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.lucene.codecs.PostingsFormat
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 39 more

Note that all the libraries are updated from the 1.0 download and if I do a jar 
-tvf on lucene-core-4.6.1.jar I can see the PostingsFormat.class. However, if I 
copy all of the libs into $CATALINA_HOME/lib I can get past that error but then 
get this:

org.elasticsearch.common.util.concurrent.UncategorizedExecutionException: 
Failed execution
        at 
org.elasticsearch.action.support.AdapterActionFuture.rethrowExecutionException(AdapterActionFuture.java:90)
        at 
org.elasticsearch.action.support.AdapterActionFuture.actionGet(AdapterActionFuture.java:50)
        at com.bitstew.search.SearchNode.createIndex(SearchNode.java:1507)
        at 
com.bitstew.search.SystemInit.loadIndexDefinition(SystemInit.java:206)
        at com.bitstew.search.SystemInit.loadIndex(SystemInit.java:81)
        at com.bitstew.search.SystemInit.loadIndices(SystemInit.java:52)
        at 
com.bitstew.ws.servlet.SystemAction.loadIndices(SystemAction.java:1798)
        at 
com.bitstew.ws.servlet.SystemAction.executeAction(SystemAction.java:383)
        at 
com.bitstew.ws.servlet.WebServicesDeployer.service(WebServicesDeployer.java:1888)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at 
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at 
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at 
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ExceptionInInitializerError
        at 
org.elasticsearch.index.codec.postingsformat.PostingFormats.<clinit>(PostingFormats.java:67)
        at 
org.elasticsearch.index.codec.CodecModule.configurePostingsFormats(CodecModule.java:126)
        at 
org.elasticsearch.index.codec.CodecModule.configure(CodecModule.java:178)
        at 
org.elasticsearch.common.inject.AbstractModule.configure(AbstractModule.java:60)
        at 
org.elasticsearch.common.inject.spi.Elements$RecordingBinder.install(Elements.java:204)
        at 
org.elasticsearch.common.inject.spi.Elements.getElements(Elements.java:85)
        at 
org.elasticsearch.common.inject.InjectorShell$Builder.build(InjectorShell.java:130)
        at 
org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:99)
        at 
org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:131)
        at 
org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
        at 
org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:298)
        at 
org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$2.execute(MetaDataCreateIndexService.java:310)
        at 
org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:308)
        at 
org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:134)
        ... 3 more
Caused by: java.lang.ClassCastException: class 
org.elasticsearch.index.codec.postingsformat.ElasticSearch090PostingsFormat
        at java.lang.Class.asSubclass(Class.java:3126)
        at 
org.apache.lucene.util.SPIClassIterator.next(SPIClassIterator.java:137)
        at org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:65)
        at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:47)
        at org.apache.lucene.util.NamedSPILoader.<init>(NamedSPILoader.java:37)
        at 
org.apache.lucene.codecs.PostingsFormat.<clinit>(PostingsFormat.java:44)
        ... 17 more

I'm flummoxed. Firstly, by the fact that it cannot find the class where it 
should be able to find it, and had no troubles finding it up until the 
upgrade to 1.0. And, secondly, if I succeeded in getting it to find the 
class then I get this esoteric ClassCastException deep within the machinery 
of elasticsearch. I should also mention that this same code runs 
successfully under tomcat 7 on Windows and ran just fine under v0.90 of 
elasticsearch. Given the name of that postings format class 
(ElasticSearch090PostingsFormat) it doesn't appear this area of 
elasticsearch underwent much change in v1.0.

Any help would be greatly appreciated.

Cheers

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/a5a8cc48-9b5e-4617-8d0f-fcfd7f9d5a75%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to