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
The Raft log is logically separated into 4 regions and most of the case, a thread manipulates only one of them.
To gain the maximum concurrency in IO to the log, the implementation at the moment loses some sort of guarantees coming from Rust type system so we can barely be confident about the correctness. The implementation do consider the log property above however it is too implicit and hard to feel sure for readers.
The goal of this issue is design and implement nice types that still maintains the maximum concurrency but makes it more convincing.
The text was updated successfully, but these errors were encountered:
Simple solution is divide the log into only two segments and protect each segment with RwLock.
This separation will make the code super convincing but sacrificing the performance because entry insertion and entry application won't happen simultaneously. I can't seriously take this.
This is just an idea. No plan at the moment.
The Raft log is logically separated into 4 regions and most of the case, a thread manipulates only one of them.
To gain the maximum concurrency in IO to the log, the implementation at the moment loses some sort of guarantees coming from Rust type system so we can barely be confident about the correctness. The implementation do consider the log property above however it is too implicit and hard to feel sure for readers.
The goal of this issue is design and implement nice types that still maintains the maximum concurrency but makes it more convincing.
The text was updated successfully, but these errors were encountered: