[ https://issues.apache.org/jira/browse/SOLR-5331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794458#comment-13794458 ]
Uwe Schindler edited comment on SOLR-5331 at 10/14/13 8:46 PM: --------------------------------------------------------------- Hi Chris, this setting affects all servlet containers. Shawn's explanation was not fully correct: Solr does not set anything in the servlet container. Since Solr 4.1.0, any settings in the container about charset, request size,.. don't have any effect on Solr anymore. Especially Tomcat was the source of all bugs (because you had to configure Tomcat to use UTF-8) for query encoding. SOLR-4265 and SOLR-4283 changed this: All query parameters, uploaded files,... are now handled directly by the dispatcher servlet. It reads the POST data from an input stream, it does not let Tomcat parse them. The Tomcat setting only affects the maximum size of POSTed form data if parsed by Tomcat itsself (means those &...&...&....-encoded data). As parsing is done in Solr, the corresponding setting in tomcat is: formdataUploadLimitInKB (for form data encoded like URL params) and multipartUploadLimitInKB (for file uploads) in the solrconfig.xml. was (Author: thetaphi): Hi Chris, this setting affects all servlet containers. Shawn's explanation was not fully correct: Solr does not set anything in the servlet container. Since Solr 4.1.0, any settings about charset, request size,.. don't have any effect on Solr anymore. Especially Tomcat was the source of all bugs (because you had to configure Tomcat to use UTF-8) for query encoding. SOLR-4265 and SOLR-4283 changed this: All query parameters, uploaded files,... are now handled directly by the dispatcher servlet. It reads the POST data from an input stream, it does not let Tomcat parse them. The Tomcat setting only affects the maximum size of POSTed form data if parsed by Tomcat itsself (means those &...&...&....-encoded data). As parsing is done in Solr, the corresponding setting in tomcat is: formdataUploadLimitInKB (for form data encoded like URL params) and multipartUploadLimitInKB (for file uploads) in the solrconfig.xml. > SolrCloud 4.5 bulk add errors > ----------------------------- > > Key: SOLR-5331 > URL: https://issues.apache.org/jira/browse/SOLR-5331 > Project: Solr > Issue Type: Bug > Components: SolrCloud > Affects Versions: 4.5 > Reporter: Chris > Fix For: 4.5.1 > > > 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 -- This message was sent by Atlassian JIRA (v6.1#6144) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org