Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-7694

Allow setting an overall client request timeout that includes retries

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: SolrJ
    • Labels:

      Description

      Current we're able to set a socket timeout on the underlying httpClient of an LBHttpSolrServer (used by CloudSolrServer). However, this timeout only applies to a single request that's issued from LBHttpSolrServer, but LBHttpSolrServer will go on to try all eligible candidate servers when a SocketTimeoutException is thrown, so that potentially the request can in fact take (socketTimeout * number of eligible servers) time to return from the caller's perspective. This is hard to predict.

      We should allow setting an overall client request timeout apart from the single request socketTimeout, so that the request call is guaranteed terminate by this timeout (either via success or via a timeout exception). This allows the client application to properly size their timeout and request thread pools to avoid request thread exhaustion if solr is experiencing issues.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                thelabdude Timothy Potter
                Reporter:
                mewmewball Jessica Cheng Mallet
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: