Repository navigation
land: replay-exit-marker-recheck - #507
Merged
Merged
Conversation
Replay could read an empty exit marker, then see the wrapper dead after it had published the real status. That stale observation permanently classified a normally finished pipes task as fate_unknown. Re-read proof after the liveness probe before choosing a missing-proof outcome, including Starting and Killing recovery. Keep the session-isolation integration test and its assertions unchanged. Add a deterministic process-probe seam regression covering real zero/nonzero exit codes and completion delivery. Baseline isolated Linux runs: 0/50 failures; with the marker/probe window widened: 3/3 failures before, 0/3 after. Removing the second marker read reddens only the new regression among 36 replay tests. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
…check Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
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.
Accepted agent delivery; branch-keyed search descriptor included.
Summary by cubic
Fixes a replay race where a background command that finished during an AFT restart was reported as an unknown outcome instead of its real exit code.
The wrapper writes its exit marker before exiting, but replay could read the marker before it was written, then observe the process as dead and permanently classify the task as
fate_unknown. Replay now re-reads the exit marker after detecting the process is gone, coveringStarting,Running, andKillingrecovery states.Bug Fixes
Written for commit cbddce0. Summary will update on new commits.


Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.Summary
Replay now reads the exit marker again after finding a background command’s process gone. This preserves the real exit code when the command finishes between the first marker read and the process check.
Reviews (1) · Last reviewed commit: "release notes and search-quality descrip..." · Reviewed by Greptile