Skip to content

fix(e2e): strengthen concatenation protocol parameters - #3477

Merged
jpraynaud merged 2 commits into
mainfrom
jpraynaud/3452-fix-e2e-flakiness
Aug 7, 2026
Merged

fix(e2e): strengthen concatenation protocol parameters#3477
jpraynaud merged 2 commits into
mainfrom
jpraynaud/3452-fix-e2e-flakiness

Conversation

@jpraynaud

@jpraynaud jpraynaud commented Aug 7, 2026

Copy link
Copy Markdown
Member

Content

This PR includes a strengthening of the Concatenation protocol parameters used by the e2e tests to remove a lottery-induced flakiness in the CI.

  • Fix the root cause of the Timeout exhausted waiting for Certificate failures: with k=70, m=105, phi_f=0.77, the two signers together cover fewer than k lottery indexes in ~1 draw out of 177, and when this happens on the first open message of an epoch the aggregator ends the epoch without any certificate and blocks with an unrecoverable epoch gap.
  • Scale the initial parameter set from k=70, m=105, phi_f=0.77 to k=274, m=420, phi_f=0.77.
  • Scale the updated parameter set (applied at the protocol parameters change phase) from k=83, m=130, phi_f=0.75 to k=283, m=433, phi_f=0.77.
  • Both sets keep the all-signers-required property (no single signer can reach the quorum alone).

Benchmark on CI

Scenario Attempt 1 Attempt 2 Successes Failures Success rate
Full (120 std + 7 special modes) 127/127 127/127 254 0 100%
Minimal (120 std) 120/120 120/120 240 0 100%
Total 247/247 247/247 494 0 100%

Pre-submit checklist

  • Branch
    • Crates versions are updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested

Issue(s)

Relates to #3452

Scale the two sets to k=274/m=420 and k=283/m=433 (phi_f 0.77) so a
sub-quorum lottery draw can no longer create a blocking epoch gap.
@jpraynaud jpraynaud self-assigned this Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Test Results

     5 files  ±0     209 suites  ±0   59m 11s ⏱️ + 6m 45s
 3 374 tests ±0   3 374 ✅ ±0  0 💤 ±0  0 ❌ ±0 
11 228 runs  ±0  11 228 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 54443f9. ± Comparison against base commit 64a7549.

♻️ This comment has been updated with latest results.

@jpraynaud
jpraynaud force-pushed the jpraynaud/3452-fix-e2e-flakiness branch 2 times, most recently from 3f92e89 to e3556ab Compare August 7, 2026 12:47
@jpraynaud
jpraynaud temporarily deployed to testing-preview August 7, 2026 13:10 — with GitHub Actions Inactive
@jpraynaud
jpraynaud temporarily deployed to testing-2-preview August 7, 2026 13:10 — with GitHub Actions Inactive
@jpraynaud
jpraynaud temporarily deployed to testing-preview August 7, 2026 13:31 — with GitHub Actions Inactive
@jpraynaud
jpraynaud temporarily deployed to testing-2-preview August 7, 2026 13:31 — with GitHub Actions Inactive
* mithril-end-to-end from `0.5.11` to `0.5.12`
@jpraynaud
jpraynaud force-pushed the jpraynaud/3452-fix-e2e-flakiness branch from e3556ab to 54443f9 Compare August 7, 2026 13:42
@jpraynaud
jpraynaud marked this pull request as ready for review August 7, 2026 13:42
Copilot AI lite review requested due to automatic review settings August 7, 2026 13:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Concatenation protocol parameters used by the mithril-end-to-end test harness to eliminate lottery-induced CI flakiness that can create an unrecoverable epoch gap (per issue #3452).

Changes:

  • Increased the initial Concatenation protocol parameters used when starting the aggregator (k=274, m=420, phi_f=0.77).
  • Increased the Concatenation protocol parameters applied during the protocol-parameters-change phase (k=283, m=433, phi_f=0.77).
  • Bumped mithril-end-to-end crate version to 0.5.12 (and updated Cargo.lock accordingly).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
mithril-test-lab/mithril-end-to-end/src/toolkit/exec.rs Scales the Concatenation protocol parameters applied during the runtime update phase.
mithril-test-lab/mithril-end-to-end/src/mithril/infrastructure.rs Scales the initial Concatenation protocol parameters used when bootstrapping the aggregator in e2e infrastructure.
mithril-test-lab/mithril-end-to-end/Cargo.toml Bumps the mithril-end-to-end crate version to reflect the parameter update.
Cargo.lock Updates lockfile to align with the crate version bump.

@turmelclem turmelclem left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@jpraynaud
jpraynaud temporarily deployed to testing-preview August 7, 2026 14:00 — with GitHub Actions Inactive
@jpraynaud
jpraynaud temporarily deployed to testing-2-preview August 7, 2026 14:00 — with GitHub Actions Inactive
@jpraynaud
jpraynaud merged commit dbe4ccc into main Aug 7, 2026
51 checks passed
@jpraynaud
jpraynaud deleted the jpraynaud/3452-fix-e2e-flakiness branch August 7, 2026 14:27
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.

4 participants