Repository navigation
Fail predictions when output uploads fail - #3197
Merged
Merged
Conversation
Propagate output-upload and upload-task errors to the prediction so a missing output can't be reported as a successful result. Cancellation aborts in-flight uploads and retains the canceled status. Send X-Prediction-Id on uploads so Director uses its normal upload path. Keep the existing 25-second request timeout.
Contributor
|
I've completed a thorough review of PR #3197. Let me summarize my analysis: Changes reviewed:
Key correctness checks I verified:
I found no actionable defects in the logic, error handling, or tests. LGTM |
The cancellation regression requires an in-flight upload connection to close before its request timeout, catching detached upload tasks even when the prediction reports canceled. Update Rustls to 0.23.46 to resolve the security advisories blocking CI.
Contributor
|
LGTM |
meatballhat-cf
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Coglet can report
status: "succeeded"withoutput: nullafter a file upload times out or the upload server rejects it. Failed uploads can also disappear from otherwise successful list outputs.In
crates/coglet/src/orchestrator.rs, upload tasks return their errors to prediction completion. Any failed upload or upload task marks the prediction failed with an error. Cancellation aborts pending uploads and preserves the canceled status.Uploads also include
X-Prediction-Id, so Director handles them through its normal upload path rather than its legacy redirect fallback. The 25-second timeout and retry policy are unchanged.Regression tests exercise HTTP rejection and the real 25-second timeout through the orchestrator event loop against a local upload server. They also cover partial list output, cancellation, and successful uploads.