Skip to content

test(e2e_epochs): set l1PublishingTime to match redistribution test timing model#24073

Draft
AztecBot wants to merge 1 commit into
merge-train/spartan-v5from
cb/flake-mbps-redistribution-v5
Draft

test(e2e_epochs): set l1PublishingTime to match redistribution test timing model#24073
AztecBot wants to merge 1 commit into
merge-train/spartan-v5from
cb/flake-mbps-redistribution-v5

Conversation

@AztecBot

@AztecBot AztecBot commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Why the merge train dequeued

PR #24053 (merge-train/spartan-v5v5-next) was removed from the merge queue by github-merge-queue[bot] (first at 18:17:50, again at 19:37:22) because the ci check on the merge-queue commit failed on a single hard test:

FAILED: src/e2e_epochs/epochs_mbps_redistribution.test.ts (code: 1)
  ● e2e_epochs/epochs_mbps_redistribution › redistributes checkpoint budget so late txs fit in the last block
    expect(new Set(lateBlockNumbers).size).toBe(1)
    Expected: 1   Received: 2

It failed its initial run and its single CI retry, so it was a hard failure, not a tolerated flake.

This is a timing flake, not a merge regression

  • The merge-queue commit is tree-identical to the branch head c38271: v5-next is already fully contained in merge-train/spartan-v5, so the merge introduces no new code.
  • The branch head c38271 passed a fresh full no-cache CI run (ci-full-no-test-cache) ~20 min before the first dequeue — including this test.

So the merge resolution (#24071/#24072) is correct; the dequeues were caused by this timing-sensitive e2e test.

Root cause and fix

epochs_mbps_redistribution builds a 3-block checkpoint and dumps the late txs right before the last sub-slot, expecting redistributed budget to fit them all in the last block (Set(lateBlockNumbers).size === 1). The test's own timing comment budgets 2s for L1 publish, but it never set l1PublishingTime, so the sequencer used the config default of 12s (sequencer-client/src/config.ts). That inflates the per-block timetable relative to the 36s slot / 8s sub-slot the test is tuned for, so the proposer cuts blocks earlier than the test assumes and the late txs spill across two blocks.

next already carries this fix (its copy sets l1PublishingTime: 2 in the same setup block). This ports that one value to the v5 line.

next also adds enforceTimeTable: true and disableAnvilTestWatcher: true in the same block, but those are intentionally not ported:

  • enforceTimeTable — on the v5 line the sequencer already defaults this to true (cli-reference default: true); it is not referenced by any v5 test, so setting it is redundant.
  • disableAnvilTestWatcher — does not exist as a config option anywhere on the v5 line; adding it would break compilation.

Verification

  • l1PublishingTime?: number is part of Partial<AztecNodeConfig> via SetupOptions (stdlib/src/interfaces/configs.ts:63), so the change is type-safe.
  • The full ./bootstrap.sh ci / multi-node e2e cannot run in this environment (no docker; CI dispatches to EC2), so this PR's own CI is the verification. CI re-triggered and being watched.

Once green, this needs to land in merge-train/spartan-v5 so #24053 can re-enter the queue cleanly.

cc @PhilWindle


Re-verified and CI re-triggered by claudebox (session 3297a5e4).

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jun 14, 2026
@AztecBot AztecBot force-pushed the cb/flake-mbps-redistribution-v5 branch from a8d079c to 3dc5349 Compare June 14, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant