You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IO operations such as RaftStorage::append_to_log() and RaftStorage::apply_to_state_machine() are currently executed within the tokio-task that runs RaftCore, causing every IO operation blocks the entire system.
To avoid this issue, IO operations should be performed in a separate tokio-task, allowing RaftCore to receive IO completion events via the event channel. This approach will enable RaftCore to handle other requests while IO operation is in progress.
To prevent reference sharing, extract the entries from input entries buffer instead of directly referencing them. The buffer used for input entries can not be shared between RaftCore and the IO-worker.
IO and network operations are queued in Engine.output.commands. Send these commands to the io-worker thread.
The text was updated successfully, but these errors were encountered:
IO operations such as
RaftStorage::append_to_log()
andRaftStorage::apply_to_state_machine()
are currently executed within the tokio-task that runsRaftCore
, causing every IO operation blocks the entire system.To avoid this issue, IO operations should be performed in a separate tokio-task, allowing
RaftCore
to receive IO completion events via the event channel. This approach will enableRaftCore
to handle other requests while IO operation is in progress.Add generic parameter
Ent: RaftEntry
toEngine
. #728Remove Command::MoveInputCursorBy; Command::AppendInputEntries implies consuming the input #733
Refactor: replace Vec with VecDeque for Engine output commands type #736
Refactor: add
input_entries
to RaftCore #737Feature: new API RaftStorage::append_to_log_cb() #735
Refactor: append log entries to local store in non-blocking mode #1169
Fix: (0.10) Ensure
Respond
Waits for IO Completion #1180Engine consume input entries and output them into commands #731
RaftCore
and the IO-worker.Engine.output.commands
. Send these commands to the io-worker thread.The text was updated successfully, but these errors were encountered: