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

prisma-risk / tsoracle / 26381315822
95%

Build:
DEFAULT BRANCH: main
Ran 25 May 2026 03:21AM UTC
Jobs 1
Files 82
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

25 May 2026 03:16AM UTC coverage: 94.839% (-0.03%) from 94.869%
26381315822

push

github

web-flow
perf(paxos-toolkit): cache next/compacted log indices instead of scanning per append (#391)

RocksdbStorage::next_log_idx ran a reverse CF iterator plus a compacted_idx
point-get on every append, and append_entry/append_entries re-read compacted_idx
a second time after the batch. That was scan + two point-reads per decided entry,
on every node, on the critical replication path. OmniPaxos's append API carries no
index, so the store had to rediscover the tail each time; openraft never scans
because its entries carry their own index.

Cache next_idx and compacted_idx on the struct, seed them once at open_in (the
only remaining scan), and maintain them in lockstep with every mutating write:
increment on append, (from+count).max(compacted) on append_on_prefix, reset to
compacted when trim empties the log, and next_idx.max(idx) when set_compacted_idx
raises the floor. The cache is updated only after the write commits, so a failed
write leaves it matching disk, and open_in re-derives both from persisted state on
reopen, preserving crash-recovery semantics. append_entry/append_entries/get_log_len
now touch zero RocksDB reads.

The maintenance rules reproduce the source-of-truth formula MemStorage embodies, so
the cross-impl conformance harness remains the contract. Adds two cross-impl
conformance scenarios (append_on_prefix shrink, unpaired full trim) and a
RocksdbStorage-only guard for the compacted-floor case.

Closes #336

54 of 57 new or added lines in 1 file covered. (94.74%)

5 existing lines in 3 files now uncovered.

12605 of 13291 relevant lines covered (94.84%)

366509.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
97.75
0.07% crates/tsoracle-paxos-toolkit/src/storage/mod.rs

Coverage Regressions

Lines Coverage ∆ File
2
84.41
-0.54% benchmarks/stress/src/topology/paxos.rs
2
77.11
-0.6% crates/tsoracle-paxos-toolkit/src/lifecycle/mod.rs
1
96.4
-0.19% crates/tsoracle-client/src/driver.rs
Jobs
ID Job ID Ran Files Coverage
1 26381315822.1 25 May 2026 03:21AM UTC 82
94.84
GitHub Action Run
Source Files on build 26381315822
  • Tree
  • List 82
  • Changed 5
  • Source Changed 2
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26381315822
  • b0d1929d on github
  • Prev Build on main (#26381108978)
  • Next Build on main (#26381549307)
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