Commit Graph

400 Commits

Author SHA1 Message Date
Steve Dee
399530d379 Use same election timeout always
In particular, we wait at least 150ms after starting up before declaring
an election, to give the old leader a chance to send us a heartbeat.
2014-03-10 16:25:48 -07:00
Steven Dee
6466a1760a Fix on linux, remove a debug printf 2014-03-10 23:18:58 +00:00
Steve Dee
f4f1c711d5 New event log format including term and type 2014-03-10 16:14:21 -07:00
Steve Dee
6a3a939c4a Fix for duplicate vote responses 2014-03-10 12:18:18 -07:00
Steve Dee
970c6d431f Fixes for dir syncing in raft leader mode 2014-03-10 12:10:17 -07:00
Steve Dee
ad70fa2380 Check for null vog_c 2014-03-10 11:52:49 -07:00
johncburnham
4cf71de3ce Merge pull request #123 from ngvrnd/master
Use of indent-relative until a better option is avaliable; disable tabs
2014-03-10 06:18:24 -07:00
nzc
8d9a26ef54 Suggest use of indent-relative as better than nothing; disable the use of tabs in indentation. 2014-03-10 09:10:28 -04:00
Steve Dee
a5b23546a6 Bump votes on restore 2014-03-07 19:25:03 -08:00
Steve Dee
139c46dd63 Fix revo logic 2014-03-07 19:16:08 -08:00
Steve Dee
be218d4f8a More aggressive reconnecting 2014-03-07 19:12:27 -08:00
Steve Dee
c5bb5bb5e7 Moronic key-value store
This is kind of dumb, but we need to persist stuff for Raft, and
we can't touch noun state from followers.
2014-03-07 19:12:27 -08:00
Steve Dee
8aa97708f4 Fix a stupid in c3_log_every 2014-03-07 19:12:21 -08:00
Steve Dee
1786c0a048 Cleanup 2014-03-07 16:47:30 -08:00
Steve Dee
7371ba09fc Fix a segfault on startup :( 2014-03-07 16:46:46 -08:00
Gavin Whelan
8eec695a92 Merge branch 'master' of github.com:urbit/urbit 2014-03-07 16:38:19 -08:00
C. Guy Yarvin
c0867ed70b Merge branch 'master' of github.com:urbit/urbit 2014-03-07 16:31:49 -08:00
Steve Dee
551f28b594 Log on bump to candidate 2014-03-07 16:26:15 -08:00
Steve Dee
f92eaf970c Clean up Raft options and init
I opted to keep u2_opts to just numbers, strings, and beans for now and
parse them to peer names in the Raft init code.
2014-03-07 16:19:38 -08:00
Steve Dee
e7f6270864 Rejigger boot sequence
The calls to u2_raft_work were effectless since the log hasn't been
initialized by that point.
2014-03-07 13:45:31 -08:00
Steve Dee
e43b99af67 Log killed connections 2014-03-07 13:24:33 -08:00
Steve Dee
3cda85ddc1 Longer heartbeat log interval 2014-03-07 12:26:34 -08:00
Steve Dee
71e67e7e9b Fix long line 2014-03-07 12:17:08 -08:00
Steve Dee
4287bad4df Remove trailing capnproto stuff 2014-03-07 12:09:52 -08:00
Steven Dee
207134db22 Merge branch 'fucking-raft' 2014-03-07 20:02:02 +00:00
Steven Dee
8ef45612dd Unsigned format specifiers 2014-03-07 20:01:09 +00:00
Steve Dee
3383de7938 Comments 2014-03-07 20:01:04 +00:00
Steve Dee
1e10cd5d95 Clean up connections
The code seems much less racy now.
2014-03-07 20:00:44 +00:00
Steven Dee
22ca1dfdf0 Rejigger connection killing 2014-03-07 20:00:44 +00:00
Steven Dee
53fafd25fd update -> note, and call it 2014-03-07 20:00:44 +00:00
Steven Dee
7c7c044525 Add ron_u->liv
This prevents us from double-killing connections in races, e.g. the
one between _raft_rest_name and _raft_connect_cb.
2014-03-07 20:00:44 +00:00
Steven Dee
1a2c9342bb Merge pull request #121 from sillsm/master
Travis CI support for GCC and Clang
2014-03-07 11:02:21 -08:00
sillsm
c0b85ea2a9 Support for GCC and CLANG 2014-03-07 13:56:16 -05:00
sillsm
be50f8ebc5 Added CI status notifier 2014-03-07 13:52:48 -05:00
sillsm
ebd3656f19 Update .travis.yml 2014-03-07 13:51:32 -05:00
sillsm
8261a2e65f Update .travis.yml 2014-03-07 13:43:49 -05:00
sillsm
72fc4800c4 Update .travis.yml 2014-03-07 13:40:59 -05:00
Steven Dee
ec7a08f6df Merge branch 'fucking-raft'
As of this commit, connection maintenance and leader election in
multi-instance raft mode are working. We don't sync events yet. We
also pick an inopportune time to boot -- since our boot process is
synchronous and generally takes longer than 300ms, the first thing
we do after becoming leader is go unavailable, causing a new leader
to be picked.

In other words, raft multi-instance mode isn't there yet. But
single-instance mode should be unaffected by any of this.
2014-03-06 10:56:20 -08:00
Steven Dee
60e63dd869 s/raft/sist/ 2014-03-06 10:53:32 -08:00
Steven Dee
faa8e67c50 Nuke c-capnproto 2014-03-06 10:50:27 -08:00
Steven Dee
e5a11b5aa0 Minor fixes and cleanup 2014-03-06 10:18:36 -08:00
Steve Dee
27e45b8c48 Fewer TODOs 2014-03-06 08:59:21 -08:00
Steve Dee
cc345da3e4 Clean up and dedup message writing 2014-03-06 08:59:21 -08:00
Steve Dee
9e2f12fb80 Leader election appears to work 2014-03-06 08:59:20 -08:00
Steve Dee
2e0f7df85c Duplex connections 2014-03-06 08:59:20 -08:00
Steve Dee
66fedab1fe Raft message sending working 2014-03-06 08:59:20 -08:00
Steve Dee
1ea754ef88 Some TODOs 2014-03-06 08:59:20 -08:00
Steve Dee
008558a1f7 WIP hand-rolled parsing, read side 2014-03-06 08:59:20 -08:00
Steve Dee
85c3cf4f5e Use uv_ip4_addr 2014-03-06 08:59:20 -08:00
Steve Dee
cc096a99af Comment log lines 2014-03-06 08:59:20 -08:00