Yicheng Qin
7d0ffb3f12
raft: not set applied when restored from snapshot
...
applied is only updated by application level through Advance.
2014-11-14 12:08:39 -08:00
Ben Darnell
32824e053c
raft: Only call stableTo when we have ready entries or a snapshot.
...
The first Ready after RestartNode (with no snapshot) will have no
unstable entries, so we don't have the correct prevLastUnstablei
when Advance is called. This would cause raftLog.unstable to move
backwards and previously-stable entries would be returned to
the application again.
This should have been caught by the "unexpected Ready" portion of
TestNodeRestart, but it went unnoticed because the Node's goroutine
takes some time to read from advancec and prepare the write to read to
readyc. Added a small (1ms) delay to all such tests to ensure that the
goroutine has time to enter its select wait.
2014-11-13 14:57:01 -05:00
Xiang Li
04994048bb
Merge pull request #1702 from xiang90/node_config_propose
...
raft: add a test for proposeConfChange
2014-11-12 21:16:54 -08:00
Jonathan Boulle
eb66d2b0eb
Merge pull request #1699 from jonboulle/node_stop
...
raft: block Stop() on n.done, support idempotency
2014-11-12 16:26:54 -08:00
Xiang Li
2a407dadc0
raft: add a test for proposeConfChange
2014-11-12 16:16:26 -08:00
Jonathan Boulle
2cedf127d4
raft: block Stop() on n.done, support idempotency
2014-11-12 15:54:45 -08:00
Xiang Li
68ab7e69e1
raft: add a test for node proposal
2014-11-12 15:44:24 -08:00
Xiang Li
b271e88c20
Merge pull request #1696 from xiang90/testnodetick
...
raft: add a test for node.Tick
2014-11-12 14:38:07 -08:00
Xiang Li
d834324e97
raft: stop the node synchronously
2014-11-12 14:06:52 -08:00
Xiang Li
45c36a0808
raft: add a test for node.Tick
2014-11-12 11:51:51 -08:00
Xiang Li
fe0325fce7
raft: add comment string for TestNodeStart
2014-11-12 11:40:40 -08:00
Yicheng Qin
fb93e3fa00
Merge pull request #1689 from yichengq/219
...
raft: update unstable when calling stableTo with 0
2014-11-12 10:41:40 -08:00
Xiang Li
d494014782
Merge pull request #1679 from xiang90/peerurl
...
update peer url
2014-11-12 10:21:13 -08:00
Yicheng Qin
78cbb1512c
raft: nodes return sorted ids
...
This makes raft.softState return the same result when its soft state is
not changed.
2014-11-11 22:58:15 -08:00
Yicheng Qin
7dba92dd53
raft: update unstable when calling stableTo with 0
...
It should update unstable in this case because it may happen that raft
only writes entry 0 into stable storage.
2014-11-11 17:20:31 -08:00
Xiang Li
5967794009
*: support updating advertise-peer-url
...
Users might want to update the peerurl of the etcd member in several cases.
For example, if the IP address of the physical machine etcd running on is
changed, user need to update the adversite-pee-rurl accordingly.
This commit makes etcd support updating the advertise-peer-url of its members.
2014-11-11 12:07:03 -08:00
Xiang Li
f64963de88
raftpb: fix proto
2014-11-10 17:05:30 -08:00
Ben Darnell
21987c8701
raft: remove raftLog.resetUnstable and resetNextEnts
...
These methods are no longer used outside of tests and are redundant with
the new stableTo and appliedTo methods.
2014-11-06 17:18:00 -05:00
Xiang Li
3fc6f9c24f
Merge pull request #1586 from xiangli-cmu/fix_node
...
*: add Advance interface to raft.Node
2014-11-05 15:09:51 -08:00
Xiang Li
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
Jonathan Boulle
aa5711bd0f
Merge pull request #1595 from jonboulle/header
...
*: add copyright header to remaining files
2014-11-03 23:42:14 -08:00
Jonathan Boulle
f7434b55e5
*: add copyright header to remaining files
2014-11-03 23:29:15 -08:00
Xiang Li
5ead800ff5
Merge pull request #1572 from xiangli-cmu/raft_test
...
raft: add paper tests for section 5.4.1
2014-11-03 22:37:26 -08:00
Xiang Li
165ac654e8
raft: add paper tests for section 5.4.1
2014-11-03 15:50:56 -08:00
Xiang Li
dbdeceda7b
raft: do not load empty state and ents
2014-11-03 15:16:41 -08:00
Yicheng Qin
5bdf6a4110
Merge pull request #1528 from unihorn/191
...
raft: add tests based on section 5.3 in raft paper
2014-10-31 16:35:36 -07:00
Yicheng Qin
421d5fbe72
raft: add tests based on section 5.3 in raft paper
2014-10-31 16:32:34 -07:00
Xiang Li
816c173edf
Merge pull request #1526 from xiangli-cmu/leader_log
...
raft: better logging for leader transition
2014-10-30 10:13:58 -07:00
Jonathan Boulle
b99633207c
raft: minor cleanup in comments
2014-10-30 10:01:44 -07:00
Xiang Li
46ebf69c02
raft: better logging for leader transition
2014-10-30 09:33:38 -07:00
Jonathan Boulle
0cf0cb3d02
raft: add tests for progress.maybeDecr
2014-10-29 22:57:25 -07:00
Yicheng Qin
ccca32b138
Merge pull request #1497 from unihorn/189
...
raft: add tests based on section 5.1 in raft paper
2014-10-29 16:35:25 -07:00
Yicheng Qin
dabb5c150d
raft: add tests based on section 5.1 in raft paper
2014-10-29 16:22:17 -07:00
Xiang Li
738da2b3fa
raft: fix a incorrect in testMaybeAppend
2014-10-29 14:57:39 -07:00
Xiang Li
6375bd7960
Merge pull request #1469 from xiangli-cmu/raft_log_test
...
raft: add tests for maybeappend
2014-10-29 14:36:07 -07:00
Xiang Li
14f4163e41
raft: add several test cases for testMaybeAppend
2014-10-29 14:35:13 -07:00
Jonathan Boulle
81304b2b7e
raft: move test helper function into tests
2014-10-29 14:04:45 -07:00
Xiang Li
ad1718a3e5
raft: add a test case for testLogMaybeAppend
2014-10-29 11:44:18 -07:00
Yicheng Qin
35bba87d2a
Merge pull request #1471 from unihorn/189
...
raft: add tests based on section 5.2 in raft paper
2014-10-29 10:49:23 -07:00
Yicheng Qin
bffe611fe6
raft: add tests based on section 5.2 in raft paper
2014-10-29 10:17:09 -07:00
Xiang Li
c6873c1eab
raft: add tests for maybeappend
2014-10-28 15:07:49 -07:00
Brian Waldon
6796669484
raft: stop logging IDs with 0x prefix
2014-10-27 18:56:13 -07:00
Xiang Li
74c257f63d
Merge pull request #1419 from xiangli-cmu/raft_log_test
...
raft: add test for findConflict
2014-10-27 14:30:36 -07:00
Xiang Li
460d6490ba
raft: address issues in comments
2014-10-27 14:20:42 -07:00
Yicheng Qin
b986a52579
raft: use raft-specific rand.Rand instead of global one
2014-10-27 12:32:11 -07:00
Jonathan Boulle
6e6d1897d8
pkg: move everything into subpackages
2014-10-27 09:57:28 -07:00
Xiang Li
94f701cf95
raft: refactor isUpToDate and add a test
2014-10-25 20:34:14 -07:00
Xiang Li
8cd95e916d
raft: comments for isUpToDate
2014-10-25 20:12:54 -07:00
Xiang Li
86c66cd802
raft: remove unused code
2014-10-25 19:56:13 -07:00
Xiang Li
90f26e4a56
raft: add test for findConflict
2014-10-25 18:58:11 -07:00