3
0
Commit Graph

2 Commits

Author SHA1 Message Date
Antonin Delpeuch
577caabec1
Add exponential backoff retries for reconciliation calls. ()
* Update test to demonstrate retry mechanism for recon queries.

This was fixed earlier by . Closes .

* Ensure non-zero retry interval in HttpClient

* Restore original bound
2021-04-01 17:10:17 +02:00
Tom Morris
14f43dc2cc
Refactor HTTP code into common module & Improve Fetch URL - fixes ()
* Refactor HTTP code into a common utility class 

Centralizes the six (slightly) different implementations to use
a common Apache HTTP Client 5 implementation which implements our
strategies for retries, timeouts, error handling, etc.

Apache HTTP Client 5 adds support for Retry-After headers, HTTP/2,
and a bunch of other stuff under the covers.

Moves request delay to a request interceptor and fixes calculation
of the delay (again). Increase retries from 1x to 3x and use delay*2
as the default retry interval, if no Retry-After header. Uses an 
exponential backoff strategy for multiple retries.

* Reuses HTTP client across requests
* Use IOException instead of Exception for HTTP errors
2020-12-07 00:38:36 -05:00