Commit graph

1157 commits

Author SHA1 Message Date
Scott Lystig Fritchie
cc6988ead6 WIP: more restructuring 2015-04-20 18:38:32 +09:00
Scott Lystig Fritchie
36ce2c75bd WIP: more restructuring 2015-04-20 17:27:16 +09:00
Scott Lystig Fritchie
7badb93f9a WIP: more restructuring 2015-04-20 17:16:04 +09:00
Scott Lystig Fritchie
d90d11ae7d Cut out "The safety of epoch transitions" section (commentary follows)
I don't want to cut this section, because the points that it makes are
important ... but those points aren't a good fit for the purposes of this
document.  If someone needs some examples of why badly managed chain
replication can lose data, this is the section to look in.  ^_^
2015-04-20 16:54:55 +09:00
Scott Lystig Fritchie
451d7d458c WIP: more restructuring 2015-04-20 16:54:00 +09:00
Scott Lystig Fritchie
ed6c54c0d5 WIP: integration of chain-self-management-sketch.org into high-level-chain-mgr.tex 2015-04-20 15:56:53 +09:00
Scott Lystig Fritchie
3a0fbb7e7c Add the 1st draft of high-level-machi.pdf 2015-04-20 12:54:05 +09:00
Scott Lystig Fritchie
60dfff0c86 Type up Friday's edits 2015-04-20 12:46:39 +09:00
Scott Lystig Fritchie
55492c1cac Update on the status of prototype/chain-manager code: now moved to TOP/src on 2015-04-18 01:42:47 +09:00
Scott Lystig Fritchie
8c85f925ab Merge branch 'master' of github.com:basho/machi 2015-04-18 01:07:17 +09:00
Scott Lystig Fritchie
ed5a4e0423 Merge branch 'slf/otp-refactoring-step3' 2015-04-18 01:05:38 +09:00
Scott Lystig Fritchie
62d3dadf98 Doc split to high-level-chain-mgr.tex finished
All of the major surgery required to move Chain Manager design & discussion
details out of the high-level-machi.tex document are complete.  I've done
only a very small amount of work on the original high-level-machi.tex to
fix document flow problems.

There's probably a good way to have LaTeX automatically manage the
mutual references between the now-split documents, but I didn't know about,
sorry.
2015-04-17 16:39:38 +09:00
Scott Lystig Fritchie
70f3c02644 Base high level design doc, prior to splitting
Major changes, when compared to the original Basho-internal document:

* Start removing strong consistency topics to a separate doc (unfinished)
* Remove section on per-file metadata management: it was too speculative IMHO
* Remove the following sections (numbering is relative to v3 of internal doc):
  7.2.1 scenario 1, 13.3, 14
* Move the "Recommended Reading" section to the end
2015-04-17 16:38:35 +09:00
Scott Lystig Fritchie
dec70c5bd9 Attempt to add correct orgmode link to chain-self-management-sketch.Diagram1.pdf 2015-04-16 10:23:44 +09:00
Scott Lystig Fritchie
cf01f0afd2 Attempt to add correct orgmode link to chain-self-management-sketch.Diagram1.pdf 2015-04-16 10:22:34 +09:00
Scott Lystig Fritchie
02bc7fe0bc WIP: Fix bug that flaps inside an inner projection, oops! 2015-04-14 18:23:00 +09:00
Scott Lystig Fritchie
90df655256 WIP: Ha! There's a bug, this verbose logging change made it easier to see 2015-04-14 16:38:19 +09:00
Scott Lystig Fritchie
9e587b3d11 WIP: crufty TODO & comment cleanup 2015-04-14 16:17:49 +09:00
Scott Lystig Fritchie
59936eda62 WIP: By Jove, I believe the chain manager is working 2015-04-14 15:30:24 +09:00
Scott Lystig Fritchie
09051aecce WIP: experiments for transitioning out of inner/nested projection state 2015-04-14 00:54:38 +09:00
Scott Lystig Fritchie
7eead876c8 Merge branch 'slf/otp-refactoring-step2' (more commentary follows)
It's Friday, so this is an end-of-week merge.  This week has focused
on the chain manager.   I ended up doing more refactoring than I'd
expected in order to lift it out of it's "one node, talk to everything
by distributed Erlang, run inside a not-quite-PULSE-but-still-quite-
restricted simulator" and into some OTP sunlight + communicate by
generic point-to-point TCP connections (same ASCII protocol as
demo day, no change there) + capable of running without all of the
simulator control.

