Commit graph

1638 commits

Author SHA1 Message Date
martinsumner
e8c1d39df9 Switch to binary format Riak object
Initial change to try and test assuming that leveled received the binary
format of Riak objects (and parses that for metadata).
2016-11-28 22:26:09 +00:00
martinsumner
b0a515553f Merge remote-tracking branch 'origin/OTP16' into OTP16
# Conflicts:
#	src/leveled_cdb.erl
2016-11-27 00:18:20 +00:00
martinsumner
45f7fcb41a Datasync added for riak_sync strategy 2016-11-27 00:16:49 +00:00
Martin Sumner
0cb5fa39d9 Basho Erlang didn't like o_sync
Or some options, trying sync.
2016-11-26 23:03:07 +00:00
Martin Sumner
8f83c5226d Add log of write ops 2016-11-26 22:59:33 +00:00
Martin Sumner
feb7149a8d Add schema file 2016-11-26 22:10:51 +00:00
martinsumner
2fdf70ddf6 Add further skiplist test 2016-11-26 12:52:10 +00:00
Martin Sumner
fe080895fd Revert type definition
Can’t find a type definition support din both OTP 16 and OTP 18, so
reverting to not defining type
2016-11-25 18:22:35 +00:00
Martin Sumner
ec32a7e3eb OTP16 compliance - array type 2016-11-25 18:20:17 +00:00
martinsumner
196c807b5e Pass through sync_strategy
Allow to switch for Riak to use o_sync as the sync flag rather than sync
2016-11-25 17:41:08 +00:00
martinsumner
03d025d581 Replace ledger-side gb_trees
Try to make minimal change to replace gb_trees with gb_tree API-like
skiplists
2016-11-25 14:50:13 +00:00
martinsumner
c9afe34fea Missing key tming test 2016-11-24 23:31:13 +00:00
martinsumner
54eedb8282 Add out of range tests for skiplist range 2016-11-24 23:22:19 +00:00
martinsumner
3bbfd8b923 Tighten SkipList range
Make SkipList range accurate - trim the edges
2016-11-24 23:09:17 +00:00
martinsumner
2d3b1bbf2c Ongoing work on skip lists
Initial rough implementation with some timing tests
2016-11-24 20:16:41 +00:00
martinsumner
96b9e1faa3 Initial Commit for SkipLists
To speed check on alternate platform
2016-11-22 23:21:47 +00:00
martinsumner
e06888ad58 Merge pull request #5 from martinsumner/initial-setup
Correctly set array type
2016-11-21 22:27:42 +00:00
martinsumner
638fc69e01 Correctly set array type
Otherwise cannot compile in both OTP 16 and 17
2016-11-21 22:26:12 +00:00
martinsumner
4099f05616 Merge pull request #4 from martinsumner/initial-setup
Initial setup
2016-11-21 19:29:25 +00:00
martinsumner
51dbad95c0 Change FoldBucketsFun to take just bucket
FoldBucketsFun does not take keys should be a 2-arity function (Bucket,
Acc).
2016-11-21 14:12:17 +00:00
martinsumner
acdc702e7d Check not snap
Make sure snapshots cannot trigger deletion
2016-11-21 12:35:20 +00:00
martinsumner
0f7e421371 Add destruction
Allow a store to be cleared out and destroyed
2016-11-21 12:34:40 +00:00
martinsumner
386d40928b Fast List Buckets
Copied the technique from HanoiDB to speed up list buckets.
2016-11-20 21:21:31 +00:00
martinsumner
f40ecdd529 Pick-up test misses
There were some coverage misses in tests, so check in unit test coverage
or remove branches not currently needed.
2016-11-18 21:35:45 +00:00
martinsumner
427b97873c Change FoldKeysFun 2016-11-18 17:58:43 +00:00
martinsumner
57727e74f9 D'oh 2016-11-18 17:14:01 +00:00
martinsumner
f5944f2466 Change test foler to return (Bucket, Key} as expeceted 2016-11-18 16:52:53 +00:00
martinsumner
ec18f9ab4c Uncomment test 2016-11-18 16:34:16 +00:00
martinsumner
6684e8e1d3 Refine query to accept fold functions
Need to be able to pass external fold functions into different queries,
to work as a Riak backend
2016-11-18 15:53:22 +00:00
martinsumner
ac223ced68 Add FoldKeysFun
Add the capability to pass FoldKeysFun into the index_query to allow for
compatability with riak backend requirements.
2016-11-18 11:53:14 +00:00
martinsumner
e3004faa6e Add support for folding keys on a single bucket 2016-11-17 15:55:29 +00:00
Martin Sumner
67a9f5bae6 Initial Load Tests with results
Initial tests run comparing throughput when first populating and then
loading data into levelled and eleveledb.

