-
Notifications
You must be signed in to change notification settings - Fork 310
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
Conversation
|
||
/** | ||
* 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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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}`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
add metrics on time to spare between state transitions
b2f1fa3
to
ea41835
Compare
This reverts commit 86762a1.
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.