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

databendlabs / openraft / 28994232970
87%

Build:
DEFAULT BRANCH: main
Ran 09 Jul 2026 04:36AM UTC
Jobs 1
Files 264
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

09 Jul 2026 04:27AM UTC coverage: 87.183% (-0.05%) from 87.228%
28994232970

push

github

drmingdrmer
fix: reject stale replication acks after log reversion

# Summary

In pipeline (`LogsSince`) mode many acks share one `InflightId`, so a log
reversion can clear the inflight to `None` while acks queued before the
reset are still arriving. Acting on such stale signals is unsafe: advancing
the follower's matched index over logs it has reverted could form a false
quorum, and re-reading an already-consumed command would replay an
acknowledged payload. Both are now suppressed.

# Details

- `Inflight::ack()` returns whether the ack matched the live request. A
  stale ack -- mismatched `InflightId`, or `Inflight::None` after a reversion
  cleared it -- now returns `false` instead of hitting `unreachable!`, and
  the progress updater skips advancing `matching` for it.
- Replication reads of the replicate and committed watch channels switch to
  `borrow_and_update()`, marking the value seen so a notification still
  pending after `changed()` resolves does not deliver and replay the same
  command twice.
- Add a test that acking a cleared (`None`) inflight is reported stale and
  leaves the inflight untouched.

13 of 14 new or added lines in 4 files covered. (92.86%)

297 existing lines in 2 files now uncovered.

17427 of 19989 relevant lines covered (87.18%)

158535.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
95.65
-2.02% openraft/src/progress/entry/update.rs

Coverage Regressions

Lines Coverage ∆ File
294
0.0
0.0% rt/src/testing.rs
3
70.0
0.0% rt/src/watch/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 28994232970.1 09 Jul 2026 04:36AM UTC 264
87.18
GitHub Action Run
Source Files on build 28994232970
  • Tree
  • List 264
  • Changed 9
  • Source Changed 6
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28994232970
  • cecb5de8 on github
  • Prev Build on main (#28885911377)
  • Next Build on main (#28996704180)
  • 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