Uploaded image for project: 'HttpComponents HttpClient'
  1. HttpComponents HttpClient
  2. HTTPCLIENT-2272

Add Exponential Backoff Strategy and Linear Strategy to AIMDBackoffManager

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.3-alpha1
    • None
    • None

    Description

      Exponential Backoff Strategy:

       

      As part of our ongoing efforts to improve the reliability and performance of our system, we want to add support for exponential backoff in the AIMDBackoffManager class.

      Exponential backoff is a common strategy used in networking to reduce the number of retries and failures during high load or congested periods. The basic idea is to increase the delay between retries exponentially after each attempt, instead of using a fixed delay as in linear backoff. This helps to reduce the load on the server and improve overall system stability.

      The implementation of the exponential backoff strategy will be similar to the existing linear backoff strategy, but with some modifications to the delay calculation. The delay between retries will be calculated using an exponential function with a configurable base value and multiplier. The base value will be the initial delay, and the multiplier will be the factor by which

      the delay increases after each attempt.

       

      Linear Backoff Strategies:

       

      Currently, our AIMDBackoffManager only supports the Additive Increase Multiplicative Decrease (AIMD) algorithm for managing connection pool sizes. However, we would like to introduce additional Linear Backoff Strategies to improve our connection management and provide better resilience to network failures.

      The proposed Linear Backoff Strategies will allow us to gradually increase or decrease the connection pool size by a fixed amount in response to failed attempts or successful probes. This approach is more predictable than AIMD and can be more appropriate for certain network topologies or failure modes.

      Attachments

        Activity

          People

            Unassigned Unassigned
            arturobernalg Arturo Bernal
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 20m
                1h 20m