1. 25 Aug, 2022 1 commit
    • Ozan Tezcan's avatar
      Add support to rebuild configuration after a restart (#125) · 9c09a6cc
      Ozan Tezcan authored
      Configuration changes are special in Raft. They take effect 
      whenever the related log entries are appended. On a restart, 
      we should go over the log entries and rebuild the configuration.
      
      Adding raft_restore_log() function for this purpose.
      
      Overall, on a restart, application should do:
      
      Load the snapshot and call raft_restore_snapshot()
      Load the log entries and call raft_restore_log()
      Read the metadata file and call raft_restore_metadata().
      9c09a6cc
  2. 23 Aug, 2022 3 commits
  3. 22 Aug, 2022 2 commits
    • Ozan Tezcan's avatar
      Fix return types (#122) · e8791a27
      Ozan Tezcan authored
      Use typedef instead of the actual type
      e8791a27
    • Ozan Tezcan's avatar
      Improve snapshot support (#121) · 7d66a156
      Ozan Tezcan authored
      - raft_load_snapshot_f(): Changed order of arguments term and index
      to be inline with raft_begin_load_snapshot().
      
      - Refactored raft_begin_load_snapshot(). Now, inside this function, 
      current server's node flags are cleared. Previously, application had to
      take care of it. e.g Application had to clear inactive flag on a snapshot.
      
      - Added raft_restore_snapshot() to let libraft know that application has
      loaded a snapshot.
      7d66a156
  4. 18 Aug, 2022 1 commit
  5. 16 Aug, 2022 3 commits
  6. 08 Aug, 2022 1 commit
  7. 21 Jul, 2022 2 commits
  8. 07 Jul, 2022 2 commits
  9. 05 Jul, 2022 1 commit
    • Ozan Tezcan's avatar
      Do not execute operations in periodic when auto_flush is off (#109) · 03e2f294
      Ozan Tezcan authored
      Do not execute operations in periodic when auto_flush is off 
      
      Introduced auto_flush config in #81. If auto_flush is off, application is supposed to call raft_flush() manually. This function increments commit index, applies entries and sends appendentries requests.
      
      Currently, we execute operations in raft_periodic() and raft_flush() both. When auto_flush is off, it makes sense to leave execution to raft_flush() to do it in a single place.
      03e2f294
  10. 30 Jun, 2022 1 commit
  11. 19 Jun, 2022 1 commit
  12. 19 May, 2022 1 commit
  13. 15 May, 2022 1 commit
  14. 02 May, 2022 1 commit
  15. 26 Apr, 2022 1 commit
  16. 25 Apr, 2022 1 commit
  17. 18 Apr, 2022 1 commit
  18. 06 Apr, 2022 1 commit
  19. 04 Apr, 2022 1 commit
  20. 03 Apr, 2022 1 commit
  21. 30 Mar, 2022 2 commits
  22. 24 Mar, 2022 1 commit
  23. 21 Mar, 2022 1 commit
  24. 13 Mar, 2022 5 commits
  25. 08 Mar, 2022 1 commit
  26. 06 Mar, 2022 1 commit
  27. 15 Feb, 2022 1 commit
  28. 07 Feb, 2022 1 commit