• Shaya Potter's avatar
    fix recording of voter change idx entry (#62) · a02be774
    Shaya Potter authored
    this was recorded in 2 places, inconsistently, when it only neededed to be recorded once.
    
    it was in raft_recv_entry() as
    
        if (raft_entry_is_voting_cfg_change(ety))
            me->voting_cfg_change_log_idx = raft_get_current_idx(me_);
    
    and in
    
    raft_append_entry() as
    
    me->voting_cfg_change_log_idx = raft_get_current_idx(me_) - 1;
    
    it only should be in raft_append_entry() becaues raft_recv_entry() is only from the leader, but its value was wrong, while raft_recv_entry() was correct.  This is also why it generally worked, if no leader election happened, it always had correct value, but if a new leader was elected that would have to commit this entry, it be wrong.
    a02be774
raft_server.c 52.7 KB