Automatically retry requests finished with 429 response status
The following discussion from !570 (merged) should be addressed:
@nick.thomas started a discussion:
At the moment, the fact that the 429 is returned at all when a retry is desirable makes it a leaky abstraction.
One option might be for the caller to say how many retries are acceptable; the network code can then continue to take care of sleeping, but also take care of retries, only returning 429 if it runs out of retries.
As long as sleep and retry are split across the boundary, you're going to have problems.
@tmaczukin responded with:
OK. I think the idea is good, but this requires to take a look on whole codebase. Now retrying - if there is any - is part of the logic outside of the networking code. Such change could break something that is working right now, so if we want to go this way we should think what and how should be changed. And I would like to add backoff mechanism in upcoming release.
Let's open an issue to track this idea.