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: sequencer is aware of slot progression #9767

Merged
merged 6 commits into from
Nov 6, 2024

Conversation

just-mitch
Copy link
Collaborator

The sequencer now has explicit timeliness requirements for itself with respect to block building.

We also log a metric for the amount of time left (or overconsumed) when trying to transition from one state to the next.

Also fix a bug where we could permanently fail to build any blocks if our publish failed.

@just-mitch just-mitch added e2e-all CI: Enables this CI job. kind-network-4epochs network-all Run this CI job. labels Nov 6, 2024

/**
* The maximum number of seconds that the sequencer can be into a slot to transition to a particular state.
* For example, in order to transition into WAITING_FOR_ATTESTATIONS, the sequencer can be at most 3 seconds into the slot.
Copy link
Member

Choose a reason for hiding this comment

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

Should the 4 here be set to the config value of max transactions per block?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Great call. I also had it check that max time needed as a result of the config is less than the slot length.

Also I gated functionality behind and env var SEQ_ENFORCE_TIME_TABLE, which is now enabled by default in the helm chart values, and it passed the reorg test 🔥

@@ -312,7 +313,7 @@ export class Sequencer {
throw new Error(msg);
}

this.log.debug(`Can propose block ${proposalBlockNumber} at slot ${slot}`);
this.log.info(`Can propose block ${proposalBlockNumber} at slot ${slot}`);
Copy link
Member

Choose a reason for hiding this comment

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

👍

@just-mitch just-mitch force-pushed the mt/sequencer-is-aware-of-slot-progression branch from b2f1fa3 to ea41835 Compare November 6, 2024 20:05
@just-mitch just-mitch enabled auto-merge (squash) November 6, 2024 20:06
@just-mitch just-mitch removed e2e-all CI: Enables this CI job. kind-network-4epochs network-all Run this CI job. labels Nov 6, 2024
@just-mitch just-mitch merged commit 86762a1 into master Nov 6, 2024
66 of 67 checks passed
@just-mitch just-mitch deleted the mt/sequencer-is-aware-of-slot-progression branch November 6, 2024 22:36
just-mitch added a commit that referenced this pull request Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants