Skip to content

Conversation

jennifer-richards
Copy link
Member

Brings the blob replicator / pusher closer to a deployable state.

Adds:

  • Settings to
    • enable/disable the replication process
    • include/exclude individual buckets from replication (set to exclude "staging" on dev)
    • move the naming convention for destination buckets into settings
    • choose verbose logging
  • Logging to the replicator
  • Retry of the task on replicator failures

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.

Use blob modified timestamp as mtime in replicated
metadata. This is the intended behavior and matches
BlobdbStorage.
@jennifer-richards jennifer-richards merged commit 66658f6 into ietf-tools:feat/blobstage May 24, 2025
2 checks passed
@jennifer-richards jennifer-richards deleted the mature-replication branch May 24, 2025 16:07
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants