• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iotaledger / iota / 22789039335
65%

Build:
DEFAULT BRANCH: develop
Ran 07 Mar 2026 04:16AM UTC
Jobs 1
Files 1540
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Mar 2026 08:35PM UTC coverage: 63.853% (-0.001%) from 63.854%
22789039335

push

github

web-flow
fix(starfish): increase per-block lock limit in header synchronizer to prevent peer starvation (#10532)

# Description of change

Increase `MAX_AUTHORITIES_TO_FETCH_PER_BLOCK_HEADER` from 2 to 3 to fix
header synchronizer starvation when wiped-DB validators saturate
per-block lock slots. `MAX_PERIODIC_SYNC_PEERS` stays at 4.

**Observed Problem in testing:** When 3 validators have wiped DBs and
their blocks are garbage collected and referenced by a certified commit,
the block suspender marks them as "who knows" peers. The header
synchronizer then selects 2 of them as known peers (filling
`MAX_PERIODIC_SYNC_PEERS - MAX_PERIODIC_SYNC_RANDOM_PEERS = 4 - 2 = 2`
slots). With `MAX_AUTHORITIES_TO_FETCH_PER_BLOCK_HEADER = 2`, these 2
known peers saturate all per-block lock slots, blocking random peers
from fetching. Since wiped validators always fail, the system is stuck.

**Fix:** Increase `MAX_AUTHORITIES_TO_FETCH_PER_BLOCK_HEADER` from 2 to
3, allowing 3 concurrent fetchers per block header. Even when both known
peers are wiped-DB validators occupying 2 lock slots, 1 slot remains for
a random peer to reach a healthy validator. This preserves the original
peer count (4) while resolving the starvation.

## Links to any relevant issues

Fixes #10531

## How the change has been tested

- [x] Basic tests (linting, compilation, formatting, unit/integration
tests)
- [x] I have added tests that prove my fix is effective or that my
feature works: I run the same simulation scenario in which some
validator got stuck and were not able to get synced
- [x] I have checked that new and existing unit tests pass locally with
my changes

64 of 66 new or added lines in 1 file covered. (96.97%)

209 existing lines in 21 files now uncovered.

227237 of 355874 relevant lines covered (63.85%)

2758370.32 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
91.6
0.14% crates/starfish/core/src/header_synchronizer.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
83.78
-2.7% crates/iota-cluster-test/src/test_case/native_transfer_test.rs
1
96.69
-0.55% crates/iota-core/src/checkpoints/causal_order.rs
1
89.69
-0.34% crates/iota-core/src/connection_monitor.rs
1
76.15
0.0% crates/test-cluster/src/lib.rs
2
87.07
-0.09% crates/iota-core/src/authority/authority_per_epoch_store.rs
3
87.27
-0.68% consensus/core/src/authority_service.rs
3
73.08
-0.14% crates/iota-core/src/checkpoints/mod.rs
3
90.31
-0.14% crates/iota-core/src/execution_cache/writeback_cache.rs
3
89.44
-1.67% crates/iota-surfer/src/surfer_state.rs
3
95.22
-0.33% crates/starfish/core/src/block_header.rs
3
83.64
-0.32% crates/starfish/core/src/commit_syncer/fast.rs
4
94.92
0.89% crates/iota-core/src/consensus_adapter.rs
4
90.33
1.36% crates/iota-core/src/epoch/randomness.rs
4
78.18
-3.64% crates/iota-surfer/src/surf_strategy.rs
6
86.11
0.05% crates/iota-move-build/src/lib.rs
7
88.6
-0.97% crates/iota-core/src/authority/consensus_quarantine.rs
7
67.14
-10.0% crates/iota-types/src/execution_status.rs
10
69.75
-0.83% crates/iota-core/src/authority/authority_store.rs
12
93.03
-2.09% crates/iota-core/src/congestion_tracker.rs
13
90.75
-0.66% consensus/core/src/synchronizer.rs
118
93.05
-0.08% crates/starfish/core/src/authority_service.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 22789039335.1 07 Mar 2026 04:16AM UTC 1552
63.6
GitHub Action Run
Source Files on build 22789039335
  • Tree
  • List 1540
  • Changed 49
  • Source Changed 3
  • Coverage Changed 49
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22789039335
  • 1fe8c43d on github
  • Prev Build on develop (#22744921528)
  • Next Build on develop (#22811352372)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc