Martin Sumner
f4c65597ea
log 2 compat
...
Need to support math:log2 in early versions of OTP (for Riak)
2018-10-24 15:42:21 +01:00
Martin Sumner
6d62803567
Test at higher volume
...
Increase probability of hit
2018-10-24 12:06:42 +01:00
Martin Sumner
d171fda705
Format comment
2018-10-24 11:58:25 +01:00
Martin Sumner
d5d54cc13a
Add timing test to guide selection of approach
2018-10-24 11:50:36 +01:00
Martin Sumner
4981cdfc07
Expand segment lists when matches are produced form smaller trees
...
Let us say a store has precalculated segments based on large tree size, but mismatched segmentIDs are found on a small tree size (for query efficiency).
the list of segment IDs need to be expanded out for matching. This may be more efficient that running match_segment for each check (expand out once and uses lists:member/2). Also this is necessary for leveled_so AAE stores (segment-ordered stores)
2018-10-24 10:19:54 +01:00
Martin Sumner
5cbda7c2f7
Merge pull request #197 from martinsumner/mas-i196-segfilter
...
Add segment matching function
2018-10-24 07:34:14 +01:00
Martin Sumner
dd9a6f0015
Add segment matching function
...
For when matching between different tree sizes
2018-10-23 18:46:10 +01:00
Martin Sumner
5f5255142d
Merge pull request #195 from martinsumner/mas-i194-startupsqn
...
Mas i194 startupsqn
2018-10-03 21:05:57 +01:00
Martin Sumner
0bbaf1f25e
Handle missing journal files without data loss
...
Make sure data added after the journal has been lost will not be lost (even though lost data may stay lost)
2018-10-03 18:38:56 +01:00
Martin Sumner
9a0082db4e
Test to expose startup issue
...
See #194
2018-10-03 18:29:20 +01:00
Martin Sumner
cc676190c4
Merge pull request #193 from martinsumner/mas-192-journalcheck4head
...
Mas 192 journalcheck4head
2018-10-01 11:59:41 +01:00
Martin Sumner
b7c8304d99
Never check inker if head_only
2018-09-28 16:58:28 +01:00
Martin Sumner
b1ae7837a1
Add unit test of frequency
...
but a bit hard to test due to randomness
2018-09-28 16:16:19 +01:00
Martin Sumner
575397229e
Infrequent check of Journal for key presence
...
with decreasing frequency if there are repeated successes when checking
2018-09-28 15:46:43 +01:00
Martin Sumner
8be873f776
Merge pull request #191 from martinsumner/mas-i189-tuplebuckets
...
Mas i189 tuplebuckets
2018-09-27 18:14:30 +01:00
Martin Sumner
f95f078929
Merge branch 'master' into mas-i189-tuplebuckets
2018-09-27 16:53:18 +01:00
Martin Sumner
ee172468ce
Merge pull request #190 from martinsumner/mas-qi18-saferead
...
Mas qi18 saferead
2018-09-27 16:52:43 +01:00
Martin Sumner
1fc2c7ff2b
Switch log to warning
...
As the database will continue to function
2018-09-27 15:54:16 +01:00
Martin Sumner
88e4cf2361
Add unit test with bad write
...
If a partial write is made at the beginning, the file was not being truncated. Consequently writes would be accepted after it opens, and the those writes would be after the corruption so would never be read in the future.
2018-09-27 15:26:45 +01:00
Martin Sumner
b15fef8cf6
Add unit test of corrupted keys
...
To be detected in direct fetch
2018-09-27 14:20:13 +01:00
Martin Sumner
39e366a31b
Add ct test
...
Which passes
2018-09-27 11:32:42 +01:00
Martin Sumner
0fb35e658f
Add support for buckets that are tuples
...
Only {binary(), binary()} tuples
2018-09-27 09:34:40 +01:00
Martin Sumner
cbd7713c71
Merge pull request #188 from martinsumner/mas-i186-iclerkscore
...
Mas i186 iclerkscore
2018-09-26 17:36:43 +01:00
Martin Sumner
36537b4ae2
May need to wait longer for completion
...
As esting more keys
2018-09-26 15:38:43 +01:00
Martin Sumner
b2fce95b14
Add explainer to NaiveBestRun
2018-09-26 14:11:02 +01:00
Martin Sumner
7885f93ba6
Boost docs
...
Try and make this easier to follow with docs and specs
2018-09-26 14:07:44 +01:00
Martin Sumner
979c65f0af
Merge branch 'mas-i185-docupdate' into mas-i186-iclerkscore
2018-09-26 13:33:07 +01:00
Martin Sumner
d9229c9782
Change score assessment
...
Wans't actually calculating scores correctly previously.
2018-09-26 12:56:28 +01:00
Martin Sumner
3df481941f
Record time to calculate compation run
...
As this is a factor in assessing suitability of Journal size
2018-09-26 10:19:24 +01:00
Martin Sumner
8d8a0a3f5b
Improve explanation of max_journal_size
...
Tighten guidance with regards to very small values, which aren't expected to make sense
2018-09-26 09:37:50 +01:00
Martin Sumner
908f762a48
Merge pull request #186 from martinsumner/mas-i185-emptyjournal
...
Mas i185 emptyjournal
2018-09-25 19:54:57 +01:00
Martin Sumner
0772317247
Test mistake
...
If random integer was low, total could be below threshold - so calculate total correctly.
Should make value re-generate random uniform, but test is still valid without this
2018-09-25 18:32:48 +01:00
Martin Sumner
051fcd672c
Add test of switching from a big journal to a little journal
...
And sending objects over the journal size
2018-09-25 16:56:24 +01:00
Martin Sumner
ab74d5c0dd
Merge pull request #184 from martinsumner/mas-i183-thowinasyncfold
...
Mas i183 thowinasyncfold
2018-09-24 22:41:12 +01:00
Martin Sumner
f4b365438c
Further comments in API docs
2018-09-24 20:43:21 +01:00
Martin Sumner
bed155761b
Added comments
...
This is still a clumsy feature, in terms of implementation.
Is the fact that some folds handle a throw, and some don't an issue?
2018-09-24 20:05:48 +01:00
Martin Sumner
a9b097e392
Add a wrapper to fold_keys queries
...
Queries that in Riak will be based on fold_keys need to be able to catch throws, and re-throw them to be detected by the worker (whilst still clearing up the snapshot)
2018-09-24 19:54:28 +01:00
Martin Sumner
bcda272fb9
Merge pull request #182 from martinsumner/mas-i180-dollarbucketregex
...
Mas i180 dollarbucketregex
2018-09-24 16:37:25 +01:00
Martin Sumner
8f320a054e
Add object deletion to test of dolerkey index
...
Related to tracking a failure in riak_test
2018-09-21 17:08:59 +01:00
Martin Sumner
37f784f041
Add regex tests for dollar bucket queries
...
Proce this works as well as for dollar key. This isn't tested in riak_test currently, but seems illogical not to support it her eif it is supported on $key queries.
2018-09-21 15:17:29 +01:00
Martin Sumner
041e86fed9
Merge pull request #181 from martinsumner/mas-i180-dollarkeyregex
...
Mas i180 dollarkeyregex
2018-09-21 13:27:53 +01:00
Martin Sumner
ba93ea149f
Account for slower tests in older Erlang versions
...
Tests run slower in OTP16 - so do less work in this version.
2018-09-21 13:27:10 +01:00
Martin Sumner
1a3d3daa89
Add regex support to $key index
...
Regex to be applied to key only
2018-09-21 12:04:32 +01:00
Martin Sumner
d27be07f67
Merge pull request #179 from martinsumner/mas-i178-bookhead
...
Mas i178 bookhead
2018-09-20 14:24:17 +01:00
Martin Sumner
d999bc1e4a
Merge branch 'master' into mas-i178-bookhead
2018-09-20 12:08:46 +01:00
Martin Sumner
c439e4144a
Add new book_headonly/4 API
...
To address special situation of performing a head requets in head_only mode - where a sub-key is a required input.
2018-09-20 12:08:33 +01:00
Martin Sumner
9c15a39023
Merge pull request #177 from martinsumner/rdb/quviq-i13-startkey-doc
...
Update docs for start key
2018-09-20 12:02:08 +01:00
Russell Brown
f12d277875
Update docs for start key
...
Quviq/leveled/issues/13 shows the confusion around the purpose of
start key. Hopefully this commit clarifies that start key is a further
refinement to the range start. It's essentially and AND.
2018-09-20 11:21:55 +01:00
Martin Sumner
f4a7a729ae
Merge pull request #175 from martinsumner/rdb/quviq-i15-regex-doc
...
Update docs to clarify that regex cannot be run on integers
2018-09-19 18:31:39 +01:00
Martin Sumner
572befbcfa
Merge pull request #176 from martinsumner/mas-i174-refactorsaferead
...
Refactor safe_read
2018-09-19 18:30:15 +01:00