Xiang Li
d7b4e44a66
raft: heartbeat is only response for maintaining leader dominance
2014-09-29 16:57:43 -07:00
Xiang Li
e26ff32fd8
raft: fix error msg
2014-09-28 21:17:51 -07:00
Xiang Li
51529cc3f2
raft: remove index field in msg AppResp
2014-09-28 21:13:53 -07:00
Xiang Li
adefd83855
raft: remove index field in msg voteResp
2014-09-28 21:13:43 -07:00
Xiang Li
86473d8a27
raft: add msg denied field
2014-09-28 21:13:33 -07:00
Yicheng Qin
1ca03d8e9d
raft: move logic to separate func
2014-09-24 10:23:44 -07:00
Yicheng Qin
b07be74a82
raft: stop tickElection when the node is not in peer list
...
This prevents the bug like this:
1. a node sends join to a cluster and succeeds
2. it starts with empty peers and waits for sync, but it have not
received anything
3. election timeout passes, and it promotes itself to leader
4. it commits some log entry
5. its log conflicts with the cluster's
2014-09-23 23:15:02 -07:00
Yicheng Qin
bc7b0108dc
raft: ConfigChange -> ConfChange
2014-09-23 12:02:44 -07:00
Yicheng Qin
d92931853e
raft: Config -> ConfigChange
...
Configure -> ProposeConfigChange
AddNode, RemoveNode -> ApplyConfigChange
2014-09-22 23:39:53 -07:00
Yicheng Qin
b82d70871f
raft: use EntryType in protobuf
2014-09-22 15:44:46 -07:00
Yicheng Qin
ff6705b94b
raft: add Configure, AddNode, RemoveNode
...
Configure is used to propose config change. AddNode and RemoveNode is
used to apply cluster change to raft state machine. They are the
basics for dynamic configuration.
2014-09-22 15:43:13 -07:00
Yicheng Qin
023dc7cba2
etcdserver: add SYNC request
2014-09-16 13:42:03 -07:00
Xiang Li
f9c12e2053
Merge pull request #1075 from coreos/fix_heartbeat
...
raft: fix heartbeat
2014-09-15 10:04:12 -07:00
Xiang Li
21d116d3e1
raft: fix heartbeat
2014-09-15 09:58:22 -07:00
Xiang Li
e7ea6a374a
main: check node id is not noneid
2014-09-14 23:28:11 -07:00
Yicheng Qin
2927cc6e3b
raft: refine plus assignment
2014-09-14 22:07:32 -07:00
Yicheng Qin
30289dad5c
raft: more descriptive panic info
2014-09-12 11:39:53 -07:00
Yicheng Qin
dc1357afa9
raft: use raft helper function in testing
2014-09-11 19:26:29 -07:00
Yicheng Qin
0e0fc2bd24
raft: use [1,n] as address list for raft state machines
2014-09-11 19:23:05 -07:00
Yicheng Qin
84c2bd0b7d
raft: set From of local message to be local id
2014-09-11 19:18:47 -07:00
Yicheng Qin
4e31bb308d
raft: use const firstId to track ids
2014-09-09 19:07:20 -07:00
Yicheng Qin
b50f96e2e1
raft: set none to be 0
2014-09-09 16:47:21 -07:00
Jonathan Boulle
9997c9488a
*: fix a few small issues identified by go vet
2014-09-08 23:52:36 -07:00
Xiang Li
8dfa490e49
raft: fix ignore term
2014-09-04 14:33:51 -07:00
Blake Mizerany
8d9b7b1680
raft: remove entry type
2014-09-03 15:24:47 -07:00
Blake Mizerany
8463421448
raft: remove configuration
2014-09-03 15:23:05 -07:00
Xiang Li
3c77693881
raft: make tick send out messages. all state machine actions should be taken inside step function.
2014-09-03 10:17:09 -07:00
Blake Mizerany
d218034630
boom
2014-09-03 09:20:20 -07:00
Blake Mizerany
e8e588c67b
raft: move protobufs into raftpb
2014-09-03 09:20:17 -07:00
Blake Mizerany
ddd219f297
many: marshal message
2014-09-03 09:20:16 -07:00
Blake Mizerany
ad307c6965
raft: go fmt
2014-09-03 09:20:14 -07:00
Blake Mizerany
4aa15294a8
raft: re-remove clusterId from raft
2014-09-03 09:20:14 -07:00
Blake Mizerany
134a962222
raft: move raft2 to raft
2014-09-03 09:20:14 -07:00
Blake Mizerany
0453d09af6
raft: moved into new raft
2014-09-03 09:20:11 -07:00
Xiang Li
a5df254e53
raft: add clusterId to snapshot
2014-09-03 09:20:08 -07:00
Yicheng Qin
01c40fcf50
raft: not recover from outdated snapshot
2014-09-03 09:20:02 -07:00
Yicheng Qin
ba63cf666d
raft: add recover
2014-09-03 09:20:02 -07:00
Xiang Li
6030261363
etcd/raft: add snap
2014-09-03 09:20:02 -07:00
Xiang Li
54b4f52e48
raft: add index to entry
2014-09-03 09:20:01 -07:00
Xiang Li
311db876b0
raft: add unstableState
2014-09-03 09:19:58 -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
Yicheng Qin
79689872af
raft: use From field to distinguish local message
2014-09-03 09:19:56 -07:00
Xiang Li
3921295b21
raft: update lead to none when receives vaild msgVote
2014-09-03 09:19:50 -07:00
Xiang Li
447d7dc51b
raft: fix log append; add tests
2014-09-03 09:19:49 -07:00
Xiang Li
0886e0ddf4
raft: change term to atomicInt
2014-09-03 09:05:14 -07:00
Xiang Li
30f4d9faea
raft: change index and term to int64
2014-09-03 09:05:14 -07:00
Xiang Li
e11c7f35b4
raft: add atomicInt
2014-09-03 09:05:14 -07:00
Xiang Li
2af0ad505a
raft: make id int64
2014-09-03 09:05:12 -07:00
Xiang Li
5651272ec8
raft: handle snapshot message
2014-09-03 09:05:12 -07:00