Commit graph

773 commits

Author SHA1 Message Date
martinsumner
25a5065edd Re-introduce test (again) 2017-06-23 14:56:32 +01:00
martinsumner
5e9e1347c7 Add test to find {term, key} that represents difference
Not just detect existence of difference, but clarify what that
difference that is.
2017-06-23 14:55:49 +01:00
martinsumner
2be4422e47 Re-add test 2017-06-23 12:44:52 +01:00
martinsumner
4e5c3e2f64 Fix merge
Fix typo in merge,  and extra validation step to unit tests to prevent
it returning.
2017-06-23 12:32:37 +01:00
martinsumner
47655dc9c7 Uncomment previous test 2017-06-22 14:30:14 +01:00
martinsumner
5a012ff8a6 Add test of index comparison
Compare two indexes for consistency
2017-06-22 13:54:51 +01:00
martinsumner
7cfa392b6e Flexible TicTacTree sizes
Allow tictac tree sizes to be flexible.

Tested lots of different sizes.  Having both level 1 and level 2 the
same size seemed to be consistently quicker than trying to make either
of the levels relatively wider.

There's an 8% performance improvement if the SegmentCount is reduced by
a quarter.
2017-06-20 10:58:13 +01:00
martinsumner
d5b4cb844f Finding keys
Progresses from a segment list to scanning for the keys in that segment
2017-06-19 18:38:55 +01:00
martinsumner
8203487a11 Expanded test
ct testing of tictac trees now compares between differently partitioned
stores.
2017-06-19 15:43:19 +01:00
Martin Sumner
833c7a80cb corrected test
differing object was in wrong bucket
2017-06-19 13:11:43 +01:00
martinsumner
c586b78f45 Initial code with busted ct test
Initiat comparison made betwene trees externally - but ct test is bust.
2017-06-19 11:36:57 +01:00
martinsumner
6ad98d77c5 Spec module for dialyzer
Add specs/docs for the leveled_tictac module.  Dialyzer passes.
2017-06-16 13:47:19 +01:00
martinsumner
f5dd154cee Rename hashtree query
Naming is now confusing now we have TicTac Trees.  This query builds a
list of keys and hashes not a tree - so it was misleading anyaway.  Now
renamed hashlist_query.
2017-06-16 12:38:59 +01:00
Martin Sumner
7642aac2cc Change Riak object hash approach
Change the riak object hash being kept in the metadata, to being a hash
of the vector clock
2017-06-16 10:14:24 +01:00
martinsumner
959e7f932f Add simple merge
Allow for tictac trees to be merged
2017-06-15 16:16:19 +01:00
martinsumner
86b11803c9 Build and compare
Build and compare of tictac trees.  These are mergable merkle trees that
are not cryptographically secure.
2017-06-15 15:40:23 +01:00
Martin Sumner
f2beee6c35 Merge pull request #77 from martinsumner/mas-compactiontesting
Mas compactiontesting
2017-06-09 09:53:36 +01:00
martinsumner
b69ff38e30 Update docs 2017-06-06 16:49:50 +01:00
martinsumner
af69f946cf Add further compaction comments
Link to the compaction branch and add further description
2017-06-06 16:44:05 +01:00
martinsumner
e59b67d1be Table rendering
seems to work in atom markdown not github markdown :-(
2017-06-06 16:36:36 +01:00
martinsumner
94f3e036ea Add journal compaction testing 2017-06-06 16:30:02 +01:00
Martin Sumner
4cf3eea1eb Merge pull request #76 from martinsumner/mas-compactionconfig
Change default compaction settings.

The change is as a result of the 12h volume tests, which showed a need to do more compaction work per cycle.
2017-06-02 08:42:20 +01:00
Martin Sumner
15c52ae118 Change default compaction settings
Need to allow specific settings to be passed into unit tests.

Also, too much journal compaction may lead to intermittent failures on
the basic_SUITE space_clear_on_delete test.  think this is because
there are less “deletes” to reload in on startup to trigger the cascade
down and clear up?
2017-06-02 08:37:57 +01:00
Martin Sumner
39fd3e5c87 Merge pull request #75 from martinsumner/mas-arraytype-i73
Mas arraytype i73
2017-06-01 22:28:17 +01:00
martinsumner
569b498727 Resolve dialyzer warnings
Botched switch to leveled_log in list - so reoslved dialyzer warnings
2017-06-01 22:03:51 +01:00
martinsumner
32612dfe4a Yet another array type OTP16 issue 2017-06-01 21:39:01 +01:00
martinsumner
afbf918f2c Change from using array type
Won't compile in OTP16
2017-06-01 21:37:23 +01:00
Martin Sumner
1a051eab35 Merge pull request #73 from martinsumner/mas-logbase-i72
Change log to keyfind
2017-06-01 10:30:53 +01:00
martinsumner
204a5a8caa Change log to keyfind
Save doing dict:to_list each call to log
2017-05-31 10:56:48 +01:00
Martin Sumner
92275cfc2f Merge pull request #71 from martinsumner/mas-specs-i61b
Mas specs i61b
2017-05-30 20:34:25 +01:00
martinsumner
e66e326c2b Dialyzer help
Add specs and docs
2017-05-30 16:50:23 +01:00
martinsumner
e86d91dcf6 Give dialyzer a hand
add specs and docs
2017-05-30 16:25:55 +01:00
martinsumner
c073344163 Dialyzer helper
Add specs and docs to external API
2017-05-30 15:36:50 +01:00
martinsumner
fc4802c539 Dialyzer help
Add specs and docs
2017-05-30 11:37:10 +01:00
martinsumner
0459591fd7 spec and doc - leveled_pmanifest
Give the dialyzer some help
2017-05-26 15:11:33 +01:00
martinsumner
f23072fb54 Merge remote-tracking branch 'refs/remotes/origin/master' into mas-specs-i61b 2017-05-26 13:45:20 +01:00
Martin Sumner
041da54c62 Merge pull request #70 from martinsumner/mas-iclerkrelease-i69
Release penciller snapshot after journal compaction
2017-05-26 13:44:49 +01:00
martinsumner
c664176247 Release penciller snapshot after journal compaction
As otherwise memory consumption beocmes an issue, as they will take an
hour to timeout naturally.
2017-05-26 10:51:30 +01:00
Martin Sumner
5c5fa8ee8d Merge pull request #68 from martinsumner/mas-isempty-i67
Mas isempty i67
2017-05-23 15:54:47 +01:00
Martin Sumner
96a548e17a Change tests - binary keys
the new code requires bucket listing to be on binary keys not just
binary buckets.  As this is only intended for use within Riak (where
all keys are buckets are binaries), this constraint seems OK.

A test needed changing to ensure it had a binary key in the bucket.
2017-05-23 15:54:11 +01:00
martinsumner
0d8ab0899e Add test for is_empty
Bucket listing didn't care if keys were active - now does.
2017-05-23 11:59:44 +01:00
martinsumner
2738ee951c Add specs and docs for Penciller
Help the dialyzer
2017-05-22 18:09:12 +01:00
martinsumner
366253831a Add dpecs to inker
Give the dialyzer a hand
2017-05-22 15:31:42 +01:00
Martin Sumner
7ca672d7bc Merge pull request #66 from martinsumner/mas-cdbindex-i65
Switch IndexCache to tuple
2017-05-22 13:12:56 +01:00
martinsumner
dfcb30a33e Switch IndexCache to tuple
So that direct element fetch should be faster?
2017-05-22 10:24:49 +01:00
Martin Sumner
f45681610e Merge pull request #64 from martinsumner/mas-specs-i61a
Mas specs i61a
2017-05-22 10:03:07 +01:00
martinsumner
c90e0f824d Spelling error change 2017-05-22 10:00:34 +01:00
martinsumner
a81dd2839e Merge remote-tracking branch 'refs/remotes/origin/master' into mas-specs-i61a 2017-05-22 09:58:41 +01:00
Martin Sumner
8e334c0b5a Merge pull request #63 from martinsumner/mas-compactscore-i35
Mas compactscore i35
2017-05-22 09:57:32 +01:00
Martin Sumner
2bbb504c02 Up max file compactions per run
Try and do more compaction work for each run
2017-05-21 22:06:41 +01:00