Skip to content
echogeco
Connectors · Reliability

Which failure is safe to replay

Sort five groups of failed calls after an outage into replay as is, replay after a check, and do not replay, and name the check for each.

casemediumExercise · 3 min · 38 of 75
On this page

After an outage the dead-letter queue is a list of decisions. "Replay all" is one of them, and on this queue it double-sends reminders and overwrites three contacts staff fixed this morning.

The situation

The host that runs the agency's connectors could not reach other systems from 06:00 to 14:00 on Saturday. Every outbound call timed out, so whether each request arrived is unknown. On Monday at 08:00, about 50 hours later, the dead-letter queue holds five groups:

GroupCountWhat failed
A1,140GET /contacts lookups against the CRM
B31POST /invoices to the accounting system, which accepts no idempotency key; each invoice carries its timesheet id in a reference field
C26PUT /contacts/:id full-record updates to the accounting system, built from the CRM on Saturday; staff edited 3 of those contacts there at 07:30 today
D212payment.received events stored by the receiver, which runs elsewhere, whose processing failed; the worker dedupes on event id, keys expiring after 72 hours
E9payment-reminder emails, sent with an Idempotency-Key the email provider honours for 24 hours

Voiding a duplicate invoice takes 15 minutes at $30 an hour; a client reminded twice costs a 10-minute founder apology at $100 an hour. The lesson is idempotency and deduplication.

The question

Decide, for each group, whether to replay it as it is, replay it after a check, or not replay it, and name the check.

A strong answer · Rubric · Where answers go wrong

Write your answer first, then open