Steve Dee
8703249546
Ignore revo from prior terms
2014-03-14 11:02:46 -07:00
Steve Dee
607c83d683
Various fixes and cleanups
2014-03-14 11:02:45 -07:00
Steve Dee
ba71f7ca11
Trailing whitespace cleanup, C level
2014-03-14 10:50:12 -07:00
Steve Dee
0f64d9b859
Fix _http_bods_free
2014-03-13 11:29:14 -07:00
Steve Dee
2d1cab488c
Fix leak in u2_raft_work
2014-03-13 11:26:27 -07:00
Steve Dee
079c4f7696
Remove useless assert...
2014-03-12 11:54:14 -07:00
Steve Dee
b71e6f161d
Remove old fprintf
2014-03-12 11:52:11 -07:00
Steve Dee
27ec17b711
TODOs
2014-03-12 11:35:30 -07:00
Steve Dee
c56cfccc7d
Bail instead of exit
2014-03-12 11:35:30 -07:00
Steve Dee
e787049b65
Clean up timer logic
2014-03-12 11:35:29 -07:00
Steve Dee
1627b6e78c
More intelligently load from sist
2014-03-12 11:35:26 -07:00
~hatteb-mitlyd
cff116fa0c
don't leak
2014-03-11 14:20:27 -07:00
~hatteb-mitlyd
6e00220193
avoid responding to a dead http req
2014-03-11 14:11:03 -07:00
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
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
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
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
60e63dd869
s/raft/sist/
2014-03-06 10:53:32 -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
Steve Dee
f17f0add72
More sanity checking and cleanup
2014-03-06 08:59:20 -08:00
Steve Dee
af91e4a2c1
WIP more work
2014-03-06 08:59:20 -08:00
Steve Dee
d045f31f23
Rejigger the event loop again
2014-03-06 08:59:20 -08:00
Steve Dee
3f7e6d5e94
More work
2014-03-06 08:59:20 -08:00
Steve Dee
abc5d4fb0d
More work
2014-03-06 08:59:19 -08:00
Steve Dee
5507162089
Comments
2014-03-06 08:59:19 -08:00
Steve Dee
424af0354d
WIP Raft network base
2014-03-06 08:59:19 -08:00
Gavin Whelan
c85fd1fe35
Fixed Linux specific bug causing lack of stack overflow traces.
2014-03-04 14:48:59 -08:00
C. Guy Yarvin
3b98f316a0
Various fixes and improvements.
2014-03-04 11:17:34 -08:00
C. Guy Yarvin
dd4a42b345
Some HTTP client fixes.
2014-03-03 11:51:35 -08:00
C. Guy Yarvin
3400b6bacb
Working HTTP client.
2014-03-02 14:31:03 -08:00
C. Guy Yarvin
16dd948e7d
Attempted fix to an intermittent sync event bug.
2014-02-27 10:33:20 -08:00
C. Guy Yarvin
a7055224fa
Various HTTP client fixes.
2014-02-26 17:58:40 -08:00
C. Guy Yarvin
af81e7c7b4
Trivial test cahnge.
2014-02-26 16:42:43 -08:00
C. Guy Yarvin
54ed2bdcb0
More C files.
2014-02-26 16:40:53 -08:00
C. Guy Yarvin
cc255a4c49
New cttp file.
2014-02-26 16:39:48 -08:00
Steve Dee
edc28b9ba7
Get new event loop working with checkpoints
...
Modifying u2_reck is a bad idea in the face of checkpoints. Just stick
everything on roe. This actually cleans up the logic a bit -- we can
execute non-core-modifying actions immediately, rather than on the next
tick.
2014-02-25 12:18:18 -08:00
Steve Dee
d7e4c46150
Revert "Revert "Merge remote-tracking branch 'urbit/master' into master""
...
This reverts commit dc6f72fa0a8ff2097b1e9c900ebec444c0d4c24f.
2014-02-25 12:18:07 -08:00
Steve Dee
de5048e895
Revert "Merge remote-tracking branch 'urbit/master' into master"
...
This reverts commit d52d2835b96f89e7ebbe5392c99f1483d165ee0b, reversing
changes made to 58838ea246e52c064719edc56e29b6a1ba713fdf.
Conflicts:
Makefile
2014-02-24 11:27:57 -08:00
Steve Dee
9b992ae438
Merge remote-tracking branch 'urbit/master' into master
...
Conflicts:
v/loop.c
2014-02-24 10:45:10 -08:00
Steve Dee
d83f057881
bail instead of exit from boot
...
Fixes terminal state not being reset on boot error. We pre-initialize
pig to prevent warnings since gcc doesn't understand that u2_lo_bail
exits.
2014-02-24 10:40:52 -08:00
Steve Dee
284811c92b
Assert single-instance mode on push
2014-02-24 10:31:38 -08:00
Steve Dee
6143fe46b2
Back out log format version bump
2014-02-24 10:29:08 -08:00
Steve Dee
242e888c2c
Get entry number from raft data structure directly
2014-02-24 10:17:26 -08:00
Steve Dee
575f28cef0
Commit on next libuv cycle in single-instance mode
2014-02-19 13:57:17 -08:00
Steve Dee
2fc0ccf2d1
Fix event playback
2014-02-19 11:51:44 -08:00
Steve Dee
a957cd649e
WIP cleanup and fixes
2014-02-18 16:48:46 -08:00
C. Guy Yarvin
4e42621b93
Add gc in restore.
2014-02-17 22:29:23 -08:00
Steve Dee
e0e37cc569
Splinter disk persistence and reck stuff back out
2014-02-17 18:21:24 -08:00
Steve Dee
704dfd6d85
Write term and log type, in preparation for raft
2014-02-17 17:56:42 -08:00
C. Guy Yarvin
6c22acbfa7
Some memory palliatives.
2014-02-14 17:35:22 -08:00
Steve Dee
6182bd7d14
New event loop working, super rough cut
2014-02-14 15:15:38 -08:00
Steve Dee
27b50018a4
More loop -> raft, add u2_raft_boot
2014-02-12 17:27:09 -08:00
Steve Dee
2d5f78e39a
WIP Move lug_u to u2_raft
2014-02-12 11:50:24 -08:00
Steve Dee
5db81ccab7
Trivial fixups
2014-02-12 11:50:05 -08:00
Steven Dee
53735a8b33
Fixes to our hi/lojack logic
...
This doesn't actually fix the prompt-eating bug, but it sure looks like
it ought to, doesn't it?
2014-02-12 18:06:49 +00:00
Steve Dee
0ccaadd10b
WIP raft single instance
...
Shove all our disk stuff crudely into raft.c.
2014-02-11 17:14:25 -08:00
Steve Dee
28fe4ec482
WIP rafty loop.c
...
_lo_save() sticks events on roe for processing in later calls to
_lo_work().
2014-02-11 13:13:30 -08:00
Steve Dee
580a7323f4
WIP Make _lo_work rafty
...
Carts are now batches of events waiting to be or just recently
persisted. _lo_work calls u2_reck_kick on the last batch of events,
removes every batch that's been through Raft, and then prepares the next
batch.
TODO make _lo_punk et al stick things on roe
TODO move disk persistence to raft.c
TODO raft_push: lo_open / mark / lo_shut
2014-02-11 12:57:41 -08:00
Steve Dee
d69aaf1491
Make u2_reck_plan push to roe
2014-02-10 16:07:22 -08:00
Steve Dee
85085f713e
Move srand call, seed from pid
2014-02-10 16:07:22 -08:00
Steve Dee
5a16660af1
Skeleton for raft
2014-02-10 16:07:09 -08:00
Steve Dee
6df5fb3155
New-style raft options
2014-02-05 15:25:57 -08:00
Steve Dee
c91e950eb7
Add raft listener/peers
2014-02-05 15:25:57 -08:00
Steve Dee
fc51f17322
Add _main_readw
2014-02-05 15:25:57 -08:00
Curtis Yarvin
d5421bf717
Fix -I.
2014-02-03 21:55:19 +00:00
C. Guy Yarvin
a5fee9936b
Various fixes and improvements.
2014-01-27 11:09:56 -08:00
Curtis Yarvin
00e218d76e
Merge branch 'master' of github.com:urbit/urbit
2014-01-27 18:49:07 +00:00
Curtis Yarvin
ae489b86da
Quick 64-bit fixes.
2014-01-27 18:48:55 +00:00
Steven Dee
1ab1528749
Warn about unset URBIT_HOME
2014-01-26 21:31:48 -08:00