Thomas Wöckinger created SOLR-17871:
---------------------------------------

             Summary: Http2SolrClient does not use specified idle timeout
                 Key: SOLR-17871
                 URL: https://issues.apache.org/jira/browse/SOLR-17871
             Project: Solr
          Issue Type: Bug
          Components: clients - java, SolrJ
    Affects Versions: 9.9, 9.9.0
            Reporter: Thomas Wöckinger


SOLR-17776 removed  httpClient.setIdleTimeout(idleTimeoutMillis); at line 259, 
which is needed for {{org.eclipse.jetty.http2.HTTP2Session}} to have the 
correct idle timeout, otherwise the default value of 30s is used.

The coresponding commit is 
[https://github.com/apache/solr/commit/1a7647136a6e014bc003018c8e627e358cdf2d7c]

If a request takes longer than 30s following exception is thrown even when the 
idle timeout is set to 60s:
Caused by: org.apache.solr.client.solrj.SolrServerException: Idle timeout 
expired: 30000 ms
    at 
org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:627)
    at 
org.apache.solr.client.solrj.impl.LBSolrClient.lambda$doRequest$2(LBSolrClient.java:571)
    at 
org.apache.solr.client.solrj.impl.Http2SolrClient.requestWithBaseUrl(Http2SolrClient.java:669)
    at 
org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:571)
    at 
org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:513)
    at 
org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:477)
    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1212)
    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:910)
    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:838)
    at 
com.silbergrau.km.solr.DelegatingSolrClient.request(DelegatingSolrClient.java:136)
    at 
com.silbergrau.km.solr.DelegatingSolrClient.request(DelegatingSolrClient.java:56)
    at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:279)
    at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:956)
    at 
com.silbergrau.km.solr.transformers.SolrDocumentToEntityRefTransformer.getEntityReferences(SolrDocumentToEntityRefTransformer.java:7)
    ... 36 more
Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 30000 ms
    at 
org.eclipse.jetty.http2.client.http.HTTPSessionListenerPromise.onIdleTimeout(HTTPSessionListenerPromise.java:113)
    at 
org.eclipse.jetty.http2.HTTP2Session.notifyIdleTimeout(HTTP2Session.java:1209)
    at 
org.eclipse.jetty.http2.HTTP2Session$StreamsState.onIdleTimeout(HTTP2Session.java:1974)
    at 
org.eclipse.jetty.http2.HTTP2Session.onIdleTimeout(HTTP2Session.java:1050)
    at 
org.eclipse.jetty.http2.HTTP2Connection.onIdleExpired(HTTP2Connection.java:180)
    at 
org.eclipse.jetty.io.ssl.SslConnection.onIdleExpired(SslConnection.java:360)
    at 
org.eclipse.jetty.io.AbstractEndPoint.onIdleExpired(AbstractEndPoint.java:407)
    at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:170)
    at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:112)
    at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    ... 3 more
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to