Commit graph

74 commits

Author SHA1 Message Date
Jesper Louis Andersen
6b8683bb08 Implement failing lookups in the driver. 2012-01-07 22:57:01 +01:00
Kresten Krab Thorup
eae41cec83 Update REAME 2012-01-07 17:54:35 +01:00
Kresten Krab Thorup
15736dd82a Rename modules fractal_btree -> lsm_btree 2012-01-07 17:17:48 +01:00
Kresten Krab Thorup
db2399ee4a Rename fractal_btree -> lsm_btree, phase I 2012-01-07 17:14:52 +01:00
Kresten Krab Thorup
1feef35d33 Add option to test with 'TRIQ' or 'PROPER' 2012-01-07 15:44:31 +01:00
Kresten Krab Thorup
03350aa096 Add close to shame tests 2012-01-07 15:16:57 +01:00
Kresten Krab Thorup
99a6985eed Allow put(Key, Binary|'deleted')
Last missing piece to make delete work it seems
2012-01-07 14:49:25 +01:00
Kresten Krab Thorup
5ca4443f04 Remove warning 2012-01-07 14:48:10 +01:00
Kresten Krab Thorup
11d135c3ed Merge branch 'statem-test' of https://github.com/jlouis/fractal_btree 2012-01-07 14:46:22 +01:00
Jesper Louis Andersen
84d4b56779 test_tree_simple_2: correctly close down the fractal Btree. 2012-01-07 14:21:38 +01:00
Kresten Krab Thorup
07c4df29ec Fix unit test
We currently have no check for concurrently
opening the same fractal_btree; we probably need
to implement a simple locking mechanism.
2012-01-07 13:56:14 +01:00
Kresten Krab Thorup
0064b0405e Refix readme 2012-01-07 13:55:03 +01:00
Jesper Louis Andersen
b99a206494 Restructure file, add deletion.
A refactoring run made the code more digestible. Also add the needed
clauses for handling random deletion.
2012-01-07 12:44:07 +01:00
Jesper Louis Andersen
c80d7d1a6a Add deletion support to the driver. 2012-01-07 12:44:07 +01:00
Jesper Louis Andersen
e10208462b Make it much less likely to open up a new btree. 2012-01-07 12:44:07 +01:00
Kresten Krab Thorup
aa0fa64928 Merge branch 'statem-test' of https://github.com/jlouis/fractal_btree 2012-01-07 01:19:29 +01:00
Jesper Louis Andersen
fcff982050 Utilize the new lookup of existing keys in PropEr.
This patch implements another possible command: Lookup of keys that
already exist in the tree somewhere. We use a dict as the test tool:
the postcondition verifies that the value obtained from the fractal
btree matches the one we put in the dict earlier.
2012-01-07 01:02:09 +01:00
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