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

iotaledger / iota / 22744921528
65%

Build:
DEFAULT BRANCH: develop
Ran 06 Mar 2026 04:13AM 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

05 Mar 2026 03:51PM UTC coverage: 63.854% (+0.002%) from 63.852%
22744921528

push

github

web-flow
fix(consensus): fix flaky simtest (#10534)

# Description of change

Fixes flaky `test_sequential_restarts_persistent_db_short_run_long_stop`
simtest caused by the `fast_sync_ongoing` flag not being reliably
persisted to storage.

The `flush()` early-return guard in `DagState` checked whether blocks,
transactions, commits, and voting headers were empty — but did **not**
check the `fast_sync_ongoing` flag. When fast sync completed and set the
flag to `false`, if there was no other buffered data to write, `flush()`
would bail out early and
never persist the flag change. On restart, the authority still believed
fast sync was ongoing, causing `recover_and_send_commits` to skip Phase
2 recovery and leaving the commit pipeline in an inconsistent state.

A secondary issue was that `fast_sync_ongoing_flag_to_write` was a plain
`bool` (always carrying a value), making it impossible to distinguish
"flag was explicitly changed" from "flag is unchanged". This prevented a
clean inclusion in the early-return check.

 ### Fix

- **Make `fast_sync_ongoing_flag_to_write` an `Option<bool>`**:
initialized to `None`, only set to `Some(...)` when
`set_fast_sync_ongoing_flag()` is called. `flush()` uses `.take()` so
it's only written when actually dirty.
- **Include the flag in the flush early-return check**:
`fast_commit_sync_flag.is_none()` is now part of the "nothing to flush"
guard, so a pending flag change is never silently skipped.
- **Flush `DagState` on authority stop**: added
`dag_state.write().flush()` in `ConsensusAuthority::stop()` to ensure
all buffered data (including the flag) is persisted before shutdown.

 ### Additional improvements

- **Better logging for missing transactions**:
`build_committed_subdag_from_commit` now logs a `warn!` with the count
and list of missing transaction refs instead of silently returning
`None`.
- **`last_solid_subdag_base` fallback**: in
`resend_unprocessed_solid_commits`, if all unprocessed commits fail to
build (due to missi... (continued)

33 of 39 new or added lines in 7 files covered. (84.62%)

75 existing lines in 22 files now uncovered.

227215 of 355833 relevant lines covered (63.85%)

2763778.33 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
95.35
-0.1% crates/starfish/core/src/dag_state.rs
4
95.26
-0.39% crates/starfish/core/src/commit_observer.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
71.88
-0.23% crates/iota-core/src/authority/authority_store_tables.rs
1
79.65
0.0% crates/iota-core/src/authority_server.rs
1
90.45
0.14% crates/iota-core/src/execution_cache/writeback_cache.rs
1
91.51
-0.13% crates/iota-core/src/transaction_manager.rs
1
92.0
-2.0% crates/iota-grpc-server/src/response.rs
1
95.83
-4.17% crates/iota-keys/src/random_names.rs
1
96.77
-0.1% crates/starfish/core/src/cordial_knowledge.rs
1
79.27
-0.3% crates/starfish/core/src/core_thread.rs
1
95.35
-0.1% crates/starfish/core/src/dag_state.rs
1
76.15
-0.09% crates/test-cluster/src/lib.rs
1
94.12
-0.42% iota-execution/latest/iota-adapter/src/gas_meter.rs
2
80.07
-0.06% crates/iota-core/src/authority.rs
2
77.17
0.87% crates/iota-core/src/storage.rs
2
77.26
-0.22% crates/iota-types/src/crypto.rs
4
82.39
-0.65% crates/iota-grpc-server/src/types.rs
4
73.12
-1.08% crates/iota-types/src/messages_consensus.rs
4
82.49
-0.78% crates/starfish/core/src/network/tonic_network.rs
6
73.41
-0.85% crates/iota-network/src/randomness/mod.rs
6
81.82
-1.82% crates/iota-surfer/src/surf_strategy.rs
9
66.67
-18.75% crates/iota-network-stack/src/anemo_ext.rs
11
94.03
-0.89% crates/iota-core/src/consensus_adapter.rs
14
0.0
-48.28% crates/iota-types/src/storage/error.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 22744921528.1 06 Mar 2026 04:13AM UTC 1552
63.6
GitHub Action Run
Source Files on build 22744921528
  • Tree
  • List 1540
  • Changed 52
  • Source Changed 7
  • Coverage Changed 50
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22744921528
  • 68250b23 on github
  • Prev Build on develop (#22698035098)
  • Next Build on develop (#22789039335)
  • 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