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

sandialabs / LoQS / 37851021280
89%

Build:
DEFAULT BRANCH: main
Ran 08 Oct 2026 10:45PM UTC
Jobs 1
Files 80
Run time 1min
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

08 Oct 2026 10:03PM UTC coverage: 90.017% (+0.2%) from 89.866%
37851021280

push

github

web-flow
Fix the checkpoint lock-contention race with SWMR progress ledgers (#132) (#142)

* Add standalone SWMR progress ledger and harden worker_id()

Introduces the single-writer/multi-reader progress-ledger primitives that later stages will wire into item- and shot-level checkpointing.
- New loqs/internal/swmrledger.py: configurable ledger fields, auto-extending done/wall_clock_times datasets, in-flight/heartbeat tracking, and a SwmrLedgerSnapshot read-back.
- worker_id() now appends a UUID-derived suffix and caches its value per-process, gated on os.getpid() so a cached value is never reused across a fork boundary.
- Adds tests/internal/test_swmrledger.py with single-process unit tests and real multi-process concurrency tests proving cross-process visibility and lock-free access.

* Migrate MultiProgramRunner's item checkpointing onto the SWMR ledger

Wires MultiProgramRunner's worker checkpoint writes onto the SWMR ledger primitives added in the prior commit, replacing retry-wrapped shared-file writes with a per-process cached ledger plus one-file-per-item payloads.
- _get_worker_ledger lazily opens and caches each worker's SWMR ledger handle per checkpoint directory for the life of the process.
- _write_item_checkpoint_with_ledger writes an item's payload via h5py.File's own with statement, then marks it done in the ledger only once that block exits -- the ordering a reader relies on to safely open a payload file the instant it sees done.
- _write_current_item_index_with_retry/_write_item_checkpoint_entries_with_retry and their now-obsolete retry-budget tests are removed; _generic_chunk_worker/_run_serial/_process_and_checkpoint_item are rewired onto the new functions.

* Read and consolidate MultiProgramRunner's SWMR ledger and payload checkpoints

Update MultiProgramRunner's resume, consolidation, and live-polling paths to read the SWMR ledger and per-item payload files written by its checkpoint writer, while staying backward-compatible with pre-exist... (continued)

3512 of 4134 branches covered (84.95%)

Branch coverage included in aggregate %.

11078 of 12074 relevant lines covered (91.75%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
53
85.36
2.7% core/programresults.py
48
83.45
1.2% internal/streamingmerge.py
31
89.76
-0.14% core/quantumprogram.py
22
94.53
-0.33% tools/multiprogramrunner.py
2
92.31
0.0% internal/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 37851021280.1 08 Oct 2026 10:45PM UTC 80
90.02
GitHub Action Run
Source Files on build 37851021280
  • Tree
  • List 80
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37851021280
  • 1ef75fd8 on github
  • Prev Build on main (#36498463796)
  • Next Build on main (#38005711025)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc