0d7c43d885
*: add a Advance interface to raft.Node
...
Node set the applied to committed right after it sends out Ready to application. This is not
correct since the application has not actually applied the entries at that point. We add a
Advance interface to Node. Application needs to call Advance to tell raft Node its progress.
Also this change can avoid unnecessary copying when application is still applying entires but
there are more entries to be applied.
2014-11-05 15:04:14 -08:00
6e6d1897d8
pkg: move everything into subpackages
2014-10-27 09:57:28 -07:00
a44849deec
Merge pull request #1286 from coreos/clusterid
...
*: generate clusterid
2014-10-20 19:07:03 -07:00
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
ea6bcacfe4
*: generate clusterid
2014-10-20 15:00:54 -07:00
7a4d42166b
*: add license header to all source files
2014-10-17 15:41:22 -07:00
eb2dd1892f
raft: add RemovedNodes to SoftState
2014-10-15 10:53:07 -07:00
4183b69e12
*: move from third_party to Godep
2014-10-14 00:37:52 -07:00
d7dfe07e5d
Merge pull request #1293 from unihorn/160
...
raft: protobuf messageType
2014-10-14 09:16:38 +08:00
f693c6ddf2
etcdserver: apply bootstrap conf change
2014-10-13 11:22:23 -07:00
0319b033ea
etcdserver/raft: set context for bootstrap addnode entries
2014-10-13 11:22:23 -07:00
32c38820c1
raft: protobuf messageType
2014-10-13 11:13:43 -07:00
af5b8c6c44
raft: int64 -> uint64
2014-10-09 14:26:43 +08:00
38af14b0f4
Merge pull request #1260 from coreos/snap_rm
...
raft: save removed nodes in snapshot
2014-10-09 08:00:33 +08:00
c67fd14fe8
Merge pull request #1257 from bdarnell/cleanups
...
Raft: assorted cleanups (golint and go vet)
2014-10-09 05:55:21 +08:00
d2e858587f
Raft: a few more improvements to test messages.
2014-10-08 15:07:11 -04:00
7b61565c0a
raft: save removed nodes in snapshot
2014-10-08 15:33:55 +08:00
36558b1924
Raft: fix printf strings found by go vet.
2014-10-07 18:44:06 -04:00
d7d6f84f64
raft: rand election timeout
2014-10-07 20:12:49 +08:00
45e4a8643a
raft: add tests for raft.compact
2014-10-07 16:03:11 +08:00
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
45ebfb4217
raft: refine initial entries logic in StartNode
2014-10-06 16:06:01 -07:00
314d425718
main/raft: write addNode ConfChange entries in log when start raft
2014-10-06 14:33:12 -07:00
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
45f71af33e
pkg: move testutil to pkg
2014-09-25 10:40:40 -07:00
25c2768b8f
raft: node ignores unexpected local messages receiving from network
2014-09-23 13:50:43 -07:00
f2ebd64a1b
*: add testutil pkg
2014-09-19 14:32:38 -07:00
b66a40495d
raft: introduce Node interface
2014-09-17 14:18:56 -07:00
ab61a8aa9a
*: init for on disk snap support
2014-09-17 13:56:12 -07:00
de21c39ca5
raft: isStateEqual -> isHardStateEqual, IsEmptyState -> IsEmptyHardState
2014-09-16 13:55:00 -07:00
023dc7cba2
etcdserver: add SYNC request
2014-09-16 13:42:03 -07:00
cc8d8f2102
raft: remove unused raftpb.LastIndex
2014-09-15 14:34:23 -07:00
140fd6d6c4
raft: restart using last written entry also
2014-09-15 09:56:33 -07:00
a9af70c52b
raft: write entry 0 into log
2014-09-15 09:55:52 -07:00
ff7f340bba
Merge pull request #1063 from coreos/node_run_test
...
raft: test node block proposal
2014-09-14 22:46:50 -07:00
e085cc4e06
Merge pull request #1042 from unihorn/118
...
raft: set none to be 0
2014-09-14 22:32:37 -07:00
ccee264b7d
raft: move defer after run
2014-09-12 12:28:15 -07:00
45f56a5377
raft: forceGoSched -> forceGosched
2014-09-12 12:27:18 -07:00
5c884c7797
raft: better comment and naming
2014-09-12 12:18:30 -07:00
0c09862494
raft: add isStateEqual test
2014-09-12 11:59:32 -07:00
f9ef453894
raft: test contain updates
2014-09-12 11:51:25 -07:00
b261a5edc1
raft: test node block proposal
2014-09-12 11:51:25 -07:00
073411f23f
raft: remove vote with default value
2014-09-11 23:17:13 -07:00
281afa74ee
raft: comments for TestNodeStep
2014-09-11 19:00:40 -07:00
eb1dcb324c
raft: test node step
2014-09-11 17:10:36 -07:00
b50f96e2e1
raft: set none to be 0
2014-09-09 16:47:21 -07:00
90c0db3d42
wal: do not save empty state
2014-09-09 10:15:29 -07:00
c28fef5fc4
raft: set ready.st to empty state, if current state is equal to previous state
2014-09-09 10:15:29 -07:00
f3348d6e13
raft: fix the comment in test
2014-09-08 16:16:58 -07:00
19235c8104
raft: refactor restart test
2014-09-08 16:10:13 -07:00