apollo_propeller: add validation result handling#12005
Conversation
37ef060 to
dd8bb3d
Compare
3684394 to
a237fda
Compare
dd8bb3d to
28acffb
Compare
a237fda to
1807787
Compare
1807787 to
65cd522
Compare
28acffb to
30f70f2
Compare
guy-starkware
left a comment
There was a problem hiding this comment.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on noamsp-starkware, ShahakShama, and sirandreww-starkware).
65cd522 to
a658c0b
Compare
a658c0b to
9d2b359
Compare
5bb14f7 to
1fe6bbd
Compare
sirandreww-starkware
left a comment
There was a problem hiding this comment.
@sirandreww-starkware made 1 comment.
Reviewable status: 0 of 1 files reviewed, 1 unresolved discussion (waiting on guy-starkware, noamsp-starkware, and ShahakShama).
crates/apollo_propeller/src/message_processor.rs line 138 at r1 (raw file):
Previously, guy-starkware wrote…
I don't know why this early return. It looks like two very similar branches. I would argue this would be more readable as a match or at least as if let {...} else {...}.
This changes in future PRs, this just prepares for that...
9d2b359 to
a645380
Compare
a645380 to
89a3b65
Compare
1fe6bbd to
714e27d
Compare
guy-starkware
left a comment
There was a problem hiding this comment.
@guy-starkware reviewed 1 file and all commit messages, and resolved 1 discussion.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on noamsp-starkware and ShahakShama).
ShahakShama
left a comment
There was a problem hiding this comment.
@ShahakShama reviewed all commit messages and made 2 comments.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on noamsp-starkware and sirandreww-starkware).
crates/apollo_propeller/src/message_processor.rs line 124 at r2 (raw file):
) -> ControlFlow<()> { // Restore validator let (validation_result, validator_returned, unit) = result;
Use named struct instead of tuple
crates/apollo_propeller/src/message_processor.rs line 127 at r2 (raw file):
*validator = Some(validator_returned); // Early return for validation errors
remove early return (possibly as TODO)

Note
Medium Risk
Touches async control flow and validator lifecycle management in
MessageProcessor::run, so mistakes could stall validation or lose state; functionality added is minimal/log-only but affects runtime behavior.Overview
The message processor now actively awaits completion of the background shard validation oneshot and clears
pending_validationwhen results arrive.Validation result handling has been extracted into
handle_validation_result, which restores the movedUnitValidatorand logs success/failure (with a TODO placeholder for processing validated units). A TODO was added noting an unhandledoneshot::RecvErrorcase that could strand the validator if the rayon task panics.Written by Cursor Bugbot for commit 89a3b65. This will update automatically on new commits. Configure here.