Skip to content

Improvements to e2e#16472

Open
satushh wants to merge 10 commits intodevelopfrom
testing-e2e
Open

Improvements to e2e#16472
satushh wants to merge 10 commits intodevelopfrom
testing-e2e

Conversation

@satushh
Copy link
Collaborator

@satushh satushh commented Mar 5, 2026

This PR addresses six potential flakiness sources:

  • Abrupt kills
  • Data races
  • Silent HTTP failures
  • Single-snapshot head checks
  • Tight fork-boundary tolerances
  • Resource leaks.

This currently never fails the buildkite. Also I tested it by using the net change in an unrelated PR where it passed in the first attempt.

Some notable function changes

  1. allNodesHaveSameHead (node.go)
    Rewritten to compare head block roots (not just epochs), wait for mid-epoch to avoid boundary races, check peer readiness, and require 2 consecutive matching samples. Retries on transient issues (different slots, low peers) with a 2-epoch timeout.

  2. validatorsVoteWithTheMajority (operations.go)
    Fixed voting period boundary detection: uses period number comparison (currentPeriod != ec.ExpectedEth1DataVotePeriod) instead of exact slot divisibility (slot % 16 == 0). This prevents false failures when the first slot of a voting period has no block.

  3. validatorsSyncParticipation (validator.go)
    Extended fork-transition slot skip from 2 to 3 slots for all fork epochs. Added bounded tolerance for blocks with zero sync committee bits which allows up to 2 such blocks before failing, to handle transient p2p issues without masking sustained failures.

@satushh satushh marked this pull request as ready for review March 6, 2026 10:45
@satushh satushh changed the title [WIP] potential improvements to e2e Improvements to e2e Mar 6, 2026
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.

1 participant