This is an automated email from the ASF dual-hosted git repository. hossman pushed a commit to branch jira/solr-16129 in repository https://gitbox.apache.org/repos/asf/solr.git
commit f8e19b259fc520040d322584b94e08d5081c512e Author: Chris Hostetter <[email protected]> AuthorDate: Mon Apr 4 17:42:32 2022 -0700 SOLR-16129: adjust timeAllowed -> setRequestTimeout hueristic to play nice with pathologically low values -- ex: timeAllowed=0 --- .../org/apache/solr/client/solrj/impl/Http2SolrClient.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java index d79449be931..95719b21ee8 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java @@ -1089,10 +1089,10 @@ public class Http2SolrClient extends SolrClient { } /** - * If a <code>timeAllowed=X</code> is specified in the params, use (30ms + 2X) as a requestTimeout - * on the response listener. This should give the remote node ample time to recognize it's - * exceeded <code>timeAllowed</code> and response to the request, but if it doesn't then we want - * to abort in a reasonably proportinate amount of time and not wait forever. + * If a <code>timeAllowed=X</code> is specified in the params, use <code>max(500ms, 2X)</code> as + * a requestTimeout on the response listener. This should give the remote node ample time to + * recognize it's exceeded <code>timeAllowed</code> and respond to the request, but if it doesn't + * then we want to abort in a reasonably proportinate amount of time and not wait forever. * * @see CommonParams#TIME_ALLOWED */ @@ -1102,7 +1102,7 @@ public class Http2SolrClient extends SolrClient { final Long timeAllowed = params.getLong(CommonParams.TIME_ALLOWED); if (null != timeAllowed) { listener.setRequestTimeout( - Instant.now().plusMillis(30).plusMillis(timeAllowed.longValue() * 2L)); + Instant.now().plusMillis(Math.max(500, timeAllowed.longValue() * 2L))); } } }
