Commit graph

308 commits

Author SHA1 Message Date
martinsumner
2055f8ed3f Add more complex snapshot test
This exposed another off-by-one error on startup.

This commit also includes an unsafe change to reply early from a rolling
CDB file (with lots of objects writing the hash table can take too
long).  This is bad, but will be resolved through a refactor of the
manifest writing:  essentially we deferred writing of the manifest
update which was an unnecessary performance optimisation.  If instead we
wait on this, the process is made substantially simpler, and it is safer
to perform the roll of the complete CDB journal asynchronously.  If the
manifest update takes too long, an append-only log may be used instead.
2016-10-07 10:04:48 +01:00
martinsumner
ad5aebe93e Further work on system tests
Another issue exposed with laziness in the using an incomplete ledger
when checking for presence during compaction.
2016-10-05 18:28:31 +01:00
martinsumner
d903f184fd Add initial end-to-end common tests
These tests highlighted some logical issues when scanning over databases
on startup, so fixes are wrapped in here.
2016-10-05 09:54:53 +01:00
martinsumner
507428bd0b Add initial system test
Add some initial system tests.  This highlighted issues:
- That files deleted by compaction would be left orphaned and not close,
and would not in fact delete (now deleted by closure only)
- There was an issue on stratup that the first few keys in each journal
would not be re-loaded into the ledger
2016-10-03 23:34:28 +01:00
martinsumner
a95d77607e Initial work on sft files
Working on the delta-encoded segment filter, plus some initial
performance testing.
2016-05-31 17:21:14 +01:00
Martin Sumner
c5f50c613d Ongoing improvements - in particular CDB now supports general erlang terms not just lists 2015-06-04 21:15:31 +01:00
Martin Sumner
647a7f44dc Tidy-up initial files and add testing to optimise bst bloom filters 2015-05-31 23:31:31 +01:00
Martin Sumner
e2099d0c14 Initial files proving concepts
WIP - nothing currently workable
2015-05-25 22:45:45 +01:00