Commit Graph

3451 Commits

Author SHA1 Message Date
Steve Dee
afa1c641e9 Start ent_w at 1
Also, increment our sequence numbers if we have to.
2014-03-11 07:46:32 -07:00
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