feat(payload): separate builder interrupt and wait deadlines#2939
Merged
feat(payload): separate builder interrupt and wait deadlines#2939
Conversation
e27430f to
f7a56d6
Compare
SuperFluffy
approved these changes
Mar 3, 2026
Contributor
SuperFluffy
left a comment
There was a problem hiding this comment.
Just a few naming nits so that it's easier for operators to understand what the settings do.
Co-authored-by: Richard Janis Goldschmidt <github@aberrat.io>
Co-authored-by: Richard Janis Goldschmidt <github@aberrat.io>
mattsse
reviewed
Mar 3, 2026
4851359 to
4a27861
Compare
…d future Use explicit deadline tracking (context.current() + sleep_until) instead of a pre-started sleep future, as suggested by Matthias. This is clearer and avoids depending on when the sleep future starts timing. Co-Authored-By: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com>
4a27861 to
4d19c33
Compare
mattsse
approved these changes
Mar 3, 2026
klkvr
approved these changes
Mar 9, 2026
SuperFluffy
reviewed
Mar 9, 2026
| .wrap_err_with(|| format!("failed getting payload for payload ID `{payload_id}`"))?; | ||
|
|
||
| // Keep waiting for `self.payload_return_time`, if there's anything left after building the block. | ||
| context.sleep_until(payload_return_time).await; |
Contributor
There was a problem hiding this comment.
This reads like a proper sentence, which is nice.
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.
Supersedes #2787
Problem
Payload building is currently limited by a 500ms deadline. Builder can only enforce the time it spends on transaction execution, but there's always an additional overhead of state root calculation.
Solution
Lower the time we give payload builder to execute transactions to 200ms, but wait until 450ms before returning the built block back to consensus to ensure the ~ stable block time at 500ms.
Changes
tempo/crates/commonware-node/src/consensus/application/actor.rs
Lines 583 to 585 in f7a56d6
tempo/crates/commonware-node/src/consensus/application/actor.rs
Line 582 in f7a56d6
tempo/crates/commonware-node/src/consensus/application/actor.rs
Line 600 in f7a56d6