feat: more configurable/robust blob pusher #8915
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brings the blob replicator / pusher closer to a deployable state.
Adds:
The retry is on top of the retries that boto3 allows when making S3 calls, which is currently set to 5 attempts total. The new feature adds another 5 retries of that process, with an exponential backoff factor of 10 seconds. Celery's retry algorithm does its first retry immediately, then backs off by a random interval less than the backoff factor. It then doubles the factor for the next retry. These settings will cause it to retry over something like 2-3 minutes total.
I'd be happy to discuss / adjust the retry settings, this is just a somewhat wild guess at what's reasonable.