Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Validator deadline for reexecution #11050

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

spalladino
Copy link
Collaborator

@spalladino spalladino commented Jan 3, 2025

Adds a reexecution deadline for validators, so they abort trying to reexecute public txs while block building if too late into the slot.

As part of this PR, we are adding a hook to tweak logger module names (so we can inject an id when running multiple components in the same process), and extracting the chain monitor from the e2e epochs test.

Fixes #10959

@spalladino spalladino force-pushed the palla/validator-reexec-timeout branch from 3d9c959 to f5a6f2f Compare January 3, 2025 23:33
@spalladino spalladino force-pushed the palla/validate-with-iterator branch 2 times, most recently from d1e640d to 2caec75 Compare January 6, 2025 13:40
@spalladino spalladino force-pushed the palla/validator-reexec-timeout branch from f5a6f2f to e48a0d2 Compare January 7, 2025 01:24
@spalladino spalladino force-pushed the palla/validate-with-iterator branch from 83affff to b887301 Compare January 7, 2025 12:54
Base automatically changed from palla/validate-with-iterator to master January 7, 2025 13:27
@spalladino spalladino force-pushed the palla/validator-reexec-timeout branch from 746c2ea to 1d9b16a Compare January 7, 2025 14:19
Comment on lines +524 to +531
// When building a block as a proposer, we set the deadline for tx processing to the start of the
// CREATING_BLOCK phase, plus the expected time for tx processing. When validating, we start counting
// the time for tx processing from the start of the COLLECTING_ATTESTATIONS phase plus the attestation
// propagation time. See the comments in setTimeTable for more details.
const processingEndTimeWithinSlot = opts.validateOnly
? this.timeTable[SequencerState.COLLECTING_ATTESTATIONS] + this.attestationPropagationTime + this.processTxTime
: this.timeTable[SequencerState.CREATING_BLOCK] + this.processTxTime;

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only actual change for this feature.

@spalladino spalladino added the e2e-p2p CI: Enables this CI job. label Jan 7, 2025
@spalladino spalladino force-pushed the palla/validator-reexec-timeout branch from 71d4f0a to 94741b9 Compare January 9, 2025 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e-p2p CI: Enables this CI job.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

chore: Validators should timeout if they don't get to reexec in time
1 participant