Dear support team,
I'm having a client query timeout issue that occurs with very long query
statements across many shards.
Timeout after around 120000 ms.
Any help will be appreciated
Looking forward to hear from you..
Thank you and best regards,
Stephanie
Our System description:
Linux 4.12.14-122.124-default
Java 1.8.0_322
Apache webserver 2.4.52
Solr 7.7.2
I'd tried to fixed the problem by changing the following config on solr side:
Solr Config:
-Dsolr.jetty.http.idleTimeout=300000
-Dsolr.jetty.threads.idle.timeout=300000
Solr.xml
<solr>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:0}</int>
<int name="connTimeout">${connTimeout:0}</int>
</shardHandlerFactory>
</solr>
But timeout still occurs after 120000 ms.
Solr response to client:
2022-07-28 15:13:23 user: xxxx; ....SOLR reports error:
{
"responseHeader":{
"status":500,
"QTime":121408,
"params":{
"q":"dt:root AND ( ( ( (( paco:(allm-s) ......
..........
...InputStream.socketRead(SocketInputStream.java:116)\n\tat
java.net.SocketInputStream.read(SocketInputStream.java:171)\n\tat
java.net.SocketInputStream.read(SocketInputStream.java:141)\n\tat
org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)\n\tat
org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)\n\tat
org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)\n\tat
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)\n\tat
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)\n\tat
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)\n\tat
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)\n\tat
org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)\n\tat
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)\n\tat
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)\n\tat
org.apache.solr.util.stats.InstrumentedHttpRequestExecutor.execute(InstrumentedHttpRequestExecutor.java:120)\n\tat
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)\n\tat
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)\n\tat
org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)\n\tat
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)\n\tat
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)\n\tat
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)\n\tat
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)\n\tat
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:542)\n\t...
12 more\n",
"code":500}}
Solr log Sever side:
2022-07-29 12:52:03.361 ERROR (qtp1699679644-117088) [ x:FD.0]
o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException:
org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting
response from server at: http://localhost:8000/solr/FD.47
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:413)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2551)
....
.....
Caused by: org.apache.solr.client.solrj.SolrServerException: Timeout occured
while waiting response from server at: http://localhost:8000/solr/FD.47
at
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:654)
at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:255)
at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:244)
....
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at
java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
....
....
See more: attached file.
[cid:[email protected]]