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

op-node: sequencing better encapsulated, now with events #10991

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

protolambda
Copy link
Contributor

@protolambda protolambda commented Jun 24, 2024

Description

Depends on #11040

work in progess

Refactors the op-node sequencer code to:

  • interface with engine through events, no synchronous shared engine state anymore
  • encapsulate sequencer start/stop logic (move out of Driver)
  • Update engine deriver to handle sequencer functionality:
    • Each engine block processing step is its own input-event + event handler function.
    • No more global engine block payload-building state. The legacy engine-controller is only used to write and flush forkchoice updates, and the old block-insertion handling (can be refactored in follow-up PR to reuse more of new code)
  • Change metered-engine metrics/logging to be default, get rid of old MeteredEngine wrapper, since it wrapped the non-events engine interface.

Tests

  • TODO sequencer tests need to be updated

Additional context

This is the last major component that synchronously interacts with the engine-controller state. After this we can remove a decent amount of legacy engine-controller code.

Metadata

Fix #10979

d.asyncGossip.Start()

if active {
// TODO: should the conductor be checked on startup?
Copy link

@semgrep-app semgrep-app bot Jun 24, 2024

Choose a reason for hiding this comment

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

Please create a GitHub ticket for this TODO.

Ignore this finding from todos_require_linear.

@protolambda protolambda force-pushed the sequencer-events branch 3 times, most recently from 0d407ae to 3b7285e Compare June 27, 2024 00:20
Copy link

semgrep-app bot commented Jun 27, 2024

Semgrep found 28 golang_fmt_errorf_no_params findings:

No fmt.Errorf invocations without fmt arguments allowed

Ignore this finding from golang_fmt_errorf_no_params.

Semgrep found 2 marshal-json-pointer-receiver findings:

MarshalJSON with a pointer receiver has surprising results: golang/go#22967

Ignore this finding from marshal-json-pointer-receiver.

@protolambda protolambda changed the base branch from develop to events-improvements June 27, 2024 23:23
incl sequencer events fixes
Base automatically changed from events-improvements to develop June 28, 2024 21:25
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.

Interop: update sequencer to events deriver
1 participant