Skip to content

chore(e2e): fix mbps proposed chain test#20351

Merged
spalladino merged 1 commit intonextfrom
palla/fix-mbps-proposed-anchor
Feb 10, 2026
Merged

chore(e2e): fix mbps proposed chain test#20351
spalladino merged 1 commit intonextfrom
palla/fix-mbps-proposed-anchor

Conversation

@spalladino
Copy link
Contributor

With the fix from
#20314, nodes now reject proposals that come from a validator key they themselves control.

In the epochs mbps test suite, we were sending txs from a wallet created against the original node created, which is defined with all validator keys so it can create the initial block with the initial tx. So, when this node's sequencer was later stopped and the validator keys were assigned to individual nodes, this original node never accepted any block proposal, since it considered it to be its own. So it failed to advance its own proposed chain, so the test failed.

This PR fixes it so we just update the reference to the node in the wallet. The proper fix should be killing the initial node altogether and removing it from setup, and dealing with the initial timestamp issue somehow else.

With the fix from
#20314, nodes now
reject proposals that come from a validator key they themselves control.

In the epochs mbps test suite, we were sending txs from a wallet created
against the original node created, which is defined _with all validator
keys_ so it can create the initial block with the initial tx. So, when
this node's sequencer was later stopped and the validator keys were
assigned to individual nodes, this original node never accepted any
block proposal, since it considered it to be its own. So it failed to
advance its own proposed chain, so the test failed.

This PR fixes it so we just update the reference to the node in the
wallet. The proper fix should be killing the initial node altogether and
removing it from setup, and dealing with the initial timestamp issue
somehow else.
@spalladino spalladino force-pushed the palla/fix-mbps-proposed-anchor branch from 04f9d0b to 081f417 Compare February 10, 2026 16:03
@spalladino spalladino enabled auto-merge February 10, 2026 16:42
@spalladino spalladino added this pull request to the merge queue Feb 10, 2026
Merged via the queue into next with commit 5f8696b Feb 10, 2026
19 checks passed
@spalladino spalladino deleted the palla/fix-mbps-proposed-anchor branch February 10, 2026 17:42
spalladino added a commit that referenced this pull request Feb 10, 2026
We were re-inserting cross chain messages in world state for every block
in the checkpoint, where we only need to insert them on the first block.

This fixes it, and also extends the epochs-mbps e2e test suite to also
assert that the multi-block checkpoints get properly proven.

Builds on #20351
ludamad added a commit that referenced this pull request Feb 23, 2026
Slide 19 (§4 insights · PR correlation): two-column layout showing which
PRs caused each weekly flake spike and which fixes produced each recovery:

Spikes:
- W02 (2,647 flakes): Santiago refactors #19532/#19509/#19564 exposed
  timing races across p2p/epoch simultaneously
- W04 (935 flakes): PhilWindle #19982 added cross-chain mbps tests
  without pre-deflaking — valid_epoch_pruned_slash 0→346 events
- W06 (850 flakes): three high-risk PRs merged same day (#20047 peer
  scoring, #20241 max checkpoints→32, #20257 hash constants)

Fixes:
- W03 recovery: Santiago #19914 — checkpointed chain tip for PXE
  (root fix; PXE was using latest not checkpointed block)
- W05 recovery: Santiago #20088 slasher multi-block fix + #20140
  discv5 deflake + GCP step-down (−6 testbed namespaces)
- W07 improvement: Santiago #20351 mbps fix (p2p_client 311→0),
  #20462 remove hardcoded 10s timeout, ludamad #20613 CI parallelism

Also: correct three factual errors spotted during full review —
- Summary: next P50 is growing (+10% in 3 weeks), not stable
- Flake trend W07 note: e2e-p2p-epoch-flakes dropped 373×, not just
  "251 flakes lowest since December"
- Gaps slide: replaced stale "ci_phases broken" card with GCP egress
  costs gap (bc→awk fix is deployed; egress attribution is the gap now)
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