Commit graph

357 commits

Author SHA1 Message Date
Jesper Louis Andersen
fd87d7963a Improve driver cleanup, implement lookup of existing keys.
If we decide to stop the driver, we should not reply back before we
have a clean state with all BTrees closed.

Also, implement lookup of existing keys in the tree.
2012-01-07 01:00:31 +01:00
Jesper Louis Andersen
372a05619c Improve the test stale btree removal.
Also delete the "simple" Btree in between test runs so we have a clean
slate of what is happening.
2012-01-07 00:58:57 +01:00
Kresten Krab Thorup
0f64e199b5 Minor read me updates 2012-01-07 00:29:06 +01:00
Kresten Krab Thorup
c53db4ba20 Don't start sasl in tree_test 2012-01-07 00:28:46 +01:00
Kresten Krab Thorup
3d0c36c3bc Add option to evict tombstones in merge 2012-01-07 00:28:26 +01:00
Kresten Krab Thorup
5b4a4551a9 Reduce verbosity 2012-01-07 00:27:20 +01:00
Kresten Krab Thorup
120609f8ac Delete X files so levels can reopen cleanly 2012-01-07 00:26:44 +01:00
Kresten Krab Thorup
61f0aa26d2 Merge branch 'level_mainloop_simplification' of git://github.com/eriksoe/fractal_btree 2012-01-06 23:48:40 +01:00
Kresten Krab Thorup
f31a771bc3 Merge jlouis/fractal_btree statem-test 2012-01-06 23:23:39 +01:00
Jesper Louis Andersen
01d0007168 Split tests to where they belong. Add simple statem test.
; Split the writer tests to the writer parts. This is not entirely
  correct since they both read and write, but oh, well.
; Provide a simple statem test which opens trees and puts values.
2012-01-06 22:58:07 +01:00
Jesper Louis Andersen
de8d09231e Preliminary cleanup of test cases.
This is not the "right" way to do it since it should be internalized,
but for a start it will do until we fix it.
2012-01-06 22:55:07 +01:00
Kresten Krab Thorup
3e5a315b18 Erik's ebloom has the fix
Switch back to basho/ebloom when his pull req
is accepted.
2012-01-06 22:53:26 +01:00
Kresten Krab Thorup
b6fe048a6f A performance comparison w/InnoDB
Bottom line is that we're currently roughly
at-par with InnoDB; our gets are a bit slower
but we're using 50MB RAM, when InnoDB uses 1G.
2012-01-06 22:30:12 +01:00
Jesper Louis Andersen
0674ae3332 Introduce proper as a dependency. 2012-01-06 21:22:41 +01:00
Jesper Louis Andersen
fcf7af36ca Provide a Makefile for running dialyzer.
While here, also dump another slew of goodies in the makefile.
2012-01-06 21:22:23 +01:00
Erik Søe Sørensen
091df9392e levelpresence.sh: Add dynamicer mode. 2012-01-06 13:56:52 +01:00
Erik Søe Sørensen
dac9b31266 Merge branch 'master' of github.com:eriksoe/fractal_btree
Conflicts:
	src/fractal_btree_level.erl
2012-01-06 13:56:32 +01:00
Kresten Krab Thorup
4e8602043f Implement range_fold 2012-01-06 02:06:25 +01:00
Kresten Krab Thorup
9a624f963e Rename read_leaf_node -> next_leaf_node 2012-01-06 02:06:00 +01:00
Kresten Krab Thorup
b21e253324 Store child-refs as {Pos,Size} so we can pread
This allows us to use file:pread to read a
child-node, rather than two separate reads
(one for node block size, and then one for 
the node block itself).

