Scott Lystig Fritchie
72bfa163ba
Small test bugfixes & verbose/debugging cruft
2015-09-19 14:16:54 +09:00
Scott Lystig Fritchie
d695f30e4f
Avoid using host/port combo for machi_fitness (ab)use of machi_projection
2015-09-17 16:43:08 +09:00
Scott Lystig Fritchie
fdf78bdbbc
Tweak IsRelevantToMe_p in B10 (more)
...
Last night we hit a rare case of failed convergence.
f was out of sync with the rest of the world.
f: upi=[b,g,f] repairing=[a,c]
The "rest of the world" used a larger chain at:
*: upi=[c,b,g,a], repairing=[f]
And f refused to join the larger chain because of the way that
IsRelevantToMe_p was being calculated before this commit.
Hrrrm, though, I'm not convinced that this particular problem
is fixed 100% by this patch. What if the chain lengths were
the same but also UPI incompatible? e.g. if I remove 'a' from
the "real world (in the partition simulator)" example above:
f: upi=[b,g,f] repairing=[c]
*: upi=[c,b,g], repairing=[f]
Hrmmmmm, I may need to reintroduce the my-recent-adopted-projection-
flapping-like-counter thingie to try to break this kind of
incompatible deadlock.
2015-09-14 13:40:34 +09:00
Scott Lystig Fritchie
19ce841471
Merge slf/chain-manager/cp-mode (fix conflicts)
2015-07-17 16:39:37 +09:00
Scott Lystig Fritchie
f2fc5b91c2
Add more PULSE instrumentation -> more deadlocks
2015-07-16 16:25:38 +09:00
Scott Lystig Fritchie
2b64028bbd
Add kick_projection_reaction, implement yo:tell_author_yo()
2015-07-03 04:30:05 +09:00
Scott Lystig Fritchie
e3b80c6ac2
Docuemntation updates
2015-06-30 19:04:23 +09:00
Scott Lystig Fritchie
3d2b49b7e5
WIP: refactoring & edoc'ing
2015-06-30 15:20:35 +09:00
Scott Lystig Fritchie
151e696324
WIP: yank out more unused cruft
2015-06-29 17:14:33 +09:00
Scott Lystig Fritchie
87ec988353
WIP: yank out more unused cruft
2015-06-29 17:06:28 +09:00
Scott Lystig Fritchie
d54c74f58a
WIP: yank out io:format
2015-06-29 16:53:41 +09:00
Scott Lystig Fritchie
7aff9fca70
WIP: giant hairball 12
2015-06-29 16:42:05 +09:00
Scott Lystig Fritchie
b25ab3b7ac
WIP: giant hairball 11
2015-06-29 16:24:57 +09:00
Scott Lystig Fritchie
2fd27fdae6
WIP: hairball, but flu_projection_smoke_test() works!
2015-06-26 23:58:34 +09:00
Scott Lystig Fritchie
93f64a20c0
WIP: hairball, but flu_smoke_test() works!
2015-06-26 23:03:28 +09:00
Scott Lystig Fritchie
920a5c33d7
WIP: giant hairball 6
2015-06-26 22:32:53 +09:00
Scott Lystig Fritchie
77b4da16c3
WIP: giant hairball 5
2015-06-26 21:36:07 +09:00
Scott Lystig Fritchie
9a212fb19f
WIP: giant hairball 4
2015-06-26 20:47:55 +09:00
Scott Lystig Fritchie
fb975eea46
WIP: giant hairball
2015-06-26 16:58:24 +09:00
Scott Lystig Fritchie
6d95d8669c
WIP: giant hairball, bleh, low-level checksum_list() barely working
2015-06-26 16:25:12 +09:00
Scott Lystig Fritchie
5d8b648a24
All projection store protocol operations are now using Protocol Buffers!
...
So, there's some cheating going on, because some of the parts of
the #projection_v1{} and #p_srvr{} records aren't fully specified.
Those parts are being specified as "opaque" in the field names, e.g.
optional bytes opaque_flap = 10;
optional bytes opaque_inner = 11;
required bytes opaque_dbg = 12;
required bytes opaque_dbg2 = 13;
The serialization that's being used is erlang term sexprs. That isn't
portable. So if/when we really need to deal with a non-Erlang
language, we'll have to straighten this out further.
2015-06-25 15:26:35 +09:00
Scott Lystig Fritchie
4fc0578a9d
WIP: bugfixes, machi_flu1_test still broken
2015-06-25 15:08:40 +09:00
Scott Lystig Fritchie
d9407b76b7
WIP: dinnertime, machi_flu1_test still broken
2015-06-24 18:00:25 +09:00
Scott Lystig Fritchie
31c5bcc0c7
WIP: 1/2 of low-level projection proto finished, machi_flu1_test fails
2015-06-24 17:20:18 +09:00
Scott Lystig Fritchie
5ef499ec73
WIP: append_chunk #1
2015-06-23 14:08:10 +09:00
Scott Lystig Fritchie
0cdaee32f8
Egadz, edoc doesn't use preprocessor {sigh}
2015-06-19 16:24:57 +09:00
Scott Lystig Fritchie
984b4f7a86
Dialyzer tightening and subsequent cleanup
2015-06-19 16:04:34 +09:00
Scott Lystig Fritchie
e3162fdcda
Rudimentary client-side checksum and server-side checksum type tags
2015-06-01 14:25:55 +09:00
Scott Lystig Fritchie
69244691f4
Such wonder when one *reads* the docs...
2015-05-20 14:12:48 +09:00
Scott Lystig Fritchie
152e487060
WIP: read-repair, new test is failing, yay
2015-05-19 15:15:05 +09:00
Scott Lystig Fritchie
f7274e7106
WIP: brute-force read-repair
2015-05-18 23:26:21 +09:00
Scott Lystig Fritchie
185c670b2f
WIP: refactoring machi_cr_client:append_chunk*
2015-05-18 19:06:06 +09:00
Scott Lystig Fritchie
10364834de
Add a dummy client-side implementation module:machi_yessir_client.erl
2015-05-17 19:00:51 +09:00
Scott Lystig Fritchie
d4080b78d8
WIP: rearrange client code to approach some semblance of modularity someday
2015-05-17 16:46:50 +09:00
Scott Lystig Fritchie
a06055ac23
WIP: rearrange client code to approach some semblance of modularity someday
2015-05-17 16:18:30 +09:00
Scott Lystig Fritchie
6c07522359
Add new API func, append_chunk_extra()
2015-05-17 14:10:42 +09:00
Scott Lystig Fritchie
19d3c95325
WIP: aside, damn, add missing hex encoding for epochid, derp
2015-05-13 18:57:38 +09:00
Scott Lystig Fritchie
8807f954ff
WIP: Whole file repair is 95% complete, yay!
2015-05-12 21:45:40 +09:00
Scott Lystig Fritchie
dc43a32945
WIP: tests for wedge state all working
2015-05-08 21:37:19 +09:00
Scott Lystig Fritchie
316126fa59
WIP: additional tests for wedge state
2015-05-08 19:07:57 +09:00
Scott Lystig Fritchie
d6d003618d
WIP: add wedge_status() query to proxy client
2015-05-08 16:58:06 +09:00
Scott Lystig Fritchie
1dc759b908
WIP: add wedge_status() query to client
2015-05-08 16:53:10 +09:00
Scott Lystig Fritchie
ad872e23ca
Add first basic round of EDoc documentation, 'make edoc' target
2015-04-08 17:32:01 +09:00
Scott Lystig Fritchie
16e283fe5b
API overhaul, add machi_proxy_flu1_client.erl, add chain manager (tests commented out)
2015-04-06 18:43:52 +09:00
Scott Lystig Fritchie
a79f385fa7
Fix type problem for return of get_latest_epoch
2015-04-06 15:49:47 +09:00
Scott Lystig Fritchie
c27aa1f579
Projection store API complete, I think
2015-04-03 18:37:09 +09:00
Scott Lystig Fritchie
022b9c4d1f
WIP: projection store: read, get latest epoch
2015-04-03 17:55:35 +09:00
Scott Lystig Fritchie
acf54e3c21
WIP: client side projection store, 1st API op (write), part II
2015-04-03 17:10:52 +09:00
Scott Lystig Fritchie
7205c5283e
WIP: client side projection store, 1st API op (write)
2015-04-03 12:36:16 +09:00
Scott Lystig Fritchie
7627ba08a3
WIP: epoch ID added to write/delete/trunc protocol commands
2015-04-02 21:18:41 +09:00