test(ci): mark e2e_expiration_timestamp invalidates-setup race as flake#23415
Draft
AztecBot wants to merge 1 commit into
Draft
test(ci): mark e2e_expiration_timestamp invalidates-setup race as flake#23415AztecBot wants to merge 1 commit into
AztecBot wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
PR #23344 (merge-train/spartan) was dequeued after the heavy merge-queue grind failed on
e2e_expiration_timestamp.test.ts:Failing log: http://ci.aztec-labs.com/a8a7ea45ecd3fe2b · Run: https://github.com/AztecProtocol/aztec-packages/actions/runs/26115610676
Root cause
The test was migrated to
PIPELINING_SETUP_OPTSin #23275. The describe-levelbeforeEachcallsaztecNode.getBlockData('latest')successfully, thenrunInvalidatesTestcalls it again a few ms later. The previousrunInvalidatesTestinvocation warped L1 time ~72s ahead, briefly pushing the archiver/world-state into a reorg window where there is no "latest" block. The second fetch lands in that window and returns undefined, so the test throws before doing any real work.The first
runInvalidatesTest(no enqueued public call) passes because the warp hasn't happened yet; only the second one (with enqueued public call) races against it. The sequencer also reportsTransaction sending is interrupted/Checkpoint publish failed for slot 10in the same window, which corroborates the warp disturbance.Fix
Add a flake entry scoped tightly to the specific thrown message. Other failures in the same test still fail the build. Owner is palla (author of #23275).
A proper fix would either reuse the header captured in
beforeEachor retrygetBlockData('latest')with a short backoff inrunInvalidatesTest. Out of scope here — left to the test owner.Full analysis: https://gist.github.com/AztecBot/95ea96c0fbf8f2af49d76555b291c46d
ClaudeBox log: https://claudebox.work/s/925ef806f9078a26?run=1