Commit Graph

86 Commits (7ace10f7e6a4b362502eabc3588ece157f00d770)

Author SHA1 Message Date
Ben Johnson 64cc1fb0f6 Lower wait interval to speed up tests. 2015-02-21 08:19:28 -07:00
Ben Johnson a7a8e0bba4 Fix candidate heartbeat step down. 2015-02-20 13:52:45 -07:00
Ben Johnson 9ff2969d38 Add set up code for raft internal tests. 2015-02-20 13:52:12 -07:00
Ben Johnson 02764a8a12 Fix raft last log index. 2015-02-20 11:02:30 -07:00
Ben Johnson 88ef9948c5 minor raft fixes 2015-02-19 11:24:23 -07:00
Ben Johnson be22933c49 Additional raft fixes. 2015-02-18 15:37:42 -07:00
Ben Johnson f6ceb9bd32 Refactor raft state handling.
This commit changes the state handling of the raft log. The actions
for related to each raft state are strictly confined within that state's
loop. To transition between states, the raft log now much clean up all
its actions before moving on.

This fixes issues where goroutines were kicked off for one state but
were delayed in their scheduling so they would begin after the log
had already changed to another state.
2015-02-16 15:45:37 -07:00
Ben Johnson d2fb16e901 Clarify quorum code. 2015-02-06 17:50:03 -07:00
Ben Johnson 57c14987a6 Raft package fixes.
This commit includes various fixes to improve the stability of the raft package tests and benchmarks.
2015-02-06 12:46:50 -07:00
Ben Johnson 9c66efa015 Clarify raft trace logging. 2015-02-05 07:35:08 -07:00
Ben Johnson 6c14371df4 Refactor raft package.
This commit refactors the raft package to more loosely couple the individual parts. The clock is now broken into
an interface that signals individual actions in the log. The transport has been mocked to allow more control over
the log tests. The handler's log has been mocked to separate its testing from the log itself.
2015-02-04 18:59:06 -07:00
Philip O'Toole 9943f86cf4 Enable module-level logging 2015-01-29 15:07:58 -08:00
Ben Johnson 3601c3c79f Fix restarts and broker redirection. 2015-01-28 01:09:50 -05:00
Cory LaNou 639ee30d79 WriteEntryTo -> WriteEntriesTo 2015-01-13 11:27:49 -07:00
Cory LaNou b815cb5689 go vet without arguments will now pass cleanly 2015-01-13 11:15:45 -07:00
Ben Johnson 50a0826026 Add broker snapshot/restore and CLI join. 2015-01-06 17:21:32 -07:00
Philip O'Toole 3ab0c5b270 Add logging of Raft initialization 2014-12-19 16:18:01 -05:00
Philip O'Toole 72d73b800c Use existing config variable, not a new one
Without this, log remained closed. Always.
2014-12-19 13:08:09 -05:00
Ben Johnson 5fe566466e Add messaging and raft test coverage. 2014-11-12 22:32:42 -07:00
Ben Johnson ab0efbe677 Config encoding fixes. 2014-11-11 21:14:32 -07:00
Ben Johnson 4ac988b483 Improve test coverage, elections. 2014-09-28 11:38:08 -06:00
Ben Johnson a90622bf04 Refactor election code. 2014-09-27 17:28:03 -06:00
Ben Johnson 3a1b8b1a22 Replace simulation test coverage. 2014-09-27 16:24:59 -06:00
Ben Johnson a175bcce34 Simulation testing changes. 2014-09-26 14:50:41 -06:00
Ben Johnson 87499cab1b Move config and encoding into different files. 2014-09-24 17:47:10 -06:00
Ben Johnson 3a7ef7684f Refactor simulation testing framework. 2014-09-24 17:15:21 -06:00
Ben Johnson 425bd0aa2e Fix race conditions, tests. 2014-09-22 19:43:15 -06:00
Ben Johnson 04a7ea32ae Refactor in-memory entries, add snapshotting. 2014-09-19 18:32:53 -06:00
Ben Johnson d16d11c47e raftbench and log optimization. 2014-09-17 10:08:47 -06:00
Ben Johnson ad735ad1cd Add raftbench CLI. 2014-09-15 19:29:25 -06:00
Ben Johnson cbc84636de Basic multi-node simulation testing. 2014-09-13 18:12:32 -06:00
Ben Johnson 14135c4fe2 Configuration management. 2014-09-10 18:28:12 -06:00
Ben Johnson aa514f6849 Add HTTP handler, begin multi-node testing. 2014-09-09 17:01:48 -06:00
Ben Johnson 7d4c3e9c6f Add single node simulation. 2014-09-08 15:39:05 -06:00
Ben Johnson 44a5f90acf Rough log segment read/write. 2014-09-06 21:10:06 -06:00
Ben Johnson b4acaafca0 Basic structure, encoder, decoder. 2014-09-03 16:07:39 -06:00