28 lines
614 B
Markdown
28 lines
614 B
Markdown
|
|
---
|
||
|
|
id: "0004"
|
||
|
|
date: 2026-06-02
|
||
|
|
status: Accepted
|
||
|
|
supersedes:
|
||
|
|
superseded-by:
|
||
|
|
affected-paths: [lib/api.rb]
|
||
|
|
affected-components: [api, sync]
|
||
|
|
---
|
||
|
|
|
||
|
|
# 0004 — Retry outbound sync with exponential backoff
|
||
|
|
|
||
|
|
## Context
|
||
|
|
|
||
|
|
The sync endpoint is flaky; naive immediate retries amplified outages.
|
||
|
|
|
||
|
|
## Decision
|
||
|
|
|
||
|
|
lib/api.rb retries failed pushes 3 times with exponential backoff and jitter; no retry queue.
|
||
|
|
|
||
|
|
## Consequences
|
||
|
|
|
||
|
|
Transient failures self-heal; a hard outage still surfaces as an error after ~30s.
|
||
|
|
|
||
|
|
## Alternatives rejected
|
||
|
|
|
||
|
|
Persistent retry queue rejected: adds state and a worker for a problem backoff already solves.
|