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

iotaledger / iota / 17350912834
63%

Build:
DEFAULT BRANCH: develop
Ran 31 Aug 2025 04:05AM UTC
Jobs 1
Files 1417
Run time 3min
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

29 Aug 2025 12:44PM UTC coverage: 65.84% (+0.006%) from 65.834%
17350912834

push

github

web-flow
feat(starfish): improving transaction synchronizer (#8157)

# Description of change

In this PR, we improve the transaction synchronizer in Starfish. Main
changes:
- we join fetching and processing transactions into one method
`fetch_and_process_transactions_from_authorities` to reuse this for live
and periodic syncing
- we make at most one fetch request to a given authority in one call of
`fetch_and_process_transactions_from_authorities`
- we track the number of concurrent requests to each authority and limit
that value using a new struct in synchronizer called `active_requests`
- we process transactions after fetching for each authority
individually. While this creates much more calls to the core thread,
this improves the syncing process significantly since it was slowed down
by the slowest response in the previous implementation. Later on we can
add one/a few active thread(s) that will take all fetched bytes and
process them, removing duplicates and sending processed transactions to
the core thread on a regular basis.
- we changed some parameters for fetching transactions, but they might
require further changes once the protocol is tested on a larger network
with longer discrepancies.

## Links to any relevant issues

Fixes #8147 

## How the change has been tested

- [x] Basic tests (linting, compilation, formatting, unit/integration
tests)
- [x] Patch-specific tests (correctness, functionality coverage)
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have checked that new and existing unit tests pass locally with
my changes

### Release Notes

- [x] Protocol: Improvements in Starfish tx synchronizer
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
- [ ] REST API:

359 of 372 new or added lines in 4 files covered. (96.51%)

190 existing lines in 14 files now uncovered.

228776 of 347474 relevant lines covered (65.84%)

2270547.18 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
81.8
0.01% crates/starfish/core/src/synchronizer.rs
12
93.22
0.68% crates/starfish/core/src/transactions_synchronizer.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
78.87
-0.13% crates/iota-core/src/authority_server.rs
1
90.01
-0.08% crates/iota-core/src/execution_cache/writeback_cache.rs
1
95.83
-4.17% crates/iota-keys/src/random_names.rs
1
94.36
-0.05% crates/starfish/core/src/authority_service.rs
1
81.8
0.01% crates/starfish/core/src/synchronizer.rs
1
71.46
0.0% crates/test-cluster/src/lib.rs
2
81.95
-0.09% crates/iota-core/src/authority.rs
2
93.22
0.68% crates/starfish/core/src/transactions_synchronizer.rs
3
77.4
-1.44% crates/iota-core/src/state_accumulator.rs
3
79.61
0.0% crates/starfish/core/src/network/tonic_network.rs
5
90.72
-0.31% consensus/core/src/synchronizer.rs
6
68.52
-0.81% crates/iota-core/src/execution_cache.rs
15
66.6
-1.52% crates/iota-core/src/authority/authority_store_pruner.rs
148
46.55
0.0% crates/iota/src/iota_commands.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 17350912834.1 31 Aug 2025 04:05AM UTC 1419
65.83
GitHub Action Run
Source Files on build 17350912834
  • Tree
  • List 1417
  • Changed 26
  • Source Changed 5
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17350912834
  • abf4d2b6 on github
  • Prev Build on develop (#17312163494)
  • Next Build on develop (#17365174154)
  • 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