fix(shared): bound readiness response body reads - #10603
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused readiness-timeout bug fix: response-body reads now share the existing per-probe deadline, with regression tests covering retries and interruption. It introduces no schema, deployment, default, security, or static-analysis changes. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe readiness probe now reads the HTTP response body within the per-probe timeout. New tests cover stalled headers, stalled bodies, retries, interruption, abort signals, and timeout diagnostics. ChangesHTTP readiness timeout handling
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to HTTP readiness probes now include response-body consumption in each probe deadline, so stalled bodies can be aborted and retried rather than consuming the full readiness window. The supplied coverage indicates the intended recovery and timeout behavior is addressed, with no remaining merge-blocking risk identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What Changed
Put response-body consumption inside the existing per-probe HTTP readiness deadline so a stalled body is interrupted and retried.
Why
A backend or proxy can send successful headers and then stop sending its body. SSH tunnel and desktop backend startup currently spend the entire overall deadline on that one response, even if the next probe would succeed.
Checked open PR file lists and relevant patches before implementing. The two open branches touching this helper, #9376 and #10051, only change an export and do not address body deadlines.
Testing
02443335b: both stalled-body regressions fail before the fix.Model: GPT-6 Astra
Harness: T3 code
Note
Bound response body reads under per-probe timeout in
waitForHttpReadyHttpClientpipeline before the per-probe timeout transform in httpReadiness.ts, so a stalled body now hits the probe deadline instead of hanging outside it.TestClockto verify probe interruption, retry on stalled headers/body, and overall-timeout reporting for never-completing bodies.Macroscope summarized db0916b.
Summary by CodeRabbit
Bug Fixes
Tests