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

databendlabs / openraft / 22899709416
88%

Build:
DEFAULT BRANCH: main
Ran 10 Mar 2026 11:16AM UTC
Jobs 1
Files 258
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

10 Mar 2026 11:11AM UTC coverage: 87.576% (-0.005%) from 87.581%
22899709416

push

github

drmingdrmer
change: in 0.10.0: decouple entry, membership, and log types from `RaftTypeConfig`

Replace `C: RaftTypeConfig` with the specific type parameters each type
actually needs, breaking circular type dependencies and making these
types usable without a full config.

- `LogIdList<C>`, `LeaderLogIds<C>`, `LeaderLogIdsIter<C>`
  → generic over `CLID: RaftCommittedLeaderId`.
  `LogIdList::get_key_log_ids` takes `C` as a method-level generic
  since it needs `RaftLogReader<C>`.

- `LogStateReader<C>` → `LogStateReader<CLID>`.
  `RaftState<C>` implements `LogStateReader<CommittedLeaderIdOf<C>>`.

- `Membership<C>` → `Membership<NID, N>`.
  `ChangeMembers<C>` → `ChangeMembers<NID, N>`.
  Error types `NodeNotFound`, `LearnerNotFound`, `MembershipError`
  now take `NID` instead of `C`.
  `ChangeMembershipError<C>` is unchanged (needs `InProgress<C>`).

- `RaftPayload<C>` → `RaftPayload<NID, N>`.

- `RaftEntry<C>` → `RaftEntry` with associated types
  (`CommittedLeaderId`, `D`, `NodeId`, `Node`).
  `EntryPayload<C>` → `EntryPayload<D, NID, N>`.
  `RaftTypeConfig::Entry` bound now constrains all four associated types.

Upgrade tip:

    // Before
    impl RaftEntry<MyConfig> for MyEntry { ... }
    EntryPayload<MyConfig>::Normal(data)
    Membership<MyConfig>::new(...)

    // After
    impl RaftEntry for MyEntry {
        type CommittedLeaderId = MyCommittedLeaderId;
        type D = MyAppData;
        type NodeId = MyNodeId;
        type Node = MyNode;
        ...
    }
    EntryPayload::<MyAppData, MyNodeId, MyNode>::Normal(data)
    Membership::<MyNodeId, MyNode>::new(...)

325 of 331 new or added lines in 51 files covered. (98.19%)

10 existing lines in 2 files now uncovered.

15896 of 18151 relevant lines covered (87.58%)

146366.27 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
95.96
0.15% openraft/src/engine/log_id_list.rs
1
80.95
0.0% openraft/src/entry/raft_entry.rs
1
84.81
0.0% openraft/src/membership/effective_membership.rs
1
64.29
0.0% openraft/src/raft/message/client_write.rs
2
95.38
0.0% openraft/src/engine/leader_log_ids.rs

Uncovered Existing Lines

Lines Coverage ∆ File
2
96.86
-0.9% openraft/src/replication/mod.rs
8
90.22
-8.7% openraft/src/core/heartbeat/worker.rs
Jobs
ID Job ID Ran Files Coverage
1 22899709416.1 10 Mar 2026 11:16AM UTC 258
87.58
GitHub Action Run
Source Files on build 22899709416
  • Tree
  • List 258
  • Changed 62
  • Source Changed 57
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22899709416
  • 5eef0576 on github
  • Prev Build on main (#22864138805)
  • Next Build on main (#22906186010)
  • 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