Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-23723

A remote Solr core is broken if it's initialized on XWiki side while not fully initialized on Solr side

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 14.10.20
    • Search - Solr
    • None
    • Unknown

    Description

      After restrating SOLR and then XWiki, I noticed the following errors in the logs :

      ERROR o.x.s.s.i.RemoteSolr           - Failed to create the Solr client for core with name [events]
      org.xwiki.search.solr.SolrException: Failed to get the list of field types
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldTypes(AbstractSolrCoreInitializer.java:176)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldType(AbstractSolrCoreInitializer.java:399)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getVersion(AbstractSolrCoreInitializer.java:386)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getCurrentXWikiVersion(AbstractSolrCoreInitializer.java:362)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.initializeBaseSchema(AbstractSolrCoreInitializer.java:197)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.initialize(AbstractSolrCoreInitializer.java:160)
          at org.xwiki.search.solr.internal.AbstractSolr.getSynchronizedClient(AbstractSolr.java:95)
          at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
          at org.xwiki.search.solr.internal.AbstractSolr.getClient(AbstractSolr.java:71)
          at org.xwiki.search.solr.internal.DefaultSolr.getClient(DefaultSolr.java:67)
          at org.xwiki.eventstream.store.solr.internal.SolrEventStore.initialize(SolrEventStore.java:159)
          at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
          at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)
          at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
          at org.xwiki.eventstream.internal.DefaultEventStore.initialize(DefaultEventStore.java:102)
          at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
          at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)
          at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
          at org.xwiki.component.embed.EmbeddableComponentManager.getDependencyInstance(EmbeddableComponentManager.java:406)
          at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:355)
          at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceMap(EmbeddableComponentManager.java:242)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceList(EmbeddableComponentManager.java:225)
          at org.xwiki.observation.internal.DefaultObservationManager.initializeListeners(DefaultObservationManager.java:166)
          at org.xwiki.observation.internal.DefaultObservationManager.getListenersByEvent(DefaultObservationManager.java:132)
          at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:283)
          at org.xwiki.component.internal.StackingComponentEventManager.sendEvent(StackingComponentEventManager.java:151)
          at org.xwiki.component.internal.StackingComponentEventManager.flushEvents(StackingComponentEventManager.java:92)
          at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:133)
          at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4494)
          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4946)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
          at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
          at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
          at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1184)
          at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1932)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
          at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1094)
          at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:476)
          at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
          at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
          at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
          at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
          at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
          at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
      Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at _URL_/solr/xwiki_events: SolrCore is loading
          at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:681)
          at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:266)
          at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
          at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:214)
          at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:231)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldTypes(AbstractSolrCoreInitializer.java:174)
          ... 71 common frames omitted
      ERROR o.x.s.s.i.RemoteSolr           - Failed to create the Solr client for core with name [extension_index]
      org.xwiki.search.solr.SolrException: Failed to get the list of field types
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldTypes(AbstractSolrCoreInitializer.java:176)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldType(AbstractSolrCoreInitializer.java:399)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getVersion(AbstractSolrCoreInitializer.java:386)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getCurrentXWikiVersion(AbstractSolrCoreInitializer.java:362)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.initializeBaseSchema(AbstractSolrCoreInitializer.java:197)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.initialize(AbstractSolrCoreInitializer.java:160)
          at org.xwiki.search.solr.internal.AbstractSolr.getSynchronizedClient(AbstractSolr.java:95)
          at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
          at org.xwiki.search.solr.internal.AbstractSolr.getClient(AbstractSolr.java:71)
          at org.xwiki.search.solr.internal.DefaultSolr.getClient(DefaultSolr.java:67)
          at org.xwiki.extension.index.internal.ExtensionIndexStore.initialize(ExtensionIndexStore.java:176)
          at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
          at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:365)
          at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:201)
          at org.xwiki.component.embed.EmbeddableComponentManager.getDependencyInstance(EmbeddableComponentManager.java:406)
          at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:355)
          at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:451)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceMap(EmbeddableComponentManager.java:242)
          at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceList(EmbeddableComponentManager.java:225)
          at org.xwiki.observation.internal.DefaultObservationManager.initializeListeners(DefaultObservationManager.java:166)
          at org.xwiki.observation.internal.DefaultObservationManager.getListenersByEvent(DefaultObservationManager.java:132)
          at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:283)
          at org.xwiki.component.internal.StackingComponentEventManager.sendEvent(StackingComponentEventManager.java:151)
          at org.xwiki.component.internal.StackingComponentEventManager.flushEvents(StackingComponentEventManager.java:92)
          at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:133)
          at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4494)
          at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4946)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
          at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
          at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662)
          at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1184)
          at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1932)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
          at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1094)
          at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:476)
          at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)
          at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
          at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
          at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
          at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328)
          at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
          at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
          at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
          at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
      Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at _URL_/solr/xwiki_extension_index: SolrCore is loading
          at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:681)
          at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:266)
          at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
          at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:214)
          at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:231)
          at org.xwiki.search.solr.AbstractSolrCoreInitializer.getFieldTypes(AbstractSolrCoreInitializer.java:174)
          ... 66 common frames omitted

       

      Before restarting XWiki, the cores were displayed, therefore the assumption that SOLR finished loading. In fact, the loading was still not finished, as shown in the logs above, suggesting that there is no way right now with SolrJ to make the different between requests indicating that the core is initializing and XWiki should wait a bit, and the actual failing requests.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ralucamorosan Raluca Stavro
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: