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

SolrCloud 4.5 bulk add errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 4.5
    • 4.5.1
    • SolrCloud
    • None

    Description

      Since Solr 4.5 bulk adding documents via SolrJ (at least) is causing errors.

      // build array list of SolrInputDocuments

      server.add(docs);

      I've tried with CUSS (which swallows exceptions as expected) however they are shown in the logs on server, and with CloudSolrServer which is returning the errors as well as seeing them in the server logs.

      I've tried downgrading my SolrJ to 4.4, still errors so looks like a regression in the server code. Reverting to Solr 4.4 on server and I don't get errors (however run into deadlock issues).

      I raised this issue in IRC - NOT the mailing list, and elyorag suggested opening a ticket, and to mention this has now been discussed in IRC.

      The exceptions would indicate I'm attempting to do multiple operations in a single request which is malformed. I am not, I am only attempting to add documents.

      Stack traces seen here:

      14:57:13 ERROR SolrCmdDistributor shard update error RetryNode: http://X.X.X.X:8080/solr/collection1_shard16_replica2/:org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Illegal to have multiple roots (start tag in epilog?).

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

      {unknown-source}]: [18,327]
      at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:424)
      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:375)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      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:722)

      ----

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

      ]: [7,6314]
      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: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:312)
      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:722)
      Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal to have multiple roots (start tag in epilog?).
      at [row,col

      {unknown-source}

      ]: [7,6314]
      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bokkie Chris Geeringh
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: