169 Commits

Author SHA1 Message Date
Ben Darnell
36558b1924 Raft: fix printf strings found by go vet. 2014-10-07 18:44:06 -04:00
Xiang Li
d7d6f84f64 raft: rand election timeout 2014-10-07 20:12:49 +08:00
Xiang Li
45e4a8643a raft: add tests for raft.compact 2014-10-07 16:03:11 +08:00
Xiang Li
5587e0d73f raft: compact takes index and nodes parameters
Before this commit, compact always compact log at current appliedindex of raft.
This prevents us from doing non-blocking snapshot since we have to make snapshot
and compact atomically. To prepare for non-blocking snapshot, this commit make
compact supports index and nodes parameters. After completing snapshot, the applier
should call compact with the snapshot index and the nodes at snapshot index to do
a compaction at snapsohot index.
2014-10-07 16:03:11 +08:00
Yicheng Qin
45ebfb4217 raft: refine initial entries logic in StartNode 2014-10-06 16:06:01 -07:00
Yicheng Qin
314d425718 main/raft: write addNode ConfChange entries in log when start raft 2014-10-06 14:33:12 -07:00
Yicheng Qin
e4a6c9651a raft: add removed
The usage of removed:
1. tell removed node about its removal explicitly using msgDenied
2. prevent removed node disrupt cluster progress by launching leader election

It is set when apply node removal, or receive msgDenied.
2014-10-01 14:57:38 -07:00
Xiang Li
45f71af33e pkg: move testutil to pkg 2014-09-25 10:40:40 -07:00
Xiang Li
25c2768b8f raft: node ignores unexpected local messages receiving from network 2014-09-23 13:50:43 -07:00
Yicheng Qin
f2ebd64a1b *: add testutil pkg 2014-09-19 14:32:38 -07:00
Jonathan Boulle
b66a40495d raft: introduce Node interface 2014-09-17 14:18:56 -07:00
Xiang Li
ab61a8aa9a *: init for on disk snap support 2014-09-17 13:56:12 -07:00
Yicheng Qin
de21c39ca5 raft: isStateEqual -> isHardStateEqual, IsEmptyState -> IsEmptyHardState 2014-09-16 13:55:00 -07:00
Yicheng Qin
023dc7cba2 etcdserver: add SYNC request 2014-09-16 13:42:03 -07:00
Yicheng Qin
cc8d8f2102 raft: remove unused raftpb.LastIndex 2014-09-15 14:34:23 -07:00
Yicheng Qin
140fd6d6c4 raft: restart using last written entry also 2014-09-15 09:56:33 -07:00
Yicheng Qin
a9af70c52b raft: write entry 0 into log 2014-09-15 09:55:52 -07:00
Xiang Li
ff7f340bba Merge pull request #1063 from coreos/node_run_test
raft: test node block proposal
2014-09-14 22:46:50 -07:00
Xiang Li
e085cc4e06 Merge pull request #1042 from unihorn/118
raft: set none to be 0
2014-09-14 22:32:37 -07:00
Xiang Li
ccee264b7d raft: move defer after run 2014-09-12 12:28:15 -07:00
Xiang Li
45f56a5377 raft: forceGoSched -> forceGosched 2014-09-12 12:27:18 -07:00
Xiang Li
5c884c7797 raft: better comment and naming 2014-09-12 12:18:30 -07:00
Xiang Li
0c09862494 raft: add isStateEqual test 2014-09-12 11:59:32 -07:00
Xiang Li
f9ef453894 raft: test contain updates 2014-09-12 11:51:25 -07:00
Xiang Li
b261a5edc1 raft: test node block proposal 2014-09-12 11:51:25 -07:00
Yicheng Qin
073411f23f raft: remove vote with default value 2014-09-11 23:17:13 -07:00
Xiang Li
281afa74ee raft: comments for TestNodeStep 2014-09-11 19:00:40 -07:00
Xiang Li
eb1dcb324c raft: test node step 2014-09-11 17:10:36 -07:00
Yicheng Qin
b50f96e2e1 raft: set none to be 0 2014-09-09 16:47:21 -07:00
Xiang Li
90c0db3d42 wal: do not save empty state 2014-09-09 10:15:29 -07:00
Xiang Li
c28fef5fc4 raft: set ready.st to empty state, if current state is equal to previous state 2014-09-09 10:15:29 -07:00
Xiang Li
f3348d6e13 raft: fix the comment in test 2014-09-08 16:16:58 -07:00
Xiang Li
19235c8104 raft: refactor restart test 2014-09-08 16:10:13 -07:00
Xiang Li
1a6e908971 *: add wal 2014-09-05 09:52:40 -07:00
Xiang Li
e30505d33b raft: fix node test 2014-09-04 11:42:11 -07:00
Blake Mizerany
d844377ca6 *: vendor context 2014-09-03 20:06:16 -07:00
Blake Mizerany
d218034630 boom 2014-09-03 09:20:20 -07:00
Blake Mizerany
b796d227f1 add some logging 2014-09-03 09:20:19 -07:00
Blake Mizerany
7469871d20 raft: remove proposal id / add test 2014-09-03 09:20:17 -07:00
Blake Mizerany
134a962222 raft: move raft2 to raft 2014-09-03 09:20:14 -07:00
Xiang Li
5fdc124578 etcd: clean up snap 2014-09-03 09:20:10 -07:00
Yicheng Qin
a28dc4559b raft/etcd: recover node 2014-09-03 09:20:10 -07:00
Yicheng Qin
15029381e1 raft: fix promotable 2014-09-03 09:20:02 -07:00
Xiang Li
b383cd5acf raft: refactor recover 2014-09-03 09:19:59 -07:00
Yicheng Qin
2bd74bc328 raft: add Load 2014-09-03 09:19:59 -07:00
Xiang Li
1288e1f39d raft: log->raftlog 2014-09-03 09:19:58 -07:00
Xiang Li
2665cc1cc8 raft: heartbeat should not contain entries 2014-09-03 09:19:57 -07:00
Xiang Li
060de128a7 raft: add clusterId 2014-09-03 09:19:56 -07:00
Yicheng Qin
79689872af raft: use From field to distinguish local message 2014-09-03 09:19:56 -07:00
Xiang Li
9c8aff66a1 raft: randomize election timeout 2014-09-03 09:19:50 -07:00