Skip to content

[consensus] P90 latency test with faults + strict leader reputation#19325

Closed
danielxiangzl wants to merge 6 commits into
mainfrom
daniel/latency-with-faults-strict-leader
Closed

[consensus] P90 latency test with faults + strict leader reputation#19325
danielxiangzl wants to merge 6 commits into
mainfrom
daniel/latency-with-faults-strict-leader

Conversation

@danielxiangzl
Copy link
Copy Markdown
Contributor

Summary

  • Combines daniel/latency-with-faults (P90 latency forge test with periodic validator failures) with daniel/strict-leader (separate failure window for leader reputation)
  • Tests whether stricter leader reputation improves latency under validator faults

Test plan

  • Run forge land_blocking (wired to realistic_env_p90_latency_with_faults) and verify latency thresholds pass
  • Compare results against daniel/latency-with-faults baseline (without strict leader)

🤖 Generated with Claude Code

danielxiangzl and others added 3 commits April 3, 2026 13:11
Replaces the land_blocking forge suite with a latency-focused test that
uses a mainnet-representative validator distribution (~70% EU, ~20% NA,
~10% Asia) instead of the previous even 25%/25%/25%/25% four-region split.

The even split over-weights Asia (25% vs ~2% on mainnet) and under-weights
EU, making P90 thresholds misleading. The new distribution causes EU
proposers to dominate rounds as they do on mainnet, exercising the actual
latency bottlenecks (distant proposers racing with EU batch arrival).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds realistic_env_p90_latency_with_faults forge test that extends the
mainnet-like P90 latency test with periodic validator failures. Kills
the same 2 fixed validators for 15s, restarts them, waits 15s, then
repeats throughout the test duration.

Wires land_blocking to run this test so it triggers on PR CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@danielxiangzl danielxiangzl added the CICD:run-forge-e2e-perf Run the e2e perf forge only label Apr 3, 2026
@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-with-faults-strict-leader branch from badfbea to 6921a13 Compare April 4, 2026 00:32
danielxiangzl and others added 3 commits April 3, 2026 17:39
When the test loop exits mid-cycle, validators may be stopped. The
subsequent catchup check queries all nodes including stopped ones,
causing the test to hang for 30+ minutes. Restart any stopped targets
before returning.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add failure_window_num_validators_multiplier to ProposerAndVoterConfig,
allowing the failure counting window to be configured independently from
the proposer window. This prevents the oscillation problem where flaky
validators cycle through failed→inactive→active states because failures
age out of the short proposer window (~56s) before the validator comes
back online.

When set to 0 (default), falls back to proposer_window_num_validators_multiplier
for backward compatibility. When set to a larger value (e.g., 50),
failures are remembered for ~4.7 min, keeping chronically failing
validators penalized even when they briefly come back online and vote.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…test

The default value of 0 falls back to proposer_window (10x), making the
strict leader reputation change a no-op. Set it to 50 so failed
validators are remembered for ~4.7 min, actually exercising the feature.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@danielxiangzl danielxiangzl force-pushed the daniel/latency-with-faults-strict-leader branch from 6921a13 to 5b26e3a Compare April 4, 2026 00:39
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 4, 2026

Forge is running suite realistic_env_max_load on 5b26e3a9925eecf8fa37acaf36ae91e3ba57d0b4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD:run-forge-e2e-perf Run the e2e perf forge only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant