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

databendlabs / openraft / 22515272820

28 Feb 2026 06:21AM UTC coverage: 87.731% (-0.06%) from 87.794%
22515272820

push

github

drmingdrmer
change: in 0.10.0: propagate `Fatal` in `stream_append()`

`stream_append()` previously dropped Fatal errors silently when RaftCore
stopped — it logged and returned `None`, ending the stream without
surfacing the actual error. Now the stream yields
`Result<StreamAppendResult, Fatal>`, properly propagating Fatal errors
while keeping `StreamAppendResult` unchanged as the API-level type.

`RaftInner` is reintroduced in the stream unfold state to call
`get_core_stop_error()` when the oneshot channel fails, mirroring
the non-streaming `append_entries` path.

Changes:
- Move `RaftError` to `errors/raft_error.rs` and `Fatal` to `errors/fatal.rs`
- Implement `Peel` for `RaftError` to peel off `Fatal`, leaving API error `E`
- Update gRPC example `stream_append` handler to map `Fatal` to `Status::internal`

23 of 60 new or added lines in 4 files covered. (38.33%)

92 existing lines in 12 files now uncovered.

15860 of 18078 relevant lines covered (87.73%)

146779.71 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.95
/openraft/src/engine/command.rs


Source Not Available

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