letsencrypt / letsencrypt/boulder

Unify configuration of retry/backoff behavior

Open
#5,933 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

starter
Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

We've unified how we compute retry/backoff into core.RetryBackoff, which takes four arguments as input: the current retry count, the configured base time between tries, the configured max time between tries, and the exponential rate at which the backoff interval should be increased.

Four different services (mailer, ocsp-updater, bad-key-revoker, and cache-client) all use this. But all of them have completely different mechanisms for configuring the min/max/factor parameters. These should be unified into a single RetryBackoffConfig which all of them can share.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing core.RetryBackoff and its configuration in the mailer, ocsp-updater, bad-key-revoker, and cache-client services. Compare how each currently supplies the min/max/factor parameters; done means all four share a single RetryBackoffConfig with equivalent retry behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.