1. 10 Jul, 2018 1 commit
    • Yossi Gottlieb's avatar
      Add raft_pop_entry(). · 876f8d7c
      Yossi Gottlieb authored
      This is required to allow append-only persistent log formats, where
      raft_append_entry() is called but may be reverted later on.
      876f8d7c
  2. 20 Jun, 2018 2 commits
  3. 11 Jun, 2018 4 commits
  4. 08 Jun, 2018 1 commit
  5. 07 Jun, 2018 1 commit
    • 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
  6. 24 May, 2018 2 commits
  7. 16 May, 2018 2 commits
  8. 07 Mar, 2018 1 commit
  9. 04 Mar, 2018 2 commits
    • Yossi Gottlieb's avatar
      Add a per-entry custom user data field. · 519d47ad
      Yossi Gottlieb authored
      This is useful to allow leaders to pass context between
      raft_recv_entry() and a subsequent execution of the entry (after it was
      committed) as an applylog callback.
      
      This allows an optimized use pattern when entries received locally on
      the leader can be used without going through an unnecessary
      deserialization.
      519d47ad
    • Yossi Gottlieb's avatar
      Add custom heap management hooks. · b4430b25
      Yossi Gottlieb authored
      b4430b25
  10. 08 Jan, 2018 2 commits
  11. 21 Nov, 2017 4 commits
  12. 20 Nov, 2017 1 commit
  13. 30 May, 2017 1 commit
  14. 25 Oct, 2016 2 commits
  15. 11 Jun, 2016 5 commits
  16. 19 May, 2016 1 commit
  17. 13 May, 2016 3 commits
  18. 16 Mar, 2016 3 commits
  19. 25 Jan, 2016 2 commits