Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Create format.yml * Committing clang-format changes' * Added .clang-format file * Added .clang-format file * Committing clang-format changes' * Fixed typo in format.yml * Fixing format.yml error * Fixed typo in format.yml * Fixing format.yml error * Update README.md * Refactored raft log * Refactored Peer struct * Refactored log tests * Added sendAppendEntries and leaderLoop functions * Refactored log tests * Updated raft.proto file * Committing clang-format changes * Adder server struct * Rafactored log.go * Refactored logger package and added options.go file * Added interface, implementation, and tests for stable storage * Added options.go file * Refactored log * Added state.go file * Removed unnecessary field in volatile log * Refactored raft * Added pkg folder, refactored raft, added server tests * Fixed bug in peer * Added functions for replication * Added additional tests for server * Fixed bug in raft * Fixed bug in raft * Added request/response and rpc for installing snapshot * Committing clang-format changes * Added compact function to log * Added install snapshot RPC skeleton functions * Added install snapshot RPC skeleton functions * Added state machine interface and mock with tests * Added snapshot stroage interface and mock with tests * Refactored pkg files * Fixed bug in raft * Fixed bug in raft and updated test cases * Updated test cases * Updated test cases * Refactored raft * Added checks for go routine leaks * Refactored raft and implemented snapshotting * Refactored log * Added initial snapshot tests * Added rpc.go file * Updated state machine tests * Added state.go file * Updated test timeout in workflow * Fixed bug in raft and added documentation * Refactored server tests and added additional tests * Added additional server tests * Fixed TestSingleSnapshot test case * Added nil checks to server * Fixed internal package error * Refactored tests and fixed bug in peer * Fixed timing error in tests * Fixed timing error in tests * Update go.yml * Refactored raft * Refactored raft * Refactored log and updated log tests * Fixed bugs in raft and refactored server * Refactored server tests * Removed rpc.go and state.go * Refactored raft * Updated util random timeout function * Refactored server tests * Updated log documentation * Bug fixing * Added persistence tests * Bug fixing * Added documentation for server tests * Fixing start and shutdown bugs * Added additional persistence tests * Fixed bug in request vote RPC * Increased default election timeout * Added partition test * Added additional partition tests * Added storage state message to raft.proto * Committing clang-format changes * Implemented storage and log encoding interfaces * Added tests for encoder implementations * Implemented persistent log * Added tests for persistent log * Created peer interface * Updated storage interface * Added tests for persistent storage * Refactored server and server tests * Refactored raft * Added encoding documentation * Updated peer documentation * Debugging raft livelock * Refactored encoders * Fixed bug in log * Refactored storage * Fixing raft bugs * Fixing bug in test cluster * Updated server test timeouts and documentation * Rafactoring code and documentation * Fixed incorrect leader check timeout * Fixed typos * Fixed typos * Updated raft documentation * Creates separate file for request types and conversion functions * Refactored test cluster * Added RaftServer interface and wrote documentation * Updated documentation * Updated documentation * Made simulated failures less frequent. Tests fail on some machines due to no progress being made. * Updated documentation * Implemented fast log back up optimization * Committing clang-format changes * Fixed bug in peer * Fixed typo * Updated protobuf with snapshotting messages * Added InstallSnapshot requests * Added InstallSnapshot RPC * Updated snapshot storage * Added snapshot encoder and decoder * Implemented log discard function * Updated snapshotting options * Updated mock state machine * Updated tests to handle snapshots * Added test for snapshot encoder and decoder * Updated snapshot options * Updated server documentation * Updated server tests with snapshot options * Refactored raft * Added Makefile * Updated workflows * Committing clang-format changes * Updated snapshot storage documentation * Added go fmt to workflow * Refactored peer * Updated raft documentation * Updated snapshot store documentation * Added additional server test * Added replay function to log * Refactored log * Refactored peer * Updated log error messages * Refactored snapshot store and added replay function * Refactored storage * Refactored raft * Refactored peer * Refactored server tests * Refactored raft * Refactored server tests and added additional documentation * Added linting and dependency verification to go workflow * Added additional tests and refactored tests * Updated documentation again * Added FSM loop to raft and updated snapshotting process * Updated log entry struct * Refactored state machine * Updated server tests to handle new snapshotting process * Updated Makefile to handle protobuf compilation * Created testing.go for test utilities * Decoupled raft state from peer and refactored raft * Updated log documentation * Updated storage documentation * Updated snapshot storage documentation * Removed state_machine_test.go * Renamed server * Moved test cluster to testing.go * Removed pkg directory * Fixed server documentation * Refactored encoders and decoders * Made peer implementation unexported * Made log implementation unexported * Made snapshot storage unexported * Made storage implementation unexported * Implemented functions for manual snapshotting * Added manual snapshot tests * Updated raft documentation * Fixed storage and snapshot storage documentation * Updated README.md * Updated error documentation and minor refactoring * Updated snapshot storage documentation * Updated snapshot storage documentation * Minor refactoring and documentation updates * Minor refactoring and documentation updates * Updated README.md with example * Updated example code * Updated README.md * Updated README.md * Update README.md * Update README.md * Update README.md * Added doc.go file * Fixed typos * Refactored raft * Added tests for single server cluster * Made RPC functions exported * Changed server to accept string addresses * Updated temporary file names * Updated temporary file names * Changed server to accept string addresses * Updated doc.go * Update README.md * Fixed bug with temporary files and updated file permissions * Fixed snapshotting bug * Rename go.yml to build.yml * Update build.yml * Update README.md * Updated documentation * Refactored encoding and decoding functions * Refactored encoding and decoding functions * Fixed typos * Update README.md * Refactored snapshots * Updated doc.go * Added max entries per RPC option * Updated Makefile * Fixed snapshot testing bug and documentation * General refactoring * Added additional test for log * Added .idea to .gitignore * Refactored error handling * Updated README.md * Fixed typo in documentation * Refactored test suite * Updated build.yml with new make rules * Refactored test suite * Refactored test suite * Fixed documentation typos * Updated README.md * Create LICENSE * Added raft options validity checks (#4) * Snapshot test fix (#5) * Fixed testing in build workflow * Fixed failing snapshot storage test * Committing go fmt changes
- Loading branch information