I'm happy to say that it appears to work as well as it does inside
of the simulator.  Having said that, the branch of experimental
work that I chose to integrate has some problems making transitions
when asymmetric network splits happen.  But those appear fixable.
Next week.  ^_^
2015-04-10 22:54:32 +09:00
Scott Lystig Fritchie
94298d90da WIP: transitions into & out of inner proj nesting are problems, yo! 2015-04-10 22:41:22 +09:00
Scott Lystig Fritchie
67e5795edd Update rebar 2015-04-10 22:01:12 +09:00
Scott Lystig Fritchie
0b8ea13f7a WIP: some TODO cleanup & related refactoring 2015-04-10 22:00:52 +09:00
Scott Lystig Fritchie
876bf79835 Add debugging & TODO note about using inner projection 2015-04-10 14:15:16 +09:00
Scott Lystig Fritchie
4334c71a4d WIP: compiler warning fixups 2015-04-10 11:08:17 +09:00
Scott Lystig Fritchie
4f7177067e WIP: Type fixups 2015-04-09 21:32:04 +09:00
Scott Lystig Fritchie
1984c3c350 WIP: convergence demo runs, but badly! 2015-04-09 21:08:15 +09:00
Scott Lystig Fritchie
2b1eb9b144 WIP: Move convergence demo to new module machi_chain_manager1_converg_demo.erl 2015-04-09 18:08:29 +09:00
Scott Lystig Fritchie
6cd9dfc977 WIP: nonunanimous_setup_and_fix_test() passes 2015-04-09 17:47:43 +09:00
Scott Lystig Fritchie
e06adabb6a WIP: bogus flapping in nonunanimous_setup_and_fix_test() 2015-04-09 17:13:38 +09:00
Scott Lystig Fritchie
8deea3bb01 WIP: smoke1 in chain manager works 2015-04-09 14:44:58 +09:00
Scott Lystig Fritchie
a92c5fec0a WIP: remove old smoke0 code from machi_proxy_flu1_client_test.erl 2015-04-09 12:21:15 +09:00
Scott Lystig Fritchie
ce67fb662a WIP: more projection refactoring, eunit tests pass for the moment 2015-04-09 12:16:58 +09:00
Scott Lystig Fritchie
0b2866d102 Add -spec statements to machi_util.erl, clean up the fallout 2015-04-08 18:39:55 +09:00
Scott Lystig Fritchie
ad9525c567 Add doc/README.md 2015-04-08 18:08:48 +09:00
Scott Lystig Fritchie
e0cabf3cb6 Remove 'edoc' dir: it's moved to gh-pages 2015-04-08 17:58:49 +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
0e38eddaa9 WIP: baby step, machi_chain_manager1_test:smoke0_test() works 2015-04-06 20:07:39 +09:00
Scott Lystig Fritchie
18ecbbf0bc Now working on slf/otp-refactoring-step2 branch 2015-04-06 18:50:43 +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
1d63b93fc0 Kill append, projection, and listen pids on machi_flu1:stop() 2015-04-06 16:49:17 +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
99bfa2a3b8 Import of machi_chain_manager1.erl and friends; tests broken 2015-04-06 14:16:20 +09:00
Scott Lystig Fritchie
d2c2929084 Merge branch 'slf/otp-refactoring-step1' (merge comments follow)
This finishes the first stage of making an OTP-style application
out of the `prototype/demo-day` code. The process structure is not
fully OTP compliant. I'm not sure if I really want it to be 100%
OTP style, but that decision can be deferred for a little while
yet.

There are probably "bugs" with brick shutdown, such as process
leaks. That ought to be fixed someday. The use of the Erlang process
registry for finding writer/sequencer processes is nifty (for a
quick hack), but it also leaks atoms (not good for long-term use).
2015-04-06 12:21:07 +09:00
Scott Lystig Fritchie
f18ce1f842 Minor update of top README.md 2015-04-03 18:41:37 +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