apollo_batcher: remove is_round_mismatch_error#13232
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
9121c65 to
abafe89
Compare
|
Note, it is implied here that the other error is not raised. Suggestion: if is_round_mismatch_error(&error, next_write_iteration) {
// TODO(noamsp): Remove this since we only have one ongoing write task.
pending_tasks.clear();
return Err(error.into());
}
else {
// Intentionally ignore write-task errors (including recorder BAD_REQUEST)
// to preserve current best-effort pre-confirmed block writer behavior.
} |
|
Previously, ArniStarkware (Arnon Hod) wrote…
Didn't understand your comment. What is the other error? The round mismatch? |
abafe89 to
89a3fe5
Compare
|
Previously, TzahiTaub (Tzahi) wrote…
The note I wanted to raise was discussed with @ShahakShama. What I wanted to say is that, before the change, we didn't handle the other variants of |
TzahiTaub
left a comment
There was a problem hiding this comment.
@TzahiTaub reviewed 4 files and all commit messages, and made 1 comment.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on ArniStarkware).
crates/apollo_batcher/src/pre_confirmed_block_writer.rs line 124 at r3 (raw file):
// to preserve current best-effort pre-confirmed block writer behavior. } }
I see that the write_pre_confirmed_block logs a warning upon failure, and with your todo for the metric there, I don't think there should be anything else here. I think the result can just be ignored in this scope.
Code quote:
// TODO(Arni): handle this error. Make sure it is logged, and that there is a metric for the
// failure.
fn handle_pre_confirmed_cende_client_result(result: PreconfirmedCendeClientResult<()>) {
if result.is_err() {
// Intentionally ignore write-task errors (including recorder BAD_REQUEST)
// to preserve current best-effort pre-confirmed block writer behavior.
}
}|
Previously, TzahiTaub (Tzahi) wrote…
Done. |
89a3fe5 to
5c2415f
Compare
ShahakShama
left a comment
There was a problem hiding this comment.
@ShahakShama reviewed 1 file and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on TzahiTaub).
TzahiTaub
left a comment
There was a problem hiding this comment.
@TzahiTaub reviewed 1 file and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on ArniStarkware).

Note
Medium Risk
Changes pre-confirmed block writing from error-propagating to best-effort by ignoring Cende write failures, which could mask recorder/round issues and affect observability/troubleshooting during proposals.
Overview
Makes the pre-confirmed block writer non-failing:
PreconfirmedBlockWriterTrait::runno longer returns aResult, andbatcher::spawn_proposalstops discarding anOk/Errreturn value.Removes round-mismatch/error handling in
PreconfirmedBlockWriter(including theis_round_mismatch_errorpath) and instead intentionally ignores errors from in-flight and finalwrite_pre_confirmed_blockcalls;PreconfirmedCendeClientnow logs failures aswarnwith a TODO to add a failure metric. Test mocks are updated to match the newrun()signature.Written by Cursor Bugbot for commit 5c2415f. This will update automatically on new commits. Configure here.