Also, encode the level# in node header, so that
scanning leafs doesn't need to decode the
node contents for inner nodes.
2012-01-06 00:29:05 +01:00
Kresten Krab Thorup
2f985d8576 Fix indentation 2012-01-06 00:02:29 +01:00
Kresten Krab Thorup
e12544d0be A bit more README / background info 2012-01-06 00:02:00 +01:00
Erik Søe Sørensen
90ae581213 level: Calculate the size of the merged file correctly - again. 2012-01-05 21:09:36 +01:00
Erik Søe Sørensen
be91e047ff Merge branch 'master' of github.com:krestenkrab/fractal_btree 2012-01-05 18:32:28 +01:00
Kresten Krab Thorup
85a75ed298 fix conflict 2012-01-05 18:11:37 +01:00
Kresten Krab Thorup
cff74ac93a Use proc_lib for spawning 2012-01-05 18:09:00 +01:00
Kresten Krab Thorup
6c0766a433 Allow merger to be local 2012-01-05 18:08:19 +01:00
Kresten Krab Thorup
51f1c13650 Assert nursery file is gone after inject 2012-01-05 18:07:20 +01:00
Erik Søe Sørensen
c43d5464d6 Merge branch 'master' of github.com:krestenkrab/fractal_btree 2012-01-05 17:50:50 +01:00
Erik Søe Sørensen
43f9855633 levelpresence.sh: Show line numbers. 2012-01-05 17:50:33 +01:00
Erik Søe Sørensen
aca809aa90 level: Handle failure of merger process. Remove EXIT messages from inbox. 2012-01-05 17:50:18 +01:00
Kresten Krab Thorup
22e59b0fcc Make btree_writer:close use infinity 2012-01-05 17:37:15 +01:00
Erik Søe Sørensen
0ff2a2528e Merge branch 'master' of github.com:krestenkrab/fractal_btree 2012-01-05 17:31:30 +01:00
Kresten Krab Thorup
8c6d832f27 Merge pull request #1 from eriksoe/level_mainloop_simplification
Level mainloop simplification
2012-01-05 08:31:10 -08:00
Erik Søe Sørensen
fa4f1e1f49 Merge branch 'master' of github.com:krestenkrab/fractal_btree 2012-01-05 17:25:23 +01:00
Erik Søe Sørensen
155a0e5b19 Add level progress visualization script. 2012-01-05 17:24:58 +01:00
Kresten Krab Thorup
cf54868d1b Implement new merge algorithm
Which does not spawn individual processes,
but rather does a "sequential merge"
2012-01-05 17:07:49 +01:00
Kresten Krab Thorup
00e2fba43a Correct count for merge 2012-01-05 16:46:32 +01:00
Erik Søe Sørensen
b9abf21bac Correct embarrasing typo wrt. use of do_lookup(). 2012-01-05 16:23:21 +01:00
Erik Søe Sørensen
36816e261a Merge remote-tracking branch 'kk/master' into level_mainloop_simplification
Conflicts:
	src/fractal_btree_level.erl
2012-01-05 16:14:54 +01:00
Kresten Krab Thorup
244e3128e9 Handle error case + debugging for that 2012-01-05 23:05:18 +08:00
Kresten Krab Thorup
e09e2b2aa2 Add basho_bench script/driver 2012-01-05 23:05:18 +08:00
Kresten Krab Thorup
3118bd8c62 Remove lots of info_msg 2012-01-05 23:05:18 +08:00
Erik Søe Sørensen
c04c11c67f First compile and test, then commit. 2012-01-05 16:02:29 +01:00
Erik Søe Sørensen
fa43e41c51 Simplify slightly in level:initialize(). 2012-01-05 16:01:14 +01:00
Erik Søe Sørensen
c93505fa58 Simplify main_loop() by collapsing to one clause. 2012-01-05 15:59:45 +01:00
Kresten Krab Thorup
27396c21d1 Handle error case + debugging for that 2012-01-05 15:56:37 +01:00
Erik Søe Sørensen
76c6cbd585 Simplify lookup in main_loop2(). 2012-01-05 15:46:13 +01:00
Erik Søe Sørensen
285b7bc95e Rename main_loop{0,1,2}() to main_loop(). 2012-01-05 15:35:16 +01:00
Erik Søe Sørensen
6184272d95 Remove unused level:size(). 2012-01-05 15:34:50 +01:00