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

iotaledger / iota
67%

Build:
DEFAULT BRANCH: develop
Repo Added 25 Nov 2024 10:41AM UTC
Token yKKuQEyCdK2Zjpx0P9aXmMMadtLkrfmxk regen
Build 518 Last
Files 1108
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

LAST BUILD ON BRANCH develop
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • claude/gallant-tesla-ciku68
  • dev-tools/fix-toolchain
  • dev-tools/include-external-crates-coverage
  • dev-tools/reenable-coverage-ci
  • develop

24 Jun 2026 12:50PM UTC coverage: 67.488% (+0.02%) from 67.464%
28141212998

push

github

web-flow
fix(typed-store): make lazy DBMetrics init race-safe (#11998)

# Description of change

`test_consensus_handler*` and
`test_consensus_commit_prologue_generation` failed intermittently under
parallel (in-process) execution and passed single-threaded. The root
cause is a process-global Prometheus double-registration race in
`DBMetrics`: `DBMetrics::get()` lazily initialized the global metrics
via a non-atomic `OnceCell::get().unwrap_or_else(||
DBMetrics::init(default_registry()))`. When two tests in the same
process build RocksDB-backed `DBMap`s before the cell is set, both run
the fallback, both register the same rocksdb metric names into the
global default registry, and the loser panics with `Result::unwrap()` on
`Err(AlreadyReg)` in `crates/typed-store/src/metrics.rs`.

The fix makes only the lazy `get()` path atomic by switching to
`OnceCell::get_or_init`, so the build-and-register closure runs at most
once across threads. `init(registry)` is left unchanged, so explicit
callers still register into whatever registry they pass. There is no
metrics behavior change otherwise: `get()` still registers into the
default registry on first use and returns the cached instance thereafter
— concurrent first-time initialization simply can no longer
double-register.

This is an in-process (`cargo test` / libtest) hazard. Under nextest
(process-per-test) each test runs in its own process and is isolated, so
CI was unaffected, which is why the flake only reproduced locally.

## Links to any relevant issues

fixes #11705

## 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
- [x] I have checked that new and existing unit tests pass locally with
my changes

Reproduced the panic reliably (failed on the first run) by running the
two `test_consensus_handler*` tests in a... (continued)

1 of 1 new or added line in 1 file covered. (100.0%)

1638 existing lines in 63 files now uncovered.

158590 of 234990 relevant lines covered (67.49%)

475096.44 hits per line

Relevant lines Covered
Build:
Build:
234990 RELEVANT LINES 158590 COVERED LINES
475096.44 HITS PER LINE
Source Files on develop
  • Tree
  • List 1108
  • Changed 124
  • Source Changed 79
  • Coverage Changed 83
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28141212998 develop fix(typed-store): make lazy DBMetrics init race-safe (#11998) # Description of change `test_consensus_handler*` and `test_consensus_commit_prologue_generation` failed intermittently under parallel (in-process) execution and passed single-threade... push 25 Jun 2026 02:37AM UTC web-flow github
67.49
28069178327 develop feat(iota-move-natives): add protocol_config::get_attr<T> native for reading protocol parameters in Move. (#11951) # Description of change Adds a generic `get_attr<T>` native function to the `iota::protocol_config` framework module, extending th... push 24 Jun 2026 02:33AM UTC web-flow github
67.46
27996229973 develop upstream(iota-test-transaction-builder): add ensure_unique to vary tx digests (#11945) ## Description of change Port of upstream MystenLabs/sui#26913. Adds `TestTransactionBuilder::ensure_unique()` — a chainable method that injects a random unu... push 23 Jun 2026 02:35AM UTC web-flow github
67.46
27924667289 develop refactor(iota-types): remove unused SignableBytes trait (#11983) # Description of change The `SignableBytes` trait in `iota-types::crypto` is the BCS-decode counterpart to `Signable`'s write/encode side, exposing `from_signable_bytes(&[u8]) -> R... push 22 Jun 2026 02:46AM UTC web-flow github
67.4
27890130340 develop refactor(iota-types): remove unused SignableBytes trait (#11983) # Description of change The `SignableBytes` trait in `iota-types::crypto` is the BCS-decode counterpart to `Signable`'s write/encode side, exposing `from_signable_bytes(&[u8]) -> R... push 21 Jun 2026 02:45AM UTC web-flow github
67.4
27856413163 develop refactor(iota-types): remove unused SignableBytes trait (#11983) # Description of change The `SignableBytes` trait in `iota-types::crypto` is the BCS-decode counterpart to `Signable`'s write/encode side, exposing `from_signable_bytes(&[u8]) -> R... push 20 Jun 2026 02:37AM UTC web-flow github
67.41
27800682022 develop fix(iota-indexer): scope the watermark and the cursor pruning check to only the tables provided filter reads (#11967) # Description of change This PR fixes a bug in the iota-indexer where filtered queries were incorrectly dropping valid rows and... push 19 Jun 2026 02:52AM UTC web-flow github
67.38
27731470792 develop fix(starfish): bound far-future block rounds to cap suspender memory (#11920) # Description of change ## Intuition A Byzantine validator can self-author blocks at far-future rounds (`local + 1e6`, `+1`, …), each citing 2f+1 *fabricated* round-(... push 18 Jun 2026 02:45AM UTC web-flow github
67.4
27669992059 claude/gallant-tesla-ciku68 ci: remove unused swap space step from llvm-cov workflow The swap space allocated by the actionhippie/swap-space action was never actually used, and the 256G allocation failed due to insufficient disk space, breaking the code coverage workflow. R... push 17 Jun 2026 07:17AM UTC claude github
67.32
27588758703 develop feat(consensus): DAG visualizer server + frontend (#10775) # Description of change This PR adds a feature-flag to starfish, which adds a gRPC server that exposes information about the DAG state in the consensus. This information can then stored ... push 16 Jun 2026 02:48AM UTC web-flow github
67.32
See All Builds (517)

Badge your Repo: iota

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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