1. 23 May, 2021 1 commit
  2. 11 May, 2021 1 commit
    • Shaya Potter's avatar
      Fix quorum_msg_id assert (#3) · 93186886
      Shaya Potter authored
      Before this commit, active and voting flags were ignored resulting with a result that does not agree with `raft_get_num_voting_nodes()` and an assertion.
      
      This could be seen when a leader node gets removed while a read operation is in progress.
      93186886
  3. 29 May, 2020 1 commit
  4. 27 May, 2020 1 commit
  5. 26 May, 2020 1 commit
  6. 24 May, 2020 1 commit
  7. 16 Apr, 2020 1 commit
  8. 23 Mar, 2020 2 commits
    • Yossi Gottlieb's avatar
      Fix issue with AE not delivered to removed nodes. · 02fda63f
      Yossi Gottlieb authored
      During joint consensus, we need to deliver entries to demoted and
      removed nodes so they can gracefully shut down.
      
      This also fixes an issue with raft_send_appendentries_all() which
      aborted on first delivery error, creating artificial cluster partitions.
      This problem is further aggravated when attempting to deliver to
      inactive nodes.
      02fda63f
    • Yossi Gottlieb's avatar
      Revert commits c3064082 and da936a95. · 2c105362
      Yossi Gottlieb authored
      Turns out documentation is not up to date regarding the process of node
      removal, and it the current implementation assumes a two-phase process
      is always required (i.e. DEMOTE followed by REMOVE).
      2c105362
  9. 12 Mar, 2020 2 commits
    • Yossi Gottlieb's avatar
      Add RAFT_LOGTYPE_NO_OP. · 5d7915f3
      Yossi Gottlieb authored
      The no-op entry gets committed as soon as a new leader is elected, in
      order to establish the commit index and prevent stale reads.
      5d7915f3
    • Yossi Gottlieb's avatar
      Fix virtraft membership tests. · c3064082
      Yossi Gottlieb authored
      This fixes an issue with virtraft2 which was not able to perform
      REMOVE_NODE when DEMOTE_NODE was applied. The previous fix of directly
      removing nodes was not aligned with how virtraft2 manages nodes.
      c3064082
  10. 10 Mar, 2020 4 commits
  11. 31 Dec, 2018 1 commit
  12. 19 Dec, 2018 2 commits
  13. 18 Dec, 2018 1 commit
  14. 13 Dec, 2018 1 commit
  15. 11 Dec, 2018 1 commit
  16. 09 Dec, 2018 1 commit
  17. 06 Dec, 2018 1 commit
  18. 18 Nov, 2018 1 commit
  19. 16 Oct, 2018 1 commit
    • Yossi Gottlieb's avatar
      Fix a memory leak with log_clear. · 89d793a0
      Yossi Gottlieb authored
      This is probably most common when loading a snapshot.  Currently it is
      only possibly to free allocated entry memory on log_pop and log_poll,
      but neither are called on log_reset().
      
      This is a quick and non-breaking fix.  A better but not backward
      compatible option can be to have a free function callback as part of
      the entry itself (automatically called when needed, not by log_pop or
      log_poll).  This would also make it easier to avoid redundant buffer
      allocs/copies on the app side.
      89d793a0
  20. 08 Oct, 2018 2 commits
  21. 06 Oct, 2018 3 commits
  22. 04 Oct, 2018 2 commits
  23. 27 Sep, 2018 4 commits
  24. 02 Sep, 2018 1 commit
  25. 17 Aug, 2018 1 commit
  26. 16 Aug, 2018 1 commit
  27. 15 Aug, 2018 1 commit