- 06 Dec, 2018 1 commit
-
-
Yossi Gottlieb authored
-
- 18 Nov, 2018 1 commit
-
-
Yossi Gottlieb authored
-
- 08 Oct, 2018 1 commit
-
-
Yossi Gottlieb authored
All nodes expect local should be removed when loading a snapshot, and any prior knowledge about them should be void.
-
- 27 Sep, 2018 2 commits
-
-
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.
-
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.
-
- 17 Aug, 2018 1 commit
-
-
Free Ekanayaka authored
The make-tests.sh script has been modified so that the test program exists non-zero in case of failures.
-
- 16 Aug, 2018 1 commit
-
-
Willem Thiart authored
-
- 15 Aug, 2018 2 commits
-
-
Willem Thiart authored
-
Yossi Gottlieb authored
-
- 14 Aug, 2018 2 commits
-
-
Willem Thiart authored
-
Willem Thiart authored
Less false positive deadlocks Logging to file Quiet mode Less strict partitions Include latest partitions in diagnostics
-
- 07 Aug, 2018 2 commits
-
-
Yossi Gottlieb authored
If specified when calling raft_begin_snapshot(), the library will not postpone applying entries during snapshots. This requires the FSM to provide full isolation between the snapshot and active state.
-
Yossi Gottlieb authored
If specified when calling raft_begin_snapshot(), the library will not postpone applying entries during snapshots. This requires the FSM to provide full isolation between the snapshot and active state.
-
- 20 Jun, 2018 2 commits
-
-
Willem Thiart authored
-
Yossi Gottlieb authored
-
- 13 Jun, 2018 2 commits
-
-
Willem Thiart authored
This fixes the virtraft checks.
-
Yossi Gottlieb authored
AE responses from a non-voting node can be ignored during a voting change, causing has_sufficient_logs for this node to never fire in the future.
-
- 11 Jun, 2018 2 commits
-
-
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.
-
Willem Thiart authored
-
- 08 Jun, 2018 1 commit
-
-
Jiale Zhi authored
-
- 07 Jun, 2018 2 commits
-
-
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.
-
Yossi Gottlieb authored
* Fix off-by-one in apply_log idx. * Fix log_get_from_idx() off by one error.
-
- 24 May, 2018 1 commit
-
-
Yossi Gottlieb authored
-
- 23 May, 2018 2 commits
-
-
Yossi Gottlieb authored
-
Yossi Gottlieb authored
-
- 17 May, 2018 1 commit
-
-
Willem Thiart authored
-
- 16 May, 2018 2 commits
-
-
Willem Thiart authored
-
Willem Thiart authored
-
- 02 May, 2018 1 commit
-
-
Yossi Gottlieb authored
-
- 11 Apr, 2018 2 commits
-
-
Yossi Gottlieb authored
-
Yossi Gottlieb authored
AE responses from a non-voting node can be ignored during a voting change, causing has_sufficient_logs for this node to never fire in the future.
-
- 07 Mar, 2018 1 commit
-
-
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.
-
- 09 Jan, 2018 1 commit
-
-
Willem Thiart authored
-
- 08 Jan, 2018 3 commits
-
-
Willem Thiart authored
-
Willem Thiart authored
-
Willem Thiart authored
-
- 29 Dec, 2017 2 commits
-
-
Willem Thiart authored
-
Willem Thiart authored
The raft_log API is now being fuzzed tested. This change fixes all of the bugs detected by the fuzzer so far.
-
- 21 Nov, 2017 2 commits
-
-
Li Wei authored
User storage callbacks may return negative errors smaller than RAFT_ERR_LAST. These will be returned all the way to the API methods, which report the errors back to users, so that appropriate handlings may be performed. Signed-off-by:
Li Wei <wei.g.li@intel.com>
-
Li Wei authored
If an AE request's previous entry matches the follower's, then the follower doesn't need to truncate its log at prev_log_idx. When the follower checks if the other entries in the AE request are consistent with its local ones, it already takes care of truncating at any inconsistency. If any later entries not covered by this AE request are inconsistent, future AE requests shall truncate them. Signed-off-by:
Li Wei <wei.g.li@intel.com>
-