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

prisma-risk / tsoracle / 34882714147
97%

Build:
DEFAULT BRANCH: main
Ran 14 Sep 2026 06:50PM UTC
Jobs 1
Files 97
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

14 Sep 2026 06:45PM UTC coverage: 96.535% (+0.08%) from 96.452%
34882714147

push

github

web-flow
feat(driver-openraft): persist stamping leases behind write version 7 (#708)

The openraft driver inherited `LeasesUnsupported`, so no replicated tsoracle cluster could grant a stamping lease. This adds lease persistence as a format feature.

A new `SetLeases` log command replaces the durable lease set wholesale and carries the raft term the server's leader epoch named when it projected the set. Apply installs the set only when the entry's own log id carries that term. The apply-time max that fences a stale high-water advance cannot fence a full-set replacement, so a set projected before a leadership change would otherwise overwrite leases granted after it. A fenced apply surfaces as `ConsensusError::Fenced`.

Lease records use a frozen driver-local layout that re-validates holder length and strict lease-id ordering on every decode. The v7 snapshot carries the lease set; a frozen v5 layout keeps v5 and v6 snapshots byte-identical, and encoding leases below v7 fails loud. `LEASE_WRITE_VERSION` is 7 and `MAX_READABLE_VERSION` rises to 7. Until the cluster activates it, `persist_leases` returns the new `ConsensusError::LeasesNotActivated`, which the server maps to a bare FAILED_PRECONDITION, and `load_leases` returns an empty set. The host trait gains `current_leases` and `submit_set_leases` with `LeasesUnsupported` defaults, so existing hosts keep compiling.

Signed-off-by: Sebastian Thiebaud <sebastian@prismarisk.com>

574 of 581 new or added lines in 10 files covered. (98.8%)

2 existing lines in 1 file now uncovered.

18970 of 19651 relevant lines covered (96.53%)

315862.13 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
97.76
0.41% crates/tsoracle-driver-openraft/src/log_entry.rs
1
98.08
-0.61% crates/tsoracle-driver-openraft/src/log_codec.rs
1
95.8
0.24% crates/tsoracle-driver-openraft/src/standalone.rs
1
98.81
0.28% crates/tsoracle-driver-openraft/src/state_machine.rs
1
92.94
-0.21% crates/tsoracle-server/src/persist_disposition.rs

Coverage Regressions

Lines Coverage ∆ File
2
80.46
-0.57% crates/tsoracle-paxos-toolkit/src/lifecycle/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 34882714147.1 14 Sep 2026 06:50PM UTC 97
96.53
GitHub Action Run
Source Files on build 34882714147
  • Tree
  • List 97
  • Changed 16
  • Source Changed 14
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34882714147
  • 87c81be5 on github
  • Prev Build on main (#34876713984)
  • Next Build on main (#34892629128)
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