You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Mike Drob (Jira)" <ji...@apache.org> on 2021/08/20 18:40:00 UTC
[jira] [Resolved] (SOLR-10861) Stream query on empty core throws
IOException
[ https://issues.apache.org/jira/browse/SOLR-10861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Drob resolved SOLR-10861.
------------------------------
Resolution: Cannot Reproduce
This does not reproduce on main dev branch, was likely fixed somewhere along the way.
> Stream query on empty core throws IOException
> ---------------------------------------------
>
> Key: SOLR-10861
> URL: https://issues.apache.org/jira/browse/SOLR-10861
> Project: Solr
> Issue Type: Bug
> Components: search
> Affects Versions: 5.5.1
> Reporter: Brian Lininger
> Priority: Minor
>
> When attempting to perform a stream query on an empty (no documents) Solr core, an IOException is thrown instead of returning an empty result set.
> For example, only a newly created Solr core (core_1), I can curl:
> {noformat}
> curl --data-urlencode 'stream=search(core_1,q="*:*",qt="/export",fl="DocumentVersionIdDocValue",sort="DocumentVersionIdDocValue asc",fq="SolrDocumentType:Document")' http://localhost:8085/solr/core_1/stream
> {noformat}
> and the result is:
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="error"><str name="msg">java.util.concurrent.ExecutionException: java.io.IOException: JSONTupleStream: expected OBJECT_START but got STRING</str><str name="trace">java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: JSONTupleStream: expected OBJECT_START but got STRING
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream.openStreams(CloudSolrStream.java:332)
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream.open(CloudSolrStream.java:231)
> at org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:300)
> at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:169)
> at org.apache.solr.response.XMLWriter.writeResponse(XMLWriter.java:113)
> at org.apache.solr.response.XMLResponseWriter.write(XMLResponseWriter.java:39)
> at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:52)
> at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:728)
> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
> at veeva.ecm.common.interfaces.web.SolrDispatchOverride.doFilter(SolrDispatchOverride.java:43)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1519)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1475)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.concurrent.ExecutionException: java.io.IOException: JSONTupleStream: expected OBJECT_START but got STRING
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream.openStreams(CloudSolrStream.java:326)
> ... 28 more
> Caused by: java.io.IOException: JSONTupleStream: expected OBJECT_START but got STRING
> at org.apache.solr.client.solrj.io.stream.JSONTupleStream.expect(JSONTupleStream.java:98)
> at org.apache.solr.client.solrj.io.stream.JSONTupleStream.advanceToDocs(JSONTupleStream.java:156)
> at org.apache.solr.client.solrj.io.stream.JSONTupleStream.next(JSONTupleStream.java:76)
> at org.apache.solr.client.solrj.io.stream.SolrStream.read(SolrStream.java:147)
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream$TupleWrapper.next(CloudSolrStream.java:413)
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream$StreamOpener.call(CloudSolrStream.java:436)
> at org.apache.solr.client.solrj.io.stream.CloudSolrStream$StreamOpener.call(CloudSolrStream.java:423)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:231)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> </str><int name="code">500</int></lst>
> </response>
> {noformat}
> And the Solr log contains:
> {noformat}
> ERROR org.apache.solr.servlet.HttpSolrCall - null:java.io.IOException: org.apache.solr.search.SyntaxError: xport RankQuery is required for xsort: rq={!xport}
> at org.apache.solr.response.SortingResponseWriter.write(SortingResponseWriter.java:101)
> at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:52)
> at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:728)
> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
> at veeva.ecm.common.interfaces.web.SolrDispatchOverride.doFilter(SolrDispatchOverride.java:43)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1519)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1475)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.solr.search.SyntaxError: xport RankQuery is required for xsort: rq={!xport}
> ... 24 more
> {noformat}
> Indexing a single document and running the same curl command above returns the expected response:
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">0</int><int name="QTime">0</int></lst><result name="response" numFound="-1" start="-1"><lst><bool name="EOF">true</bool></lst></result>
> </response>
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org