Skip to content

fix: add bounded jitter to commit retries - #341

Closed
konstantinoscs wants to merge 1 commit into
feature/tow-2494-python-compat-matrixfrom
codex/tow-2494-commit-retry-backoff
Closed

konstantinoscs wants to merge 1 commit into
feature/tow-2494-python-compat-matrixfrom
codex/tow-2494-commit-retry-backoff

Conversation

@konstantinoscs

@konstantinoscs konstantinoscs commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Consolidate insert, upsert, and delete conflict handling in one retry helper.
  • Replace fixed sleeps with exponential full-jitter backoff capped at 30 seconds.
  • Preserve max_retries as retries after the initial attempt and refresh metadata before each replay.
  • Update row statistics only after a successful mutation.
  • Reject non-finite retry delays.

Safety boundary

Only CommitFailedException is replayed. Unknown commit state, HTTP/server, transport, auth, permission, lock, validation, and not-found failures propagate immediately so ambiguous writes are not duplicated. This layer does not re-vend credentials or re-resolve a catalog by mutable name.

Verification

  • Deterministic coverage for all three mutations, event ordering, jitter ceilings/cap, exhaustion, refresh failure, and the non-retryable exception taxonomy.
  • Full Stack A suite from the top: 225 passed, 10 skipped.

Stack

3 of 5 in Stack A. Base: #340. Next: #342.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a6ee8212-96f5-45c5-9272-a39488094a9a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

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.

1 participant