1. 18 Dec, 2018 1 commit
  2. 09 Dec, 2018 1 commit
  3. 06 Dec, 2018 1 commit
  4. 18 Nov, 2018 1 commit
  5. 08 Oct, 2018 1 commit
  6. 27 Sep, 2018 2 commits
    • Yossi Gottlieb's avatar
      AE error response not properly handled. · 5e336b8f
      Yossi Gottlieb authored
      Errors were ignored if node's match_idx==next_idx-1, I assume (??) as a
      precaution against silently feeding a node that is not monotonic.
      
      However this does not consider the case where send_appendentries()
      relies on snapshot_last_idx which may be greater than the node's index.
      5e336b8f
    • Yossi Gottlieb's avatar
      AE error response not properly handled. · b5cf5cf9
      Yossi Gottlieb authored
      Errors were ignored if node's match_idx==next_idx-1, I assume (??) as a
      precaution against silently feeding a node that is not monotonic.
      
      However this does not consider the case where send_appendentries()
      relies on snapshot_last_idx which may be greater than the node's index.
      b5cf5cf9
  7. 17 Aug, 2018 1 commit
  8. 16 Aug, 2018 1 commit
  9. 15 Aug, 2018 2 commits
  10. 14 Aug, 2018 2 commits
  11. 07 Aug, 2018 2 commits
  12. 20 Jun, 2018 2 commits
  13. 13 Jun, 2018 2 commits
  14. 11 Jun, 2018 2 commits
    • Yossi Gottlieb's avatar
      Ignore RequestVote when leader is established. (#58) · ab96a768
      Yossi Gottlieb authored
      This behavior is described in the original Raft paper and is required to
      prevent removed nodes from disrupting the cluster.
      
      This causes other problems though, as a split node may trigger election
      which is rejected but leaves it with a future term.  The generally
      accepted solution for this appears to be the use of PreVote RPC to avoid
      election that can never succeed.
      ab96a768
    • Willem Thiart's avatar
      Add virtraft2 · aa3586ff
      Willem Thiart authored
      aa3586ff
  15. 08 Jun, 2018 1 commit
  16. 07 Jun, 2018 2 commits
    • Willem Thiart's avatar
      Remove RAFT_LOGTYPE_SNAPSHOT · 700eebe6
      Willem Thiart authored
      The RAFT_LOGTYPE_SNAPSHOT was a bad design choice. It's better to not
      have this marker entry so that users don't have to check for the log
      entry type in the callbacks. Also, loading a snapshot correctly created
      this marker entry, but the compaction side did not. It's better to
      remove this log type than to fix this asymmetry.
      
      Fixes the following edge cases:
      - Server crashes if the last snapshot index is N and a appendentries
      message pops entries all the way back to index N.
      - Server sends an appendentries message with an invalid prev_log_idx and
      prev_log_term, causing the peer to crash.
      700eebe6
    • Yossi Gottlieb's avatar
      Off by one fixes (#65) · 9de8af47
      Yossi Gottlieb authored
      * Fix off-by-one in apply_log idx.
      
      * Fix log_get_from_idx() off by one error.
      9de8af47
  17. 24 May, 2018 1 commit
  18. 23 May, 2018 2 commits
  19. 17 May, 2018 1 commit
  20. 16 May, 2018 2 commits
  21. 02 May, 2018 1 commit
  22. 11 Apr, 2018 2 commits
  23. 07 Mar, 2018 1 commit
    • Yossi Gottlieb's avatar
      Ignore RequestVote when leader is established. · 6cac5767
      Yossi Gottlieb authored
      This behavior is described in the original Raft paper and is required to
      prevent removed nodes from disrupting the cluster.
      
      This causes other problems though, as a split node may trigger election
      which is rejected but leaves it with a future term.  The generally
      accepted solution for this appears to be the use of PreVote RPC to avoid
      election that can never succeed.
      6cac5767
  24. 09 Jan, 2018 1 commit
  25. 08 Jan, 2018 3 commits
  26. 29 Dec, 2017 2 commits