You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Alexandre Rafalovitch (JIRA)" <ji...@apache.org> on 2016/10/01 17:57:20 UTC

[jira] [Closed] (SOLR-1752) SolrJ fails with exception when passing document ADD and DELETEs in the same request using XML request writer (but not binary request writer)

     [ https://issues.apache.org/jira/browse/SOLR-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexandre Rafalovitch closed SOLR-1752.
---------------------------------------
    Resolution: Fixed

XML Update format has implemented a root tag some time ago. So the issue no longer seems there. Specifically, the following test does work:

{noformat}
curl http://127.0.0.1:8983/solr/test1/update/?commit=true -H "Content-Type: text/xml" --data-binary '<root><add><doc><field name="id">18</field></doc></add><delete><id>1234</id></delete></root>'
{noformat}

> SolrJ fails with exception when passing document ADD and DELETEs in the same request using XML request writer (but not binary request writer)
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-1752
>                 URL: https://issues.apache.org/jira/browse/SOLR-1752
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java, update
>    Affects Versions: 1.4
>            Reporter: Jayson Minard
>            Assignee: Shalin Shekhar Mangar
>         Attachments: SOLR-1752.patch, SOLR-1752.patch, SOLR-1752_2.patch
>
>
> Add this test to SolrExampleTests.java and it will fail when using the XML Request Writer (now default), but not if you change the SolrExampleJettyTest to use the BinaryRequestWriter.
> {code}
>  public void testAddDeleteInSameRequest() throws Exception {
>     SolrServer server = getSolrServer();
>     SolrInputDocument doc3 = new SolrInputDocument();
>     doc3.addField( "id", "id3", 1.0f );
>     doc3.addField( "name", "doc3", 1.0f );
>     doc3.addField( "price", 10 );
>     UpdateRequest up = new UpdateRequest();
>     up.add( doc3 );
>     up.deleteById("id001");
>     up.setWaitFlush(false);
>     up.setWaitSearcher(false);
>     up.process( server );
>   }
> {code}
> terminates with exception:
> {code}
> Feb 3, 2010 8:55:34 AM org.apache.solr.common.SolrException log
> SEVERE: org.apache.solr.common.SolrException: Illegal to have multiple roots (start tag in epilog?).
>  at [row,col {unknown-source}]: [1,125]
> 	at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:72)
> 	at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
> 	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
> 	at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
> 	at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
> 	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:835)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:723)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:202)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
> 	at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal to have multiple roots (start tag in epilog?).
>  at [row,col {unknown-source}]: [1,125]
> 	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.XMLLoader.processUpdate(XMLLoader.java:90)
> 	at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
> 	... 18 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org