0

I am encountering an intermittent issue in Apache Solr where executing queries sometimes results in a "parsing error" response. I have a Java Spring backend application that communicates with an Apache Solr server hosted on a Dataproc cluster. The communication is established using the HttpURLConnection in my Java code. The error occurs sporadically and does not consistently reproduce.

{
"responseHeader": {
"zkConnected": true,
"status": 200,
"QTime": 122922,
"params": {
"q": "<SENSITIVE>",
"fl": "<SENSITIVE>",
"start": "<SENSITIVE>",
"sort": "<SENSITIVE>",
"rows": "<SENSITIVE>"
}
},
"error": {
"metadata": [
"error-class",
"org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException",
"root-error-class",
"java.nio.channels.AsynchronousCloseException"
],
"msg": "Error from server at null: parsing error",
"code": 200
}
}

Stacktrace:

2023-05-12 08:00:47.603 ERROR (qtp793331940-189518) [c:myCollection s:shard7 r:core_node29 x:myCollection_shard7_replica_n26] o.a.s.h.RequestHandlerBase org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException: Error from server at null: parsing error
at org.apache.solr.client.solrj.impl.Http2SolrClient.processErrorsAndResponse(Http2SolrClient.java:689)
at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:400)
at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:739)
at org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)
at org.apache.solr.handler.component.HttpShardHandlerFactory.makeLoadBalancedRequest(HttpShardHandlerFactory.java:308)
at org.apache.solr.handler.component.HttpShardHandler.lambda$submit$0(HttpShardHandler.java:190)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:181)
at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:209)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)Caused by: org.apache.solr.common.SolrException: parsing error
at org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:52)
at org.apache.solr.client.solrj.impl.Http2SolrClient.processErrorsAndResponse(Http2SolrClient.java:687)
... 14 moreCaused by: java.nio.channels.AsynchronousCloseException
at org.eclipse.jetty.http2.client.http.HttpConnectionOverHTTP2.close(HttpConnectionOverHTTP2.java:133)
at org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2.onClose(HttpClientTransportOverHTTP2.java:170)
at org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2$SessionListenerPromise.onClose(HttpClientTransportOverHTTP2.java:232)
at org.eclipse.jetty.http2.api.Session$Listener.onClose(Session.java:206)
at org.eclipse.jetty.http2.HTTP2Session.notifyClose(HTTP2Session.java:1154)
at org.eclipse.jetty.http2.HTTP2Session.onGoAway(HTTP2Session.java:439)
at org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onGoAway(Parser.java:392)
at org.eclipse.jetty.http2.parser.BodyParser.notifyGoAway(BodyParser.java:187)
at org.eclipse.jetty.http2.parser.GoAwayBodyParser.onGoAway(GoAwayBodyParser.java:169)
at org.eclipse.jetty.http2.parser.GoAwayBodyParser.parse(GoAwayBodyParser.java:139)
at org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:194)
at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:123)
at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:252)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:171)
at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:126)
at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:338)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.Invocable.invokeNonBlocking(Invocable.java:68)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.invokeTask(EatWhatYouKill.java:345)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:300)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
... 4 more

I am using Apache Solr version 8.1.1. While investigating the issue, I came across two known bugs in Apache Solr that mention similar parsing errors:

SOLR-13293

SOLR-13493

Considering the similarity of the parsing error I am encountering, I suspect it may be related to one of these known bugs. However, I would like to confirm if other users have experienced a similar issue or if there are any known workarounds or solutions available.

Any insights or suggestions would be greatly appreciated. Thank you!

f_puras
  • 2,521
  • 4
  • 33
  • 38
Luigi105
  • 141
  • 1
  • 11

0 Answers0