Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-5402

SolrCloud 4.5 bulk add errors in cloud setup

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.5, 4.5.1
    • Fix Version/s: 4.6, 4.7, 6.0
    • Component/s: SolrCloud
    • Labels:
      None

      Description

      We use out of the box Solr 4.5.1 no customization done. If we merge documents via SolrJ to a single server it is perfectly working fine.

      But as soon as we add another node to the cloud we are getting following while merging documents. We merge about 500 at a time using SolrJ. These 500 documents in total are about few MB (1-3) in size.

      This is the error we are getting on the server (10.10.10.116 - IP is irrelavent just for clarity)where merging is happening. 10.10.10.119 is the new node here. This server gets RemoteSolrException

      shard update error StdNode: http://10.10.10.119:8980/solr/mycore/:org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Illegal to have multiple roots (start tag in epilog?).
      at [row,col

      {unknown-source}]: [1,12468]
      at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:425)
      at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
      at org.apache.solr.update.SolrCmdDistributor$1.call(SolrCmdDistributor.java:401)
      at org.apache.solr.update.SolrCmdDistributor$1.call(SolrCmdDistributor.java:1)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)


      On the other server 10.10.10.119 we get following error

      org.apache.solr.common.SolrException: Illegal to have multiple roots (start tag in epilog?).
      at [row,col {unknown-source}

      ]: [1,12468]
      at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:176)
      at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
      at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
      at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
      at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859)
      at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:703)
      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:406)
      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:195)
      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.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:936)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
      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$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal to have multiple roots (start tag in epilog?).
      at [row,col

      {unknown-source}

      ]: [1,12369]
      at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:630)
      at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461)
      at com.ctc.wstx.sr.BasicStreamReader.handleExtraRoot(BasicStreamReader.java:2155)
      at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2070)
      at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2647)
      at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
      at org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:213)
      at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:174)
      ... 22 more

      We tried with 4.5.0 first and then with 4.5.1 later. Both produce exact same error.

      Note: This error is not present when we switched exact setup to 4.4.0

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                markrmiller@gmail.com Mark Miller
                Reporter:
                gadde.sai Sai Gadde
              • Votes:
                10 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: