This might be considered a issue or simply a design choice, but the fact raft_recv_appendentries_response does not invoke raft_apply_all after updating the commit index and rather relies on the next call of raft_periodic to do that, means that a client call to raft_msg_entry_response_committed might return 1 even if the FSM hasn't yet applied the log entry.
It feels this might cause confusion to users or timing-related issues, see for example the scenario I described in issue #12 of ticketd.
Please let me know if my reading is correct. Thanks!
This might be considered a issue or simply a design choice, but the fact
raft_recv_appendentries_responsedoes not invokeraft_apply_allafter updating the commit index and rather relies on the next call ofraft_periodicto do that, means that a client call toraft_msg_entry_response_committedmight return 1 even if the FSM hasn't yet applied the log entry.It feels this might cause confusion to users or timing-related issues, see for example the scenario I described in issue #12 of ticketd.
Please let me know if my reading is correct. Thanks!