Xiang Li
46ebf69c02
raft: better logging for leader transition
2014-10-30 09:33:38 -07:00
Brian Waldon
6796669484
raft: stop logging IDs with 0x prefix
2014-10-27 18:56:13 -07:00
Xiang Li
a44849deec
Merge pull request #1286 from coreos/clusterid
...
*: generate clusterid
2014-10-20 19:07:03 -07:00
Yicheng Qin
e200d2a8e2
etcdserver/raft: remove msgDenied, removedNodes, shouldStop
...
The future plan is to do all these in etcdserver level.
2014-10-20 15:13:18 -07:00
Xiang Li
ea6bcacfe4
*: generate clusterid
2014-10-20 15:00:54 -07:00
Jonathan Boulle
7a4d42166b
*: add license header to all source files
2014-10-17 15:41:22 -07:00
Yicheng Qin
8cd6030a1d
etcdserver: add checking when apply conf change
2014-10-16 09:49:26 -07:00
Yicheng Qin
eb2dd1892f
raft: add RemovedNodes to SoftState
2014-10-15 10:53:07 -07:00
Jonathan Boulle
4183b69e12
*: move from third_party to Godep
2014-10-14 00:37:52 -07:00
Xiang Li
d7dfe07e5d
Merge pull request #1293 from unihorn/160
...
raft: protobuf messageType
2014-10-14 09:16:38 +08:00
Yicheng Qin
f693c6ddf2
etcdserver: apply bootstrap conf change
2014-10-13 11:22:23 -07:00
Yicheng Qin
0319b033ea
etcdserver/raft: set context for bootstrap addnode entries
2014-10-13 11:22:23 -07:00
Yicheng Qin
32c38820c1
raft: protobuf messageType
2014-10-13 11:13:43 -07:00
Xiang Li
af5b8c6c44
raft: int64 -> uint64
2014-10-09 14:26:43 +08:00
Ben Darnell
3ad0df3722
Raft: fix problems reported by golint.
2014-10-07 18:44:06 -04:00
Xiang Li
45e4a8643a
raft: add tests for raft.compact
2014-10-07 16:03:11 +08:00
Xiang Li
7fe4385ef9
raft: add comment for Compact interface of Node
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
03152004d7
Merge pull request #1145 from coreos/fix_panic
...
raft: node ignores unexpected local messages receiving from network
2014-09-23 14:11:56 -07:00
Xiang Li
25c2768b8f
raft: node ignores unexpected local messages receiving from network
2014-09-23 13:50:43 -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
ec8f493fde
raft: refine comments for Configure
2014-09-22 15:44:47 -07:00
Yicheng Qin
dc36ae7058
raft: use pb.Config instead of []byte for Configure
2014-09-22 15:44:47 -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
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
9607665323
raft: remove unused return
2014-09-15 13:22:21 -07:00
Yicheng Qin
9bf2c2ed9d
Merge pull request #1052 from unihorn/121
...
server: add unit tests
2014-09-15 13:20:50 -07:00
Yicheng Qin
6cd4434ff3
server: add unit tests
...
Make test coverage >= 90%
2014-09-15 13:16:48 -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
Yicheng Qin
34db45a948
raft: set propc, readyc to be nil before run loop
2014-09-12 12:57:50 -07:00
Xiang Li
0c09862494
raft: add isStateEqual test
2014-09-12 11:59:32 -07:00
Brandon Philips
98f9ee3613
raft: add useful comments
...
These comments were things I learned about the units, use case or
meaning of various fields and functions in the raft package.
2014-09-12 09:58:04 -07:00
Xiang Li
676b5be972
raft: use IsEmptyState
2014-09-09 11:58:15 -07:00
Xiang Li
ac0443bc89
raft: remove extra code
2014-09-09 10:16:39 -07:00
Xiang Li
df259e5878
raft: add a newReady helper function
2014-09-09 10:16:39 -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
b0d865e845
raft: record previous state is enough
2014-09-09 10:15:29 -07:00
Xiang Li
0060c0749a
raft: prev should be set only when we sucessfully send out rd to the channel
2014-09-09 10:15:29 -07:00
Jonathan Boulle
946e35c958
raft: remove unused alwaysreadyc
2014-09-08 22:21:03 -07:00