Results 445 comments of Jay

It's not just about explicitly. Raft message should be a blackbox to application, any fields inside the messages are implementation details. `is_local_message` is just a helper to detect programming errors.

Can you describe more details on what's the behavior without this patch and why it's bad?

It's true that somehow the apply index should not be larger than the committed index. But it's not required to persist all hard state before applying entries. If all entries...

Turns out it's already stated in the docs: > Note, although Raft guarentees only persisted committed entries will be applied, but it doesn’t guarentee commit index is persisted before being...

Then term should be assigned to vote response.

I see. When the raft group is first initialized, it should not have term 0 (INVALID_TERM).

There are two cases: 1. constructing the raft node with existing data, so the node is already initialized and should have a valid term; 2. constructing the raft node without...

Please send it when you are free, thanks!

It's just having problem recognizing version "25.1.x". As a workaround, you can put an outdated protoc in PATH.

Currently, raft-rs uses protobuf 2.x.