The tests were run in series, populating first and then loading.  The
population tests were run again in-between to try and add a roughly
even underlying volume into the stores.

The initial tests were run on on a quad core iMac with 8GB of RAM and a
fusion drive.  Due to the limited footprint of the hardware, the number
of concurrent database instances was reduced to 12, rather than the 32
in the off0the-shelf leveldb test.
2016-11-17 08:20:17 +00:00
martinsumner
0fc1a20f27 Redme readability 2016-11-15 20:26:18 +00:00
martinsumner
5c9b999eb5 Readability improvements 2016-11-15 13:28:52 +00:00
martinsumner
aa355a0aae Coverage cheat pt 2 2016-11-14 20:56:59 +00:00
martinsumner
8cbe2ef93a Coverage cheats
You juke the stats, and majors become colonels.  I've been here before
2016-11-14 20:43:38 +00:00
martinsumner
630f802780 Inker Close nastiness
Try to stop some of the potential deadlocking around Inker close and
prove that snapshots at higher Manifest SQNs can be ignored
2016-11-14 19:34:11 +00:00
martinsumner
75d6af75c6 Penciller review
The penciller attempt to close the L0 file if pending was unpredictable
in behaviour.  If a L0 file is still pending it will be lost - but this
is at least a predictable event.
2016-11-14 17:18:28 +00:00
martinsumner
eb76a6dbcd Multi-key test
Now failing with timeout coverage enabled.  100 keys is unnecessray so
reduce to 20 per loop, but suspect this is another issue
2016-11-14 12:43:45 +00:00
martinsumner
c0e1455430 Remove PromptDelete
Now that deleted journals are stored in waste for the retention period -
don't worry about deleting them
2016-11-14 11:40:02 +00:00
martinsumner
44738f7c75 Deferred Deletion of Journals
This allows for deleted journals to be retained for a period (the
waste_retnetion_period).  The idea being that a backup strategy can
ensure that all journals are backed up, even ones created and removed
from within a backup period - so that any restore pont is possible.

This is also a pre-cursor to removing some of the PromptDelete
complexity from the Inker Clerk - all compactions can prompt deletion as
deletion is now deferred.
2016-11-14 11:17:14 +00:00
martinsumner
dbb840d75e Ooops - test commenting 2016-11-09 22:06:02 +00:00
martinsumner
16c424cd7b Add tombstone to compaction problem
Minor test refinement
2016-11-09 20:03:44 +00:00
martinsumner
3d737dcf3c More sensible test assertion
Also better for test coverage stats
2016-11-09 19:38:02 +00:00
martinsumner
2458a90fb3 Remove overlapped case clause 2016-11-09 16:35:13 +00:00
martinsumner
feb3c2a524 Add recovr strategy test 2016-11-09 16:27:47 +00:00
martinsumner
3a77591da9 Removed unnecessary timeout condition from rolling state in CDB 2016-11-09 00:14:57 +00:00
martinsumner
0cf96e7198 Removed daft last function from SFT 2016-11-09 00:13:52 +00:00
martinsumner
0905ea51e2 Further corrupt file unit test for CDB 2016-11-08 23:07:03 +00:00
martinsumner
cc3cbc983b Tidy up closure of CDB Files 2016-11-08 22:43:22 +00:00