ethereum-optimism / ethereum-optimism/optimism
[op-conductor-mon] Prefer rollup boost-enabled sequencer election
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 145
Description
A Flashblocks failure mode we need to watch out for is the case where the rollup boost instance of every sequencer fails simultaneously.
To be able to respond to this scenario in an automated way, we'll want to run at least one backup sequencer that is not configured with rollup boost (just default geth block building). This way, we can fall back to it if all rollup boost-enabled sequencers fail.
However if we do this, we should modify conductor's leader election logic such that it prioritizes / prefers rollup boost-enabled sequencers - this will ensure that conductor only selects the non-rollup boost-enabled sequencer as a last resort in case all other sequencers are unhealthy.
Note: this actually would need to be implemented in op-conductor-mon rather than conductor, see [comment](https://github.com/ethereum-optimism/optimism/issues/15874#issuecomment-2894783738).
**Acceptance Criteria**
- [ ] Short design doc outlining the specific approach
- [ ] Align on conductor topology - in particular, how many of what sequencer types to run in Labs infra and Sunnyside infra
- [ ] Implement required changes in conductor
- [ ] Write op-acceptor tests that verify this failover logic
Note: This is a P0 / blocking capability for the High Availability Interop workstream: https://github.com/ethereum-optimism/optimism/issues/15992
Contributor guide
Assessment
This issue has not been assessed yet.