fix(batch): retry R2 upload on transient failure in BatchPayloadProcessor#3331
fix(batch): retry R2 upload on transient failure in BatchPayloadProcessor#3331matt-aitken merged 1 commit intomainfrom
Conversation
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (27)
WalkthroughThis pull request adds retry handling for transient object-store upload failures in batch processing: Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes ExplanationChanges touch four areas: a small route handler header removal, the batch payload processor (adds retried upload with logging and backoff), a comprehensive test file with four scenarios, and a documentation file. The edits are focused on a single feature but include moderate new logic and test coverage requiring separate verification of retry semantics, logging, and test mocks. 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ssor A single "fetch failed" from the object store was aborting the entire batch stream with no retry. Added p-retry (3 attempts, 500ms-2s backoff) around uploadPacketToObjectStore so transient network errors self-heal server-side instead of propagating to the SDK.
48bd11c to
8046caa
Compare
A single "fetch failed" from the object store was aborting the entire batch stream with no retry. Added p-retry (3 attempts, 500ms-2s backoff) around ploadPacketToObjectStore so transient network errors self-heal server-side instead of propagating to the SDK.