Skip to content

feat: retry failed capture batches with backoff; default decision budget 5 s - #15

Merged
kbhatnagar1506 merged 1 commit into
mainfrom
capture-retry
Oct 7, 2026
Merged

kbhatnagar1506 merged 1 commit into
mainfrom
capture-retry

Conversation

@kbhatnagar1506

Copy link
Copy Markdown
Owner

What and why

  • Failed capture sends were dropped on the first try, so one prod blip lost whole batches. Now a send that fails for a passing reason (connection error or timeout, 408/425/429/5xx) is retried up to 3 times with doubling backoff (0.5, 1, 2 s). The SDK honours Retry-After up to 10 s and never waits past a flush's deadline. Other statuses (401, 413, …) are not retried. A batch that still fails is dropped and counted in failed, and retries are counted in retried.
  • The default decision timeout goes from 2 s to 5 s. The server allows up to 15 s per step.

Checklist

  • Tests added or updated (retry until it lands, bounded with the drop counted, no retry for non-passing statuses, Retry-After cap, flush deadline)
  • Commit messages follow Conventional Commits (fix:, feat:, ...)
  • The SDK still never raises into the caller and still fails open

🤖 Generated with Claude Code

https://claude.ai/code/session_018ruNgP5DUwEkpSrXnv5R8T


Generated by Claude Code

…get 5 s

A capture send that fails for a passing reason (no connection, timeout,
408/425/429/5xx) is retried up to 3 times with doubling backoff (0.5, 1,
2 s), honouring Retry-After up to 10 s and never past a flush's deadline.
Other failures are not retried. A batch that still fails is dropped and
counted in `failed`; retries are counted in `retried`.

The default decision timeout goes from 2 s to 5 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ruNgP5DUwEkpSrXnv5R8T
@kbhatnagar1506
kbhatnagar1506 merged commit 8c25969 into main Oct 7, 2026
5 checks passed
@kbhatnagar1506
kbhatnagar1506 deleted the capture-retry branch October 7, 2026 20:23
@kbhatnagar1506
kbhatnagar1506 restored the capture-retry branch October 9, 2026 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants