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
Hey @lionesswardrobe thanks for the bug report. Looking at that code, it looks like you are correct. I believe this is a compound issue where for some given node A.
node A was a follower.
node A was elected as leader (and due to the code above does not properly remove the election timeout state).
update all of the locations in the code where this pattern is repeated (take the election_timeout handle and cancel it) and encapsulate it in a method so that it is not missed.
write a few tests to ensure this behavior.
cut a new release. Should be 0.4.3. There are already a few staged changes which will go out as part of the release as well. This is the only bug fix as part of that release though :).
Seems to happen when follower was previously transitioned from the leader state.
I'm not too familiar with the code but briefly looking at here:
https://github.com/railgun-rs/actix-raft/blob/fd0e34c2e133ea9950aa463ba4c30a824d2055be/src/raft/mod.rs#L291-L296
Should
if let Some(handle) = self.election_timeout {
here actually be
if let Some(handle) = self.election_timeout.take() {
instead?
The text was updated successfully, but these errors were encountered: