Scott Lystig Fritchie
4d3a9ed757
WIP: Per notes: change unanimous test @ A20. Improvement!
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
201108ec5b
Temp WIP: Change network partitions to be bi-directional only
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
6ef46a3464
Temp WIP: I am going to sever the connection between the flowchart and the code. TODO
...
That diagram is really valuable, but it also takes a long time
to make any kind of edit; the process is too slow. This is a todo
item a reminder that the flowchart is important documentation and
must be brought back into sync with the code soon.
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
9404e954e7
WIP: chain mgr clutter, trying to debug infinite loop
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
fd1b4363b9
WIP: chain manager getting better, but occasionally gets infinite loop (II)
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
67f94d1cff
WIP: chain manager getting better, but occasionally gets infinite loop
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
2f54525422
Fix chain mgmt flowchart A40 conditions (II)
2015-03-02 20:20:18 +09:00
Scott Lystig Fritchie
c1fd3df35d
Fix chain mgmt flowchart A40 conditions
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
12d8a94497
Add reminder about chain manager init bootstrapping TODO
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
064b637d81
Remove docs/machi/flowchart-machi-chain-mgmt1.jpg
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
83e4937658
Chain manager projection store flowchart implemented & passes smoke test!
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
8faa1404c6
Remove unused prev_epoch_num and prev_epoch_csum
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
9af576d753
WIP: broken, don't use
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
cbc5260e93
WIP: Chain manager projection store flowchart goop draft 2
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
dbcc87b4a4
WIP: Chain manager projection store flowchart goop
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
ca5ddb2cf1
WIP: chain mgmt prototype scaffolding 9: before start of next simulator stage
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
0a77c09779
Fix non-TEST compilation problem
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
67b661494e
WIP: chain mgmt prototype scaffolding 8: basic read repair done
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
932b6afb76
WIP: chain mgmt prototype scaffolding 7: inching better
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
616a11e230
WIP: chain mgmt prototype scaffolding 6: refactoring
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
e5b9230af0
WIP: chain mgmt prototype scaffolding 5: before refactor & continuing
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
b757878c81
WIP: chain mgmt prototype scaffolding 4: uncompileable at the moment
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
dfbbaf6bfe
WIP: chain mgmt prototype scaffolding 3
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
63d23330b2
WIP: chain mgmt prototype scaffolding 2
2015-03-02 20:20:17 +09:00
Scott Lystig Fritchie
add6f421aa
WIP: chain mgmt prototype scaffolding 2
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
9c04537497
WIP: chain mgmt prototype scaffolding
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
3e499e241a
WIP: Fix flu0 name registration
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
500a13a01d
WIP: Machi chain management PULSE prototype work
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
b41dbffe95
Cruft cleanup
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
5e49bd6c29
WIP: Machi chain management PULSE prototype work
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
e9ea20e941
Move to private proj store for eunit tests
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
ddce145bfb
Add public/private split in projection store of machi_flu0.erl
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
fd7dad0714
Coverage is about as good as it's going to get
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
da2bad564f
Getting closer to understanding why test coverage appears so poor, part 2
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
342a972543
Getting closer to understanding why test coverage appears so poor
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
b4f2d314c7
More single chain manager simulation tests
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
e717d797b3
Move almost all test code to test/* modules
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
01e3325b81
Tiny refactoring of random number gen
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
d2f93e919e
Single chain manager simulation test: no bad projection transitions!
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
057f958bb1
WIP: chain manager simulation test
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
410c8ff7ce
WIP: chain manager simulation test
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
b8c87b23ad
WIP: chain manager simulation test
2015-03-02 20:20:16 +09:00
Scott Lystig Fritchie
4ebc80dc39
Add src/machi_util.erl
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
a81552ed82
Makefile un-derp'ing
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
a5dc72834f
Fix proj0_test for concuerror, yay!
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
4969e019b2
Fix proj0_test for concuerror, yay!
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
e50e669b79
TODO left off here
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
97c5789b44
WIP: eunit tests pass, but Concuerror loops forever then errs on max retries on proj0_test
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
f7447e8953
WIP: done (I hope) adding Lamport clocks
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
ee7bc2645b
WIP: in the middle of adding Lamport clocks
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
b443a15542
register op name sanity: write and _read_
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
921d90a69b
WIP: enforce wedging and new projection writes
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
bebce51ab9
WIP: minimal write-once projection store in FLU
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
34c8c6490a
WIP: add Name arg to start_link()
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
2d3a29471d
Minimal FLU0 single register, plus Concuerror tests
2015-03-02 20:20:15 +09:00
Scott Lystig Fritchie
f378204a91
Add fledgling log implementation based on CORFU papers (corfurl stuff)
2015-03-02 20:20:07 +09:00
Scott Lystig Fritchie
370f70303d
Merge branch 'merge/tango-prototype'
2015-03-02 20:07:25 +09:00
Scott Lystig Fritchie
94ebd4bb6f
Rename prototype/tango-prototype -> prototype/tango
2015-03-02 20:06:45 +09:00
Scott Lystig Fritchie
3f3f3e4f5d
Update README.tango.md with latest checkpoint implementation fix notes
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
c5ed355dac
Rename tango readme
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
8da46f78fe
BAH! Checkpoint is quite broken, see new README.tango.md
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
7bf98fa648
All tests pass, but checkpointing does not truncate history
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
fed2f43783
WIP: all but queue checkpointing now passes
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
0b3bb3ee7c
WIP: tango_oid_test now passes
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
a0bb7ee23d
WIP: tango_oid refactoring, all broken: infinite loop
2015-03-02 20:03:46 +09:00
Scott Lystig Fritchie
9a3ac02413
WIP: first round of tango_oid refactoring, all broken horribly
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
03f071316c
Gadz, more sequencer cleanup. corfurl_test now passes
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
30fc62ab22
Gadz, more sequencer cleanup. corfurl_sequencer_test now passes
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
b8c051c89f
Fix broken sequencer semantics.
...
It occurred to me today that I implemented the sequencer incorrectly and
hadn't yet noticed because I don't have any tests that are
complex/interleaved/perhaps-non-deterministic to find the problem.
The problem is that the sequencer's current implementation only keeps
track of the last LPN for any Tango stream.
The fix is to do what the paper actually says: the sequencer keeps a
*list* of the last $K$ LPNs for each stream. Derp. Yes, that's really
necessary to avoid a pretty simple race condition with 2 actors
simultaneously updating a single Tango stream.
1st commit: fix the implementation and the smoke test. The
broken-everything-else will be repaired in later commits.
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
940012cef1
Add checkpoint support for tango_dt_map
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
4cf8ac7ed8
Add checkpoint support for tango_dt_queue
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
970eb263db
Fix bug in backpointer handling, derp!
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
004a18d948
Add checkpoint support for tango_dt_register
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
7b9c94553c
Add skeleton support for single-page checkpointing
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
1c1e1368dd
Added src/tango_dt_queue.erl plus test
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
6caeaeb6b5
Ha! Damn quick and easy to add tango_dt_map.erl
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
df53ec0a4e
Refactor register DT into tango_dt.erl and tango_dt_register.erl
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
c068057c96
Add missing func corfurl_client:append_page/3, then fix tango_dt_register_test
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
cdeddbb582
Heh, demonstrate a concurrency bug that I knew was there, yay, fixit time!
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
18b38c249e
First draft of tango_dt_register
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
6067e26201
Change semantics of OID map, silly me, to match what's needed
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
436c6ac14b
Minor type fixup
2015-03-02 20:03:45 +09:00
Scott Lystig Fritchie
4fe4758d7a
Generic parameterization of the map, done badly, part 1
2015-03-02 20:03:44 +09:00
Scott Lystig Fritchie
9c73872d20
Fix TEST vs PULSE tests
2015-03-02 20:03:44 +09:00
Scott Lystig Fritchie
e9f16d7b1b
Dialyzer clean
2015-03-02 20:03:44 +09:00
Scott Lystig Fritchie
7878d954c1
Add dialyzer targets to Makefile ... time to get type serious
2015-03-02 20:03:44 +09:00
Scott Lystig Fritchie
be55d98bb5
Tango OID mapper put now passes basic unit test!
2015-03-02 20:03:44 +09:00
Scott Lystig Fritchie
52e2fa2edb
Start WIP on tango_oid.erl
2015-03-02 20:03:41 +09:00
Scott Lystig Fritchie
c02d35821e
Clean up tango_test.erl debugging cruft
2015-03-02 20:00:37 +09:00
Scott Lystig Fritchie
1184607bce
Fix scan_backward with stopping LPN #
2015-03-02 20:00:37 +09:00
Scott Lystig Fritchie
1bb127eb65
Add scan_backward LPN limit + test
2015-03-02 20:00:37 +09:00
Scott Lystig Fritchie
c311a187ac
Test refactoring 2
2015-03-02 20:00:37 +09:00
Scott Lystig Fritchie
9d2f494db0
Test refactoring
2015-03-02 20:00:37 +09:00
Scott Lystig Fritchie
c5b4bf8d7b
Basic infrastructure and testing for Tango-style streams
2015-03-02 20:00:33 +09:00
Scott Lystig Fritchie
fe79df48b5
Add fledgling log implementation based on CORFU papers (corfurl stuff)
2015-03-02 19:59:01 +09:00
Scott Lystig Fritchie
2bf28122c1
Fix typos in docs/corfurl.md
2015-03-02 18:10:46 +09:00
Scott Lystig Fritchie
22f46c329d
Add annoying & verbose TODO reminder for FILL implementation fixing!
2015-03-02 18:10:46 +09:00
Scott Lystig Fritchie
1c5e8d3726
Change env var BITCASK_PULSE -> USE_PULSE
2015-03-02 18:10:46 +09:00
Scott Lystig Fritchie
edd5b62563
del prototype/corfurl/README.old.md
2015-03-02 18:10:46 +09:00
Scott Lystig Fritchie
305cf34a2d
Move old README.md -> README.old.md, create new README.md
2015-03-02 18:08:29 +09:00