You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "Zimmermann, Thomas" <tz...@techtarget.com> on 2018/08/28 03:32:26 UTC

Spring Content Error in Plugin

Hi,

We have a custom java plugin that leverages the UpdateRequestProcessorFactory to push data to multiple cores when a single core is written to. We are building the plugin with maven, deploying it to /solr/lib and sourcing the jar via a lib directive in our solr config. It currently works correctly in our Solr 5.x cluster.

In Solr 7 when attempting to create the core, the plugin is failing with the long stack trace later in this post, but it seems to boil down to solr not finding a the Spring Context jar (Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext

The jar is imported in the file, and maven has a dependency to bring it in. The maven build works perfectly, the dependency is built and the jar is generated.

Any ideas on a starting point for tracking this down? I’ve dug through a bunch of stack overflow’s with the same issue but not directly tied to solr and had no luck.

Thanks!

POM

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>org.springframework.context</artifactId>

    <version>3.2.2.RELEASE</version>

</dependency>


Error

ERROR - 2018-08-28 03:15:54.253; [c:vignette_de s:shard1 r:core_node5 x:vignette_de_shard1_replica_n2] org.apache.solr.handler.RequestHandlerBase; org.apache.solr.common.SolrException: Error CREATEing SolrCore 'vignette_de_shard1_replica_n2': Unable to create core [vignette_de_shard1_replica_n2] Caused by: org.springframework.context.ConfigurableApplicationContext

at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1084)

at org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$0(CoreAdminOperation.java:94)

at org.apache.solr.handler.admin.CoreAdminOperation.execute(CoreAdminOperation.java:380)

at org.apache.solr.handler.admin.CoreAdminHandler$CallInfo.call(CoreAdminHandler.java:395)

at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:180)

at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)

at org.apache.solr.servlet.HttpSolrCall.handleAdmin(HttpSolrCall.java:734)

at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:715)

at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:496)

at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:377)

at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:323)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.Server.handle(Server.java:531)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)

at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)

at java.lang.Thread.run(Thread.java:748)

Caused by: org.apache.solr.common.SolrException: Unable to create core [vignette_de_shard1_replica_n2]

at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1156)

at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1045)

... 44 more

Caused by: org.apache.solr.common.SolrException: org/springframework/context/ConfigurableApplicationContext

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:1012)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:867)

at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1135)

... 45 more

Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:541)

at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:488)

at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:790)

at org.apache.solr.core.SolrCore.createInitInstance(SolrCore.java:846)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2808)

at org.apache.solr.update.processor.UpdateRequestProcessorChain.init(UpdateRequestProcessorChain.java:130)

at org.apache.solr.core.SolrCore.createInitInstance(SolrCore.java:848)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2783)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2777)

at org.apache.solr.core.SolrCore.loadUpdateProcessorChains(SolrCore.java:1428)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:968)

... 47 more

Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 60 more


Re: Spring Content Error in Plugin

Posted by "Zimmermann, Thomas" <tz...@techtarget.com>.
In case anyone else runs into this, I tracked it down. I had to force maven to explicitly include all of it’s dependent jars in the plugin jar using the assembly plugin in the pom like so:


<plugin>

      <!— Includes all runtime dependencies in jar-->

      <artifactId>maven-assembly-plugin</artifactId>

      <version>2.5.3</version>

      <configuration>

        <descriptorRefs>

          <descriptorRef>jar-with-dependencies</descriptorRef>

        </descriptorRefs>

      </configuration>

      <executions>

        <execution>

          <id>make-assembly</id>

          <phase>package</phase>

          <goals>

            <goal>single</goal>

          </goals>

        </execution>

      </executions>

    </plugin>


Cheers!

TZ

From: Tom <tz...@techtarget.com>>
Date: Monday, August 27, 2018 at 11:32 PM
To: "solr-user@lucene.apache.org<ma...@lucene.apache.org>" <so...@lucene.apache.org>>
Subject: Spring Content Error in Plugin

Hi,

We have a custom java plugin that leverages the UpdateRequestProcessorFactory to push data to multiple cores when a single core is written to. We are building the plugin with maven, deploying it to /solr/lib and sourcing the jar via a lib directive in our solr config. It currently works correctly in our Solr 5.x cluster.

In Solr 7 when attempting to create the core, the plugin is failing with the long stack trace later in this post, but it seems to boil down to solr not finding a the Spring Context jar (Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext

The jar is imported in the file, and maven has a dependency to bring it in. The maven build works perfectly, the dependency is built and the jar is generated.

Any ideas on a starting point for tracking this down? I’ve dug through a bunch of stack overflow’s with the same issue but not directly tied to solr and had no luck.

Thanks!

POM

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>org.springframework.context</artifactId>

    <version>3.2.2.RELEASE</version>

</dependency>


Error

ERROR - 2018-08-28 03:15:54.253; [c:vignette_de s:shard1 r:core_node5 x:vignette_de_shard1_replica_n2] org.apache.solr.handler.RequestHandlerBase; org.apache.solr.common.SolrException: Error CREATEing SolrCore 'vignette_de_shard1_replica_n2': Unable to create core [vignette_de_shard1_replica_n2] Caused by: org.springframework.context.ConfigurableApplicationContext

at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1084)

at org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$0(CoreAdminOperation.java:94)

at org.apache.solr.handler.admin.CoreAdminOperation.execute(CoreAdminOperation.java:380)

at org.apache.solr.handler.admin.CoreAdminHandler$CallInfo.call(CoreAdminHandler.java:395)

at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:180)

at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)

at org.apache.solr.servlet.HttpSolrCall.handleAdmin(HttpSolrCall.java:734)

at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:715)

at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:496)

at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:377)

at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:323)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.Server.handle(Server.java:531)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)

at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)

at java.lang.Thread.run(Thread.java:748)

Caused by: org.apache.solr.common.SolrException: Unable to create core [vignette_de_shard1_replica_n2]

at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1156)

at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1045)

... 44 more

Caused by: org.apache.solr.common.SolrException: org/springframework/context/ConfigurableApplicationContext

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:1012)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:867)

at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1135)

... 45 more

Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:541)

at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:488)

at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:790)

at org.apache.solr.core.SolrCore.createInitInstance(SolrCore.java:846)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2808)

at org.apache.solr.update.processor.UpdateRequestProcessorChain.init(UpdateRequestProcessorChain.java:130)

at org.apache.solr.core.SolrCore.createInitInstance(SolrCore.java:848)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2783)

at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:2777)

at org.apache.solr.core.SolrCore.loadUpdateProcessorChains(SolrCore.java:1428)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:968)

... 47 more

Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 60 more