Commit graph

1198 commits

Author SHA1 Message Date
Martin Sumner
80e5ff9b4e
Merge pull request #169 from martinsumner/rdb/max-journal-size-docs
Explain max_journalsize more fully
2018-09-10 16:52:07 +01:00
Russell Brown
77ade3b194 Explain max_journalsize more fully 2018-09-10 16:29:30 +01:00
Martin Sumner
8f8e393227
Merge pull request #168 from martinsumner/mas-i164-hotbackup
Mas i164 hotbackup
2018-09-09 19:47:06 +01:00
Martin Sumner
6a87f398f2 Reduce object count in simple backup
This test is almost entirely covered by `hot_backup_changes` now.
2018-09-09 18:19:25 +01:00
Martin Sumner
cd7e64712b Add description 2018-09-09 18:17:19 +01:00
Martin Sumner
0cfdcb1976 Remove double test
should now be covered by the _changes test
2018-09-07 21:03:09 +01:00
Martin Sumner
bbb667b09f Add test of repeated backups
Confirm that file counts in the backup folder rise and fall as expected
2018-09-07 17:24:27 +01:00
Martin Sumner
91f751ddc6 Garbage collect backups
If ther are backups made to the same folder, need to remove any files from that folder that are not included in this backup.

Some initial testing, needs more.
2018-09-07 14:21:01 +01:00
Martin Sumner
b99cde9599 Merge branch 'master' into mas-i164-hotbackup 2018-09-07 12:27:30 +01:00
Martin Sumner
faec45ad8e
Merge pull request #167 from russelldb/rdb/spec-folds-cp
Provide a top level API for folds
2018-09-07 11:18:23 +01:00
Martin Sumner
9a8ce88ed2 Add double-backup test
Added a test with back-to-back backups.  This caused issues with the empty CDB file it created (on opening, couldn't cope with last key of empty).

So now backup won't roll the active journal if it is empty.
2018-09-07 10:24:51 +01:00
Martin Sumner
daf0a1a607 Accumulate generated objects efficienty 2018-09-06 17:50:59 +01:00
Martin Sumner
0838ff34e5 Initial hot_backup
The idea being that a consistent inker manifest and set of journal files is guaranteed - with hard links to the actual manifest files.
2018-09-06 17:50:30 +01:00
Russell Brown
3a2d4aa496 Actually run the new test
DERP!
2018-09-06 16:38:49 +01:00
Russell Brown
b7bd65d11f Provide a top level API for folds
As the fold functions have been added to get_runner in an ad hoc way,
naturally, given the ongoing development of levelEd to support Riak,
it was difficult for a new user (in this case Quviq) to see what folds
are supported, and with what arguments, and expectations.

This PR is for discussion. It is one of many ways to group, spec, and
document the fold functions.

A test is also added for coverage of range queries.
2018-09-06 15:01:54 +01:00
Martin Sumner
3249cc8d3e
Merge pull request #166 from russelldb/rdb-pcl-stop-test
Add unit test for pclr snapshot closing
2018-09-06 14:13:41 +01:00
Russell Brown
4334e2d734 Add unit test for pclr snapshot closing
This was tested by the eqc, but we merged the fix without the
test. This eunit test fixes that. Coverage!
2018-09-06 14:08:09 +01:00
Martin Sumner
01c16edf1a
Merge pull request #165 from russelldb/rdb/stop-snapshot-cp
Stop snapshots when the bookie stops
2018-09-06 12:01:52 +01:00
Russell Brown
ef9ac672e5 Stop snapshots when the bookie stops
During EQC testing it was found that snapshots are still usable even
if the bookie process crashes. This change has snapshots monitor the
bookie and close when the bookie process dies.
2018-09-06 11:47:52 +01:00
Martin Sumner
a1269e5274
Merge pull request #163 from martinsumner/mas-i162-isempty
Mas i162 isempty
2018-09-03 17:00:55 +01:00
Martin Sumner
c64dc1df0d Change key() definition to not allow integer keys 2018-09-03 12:28:31 +01:00
Martin Sumner
402dd2a663 Remove integer() support for keys
As number < atom() and so integer() < null.

This causes potential issues where we assume null < then any key value
2018-09-03 10:50:28 +01:00
Martin Sumner
f400e8b46d Add test for string and binary buckets
Tried an integer bucket - and this didn't work!

Integers are < null - and so is_empty won't work as expected.
2018-09-03 10:38:19 +01:00
Martin Sumner
ca8aa051d7 Add head_only fold_keys test 2018-09-03 10:29:20 +01:00
Martin Sumner
499a30716b Head only mode 2018-09-03 09:54:45 +01:00
Martin Sumner
bde188e691 Constrain keys
Rather than supporting any() - constrain at least to binary()/integer() or string().
2018-09-01 12:10:56 +01:00
Martin Sumner
50967438d3 Switch from binary_bucketlist
Allow for bucket listing of non-binary buckets (integer buckets, buckets with ascii strings)
2018-09-01 10:39:23 +01:00
Martin Sumner
41fb83abd1 Add tests for is_empty
Where keys are strings or integers, and where subkeys are involved
2018-08-31 15:29:38 +01:00
Martin Sumner
65969c36d0
Merge pull request #159 from martinsumner/rdb/iclerk-test-tz_master
Fix timezone specific failing test
2018-08-07 14:05:25 +01:00
Russell Brown
0c018c5721 Don't leave commented out code lying around 2018-08-07 12:49:31 +01:00
Russell Brown
e8f462fab0 Fix timezone specific failing test
Converts date time to a local now
2018-08-07 12:35:07 +01:00
Martin Sumner
bb4a54eb5d
Merge pull request #151 from russelldb/rdb/contributing
Add instructions for contributing/running tests
2018-07-24 12:14:26 +01:00
Martin Sumner
076d2646c6
Merge pull request #155 from martinsumner/mas-i152-iclerkconfig
Mas i152 iclerkconfig
2018-07-24 12:13:38 +01:00
Martin Sumner
a0c740d505
Merge pull request #154 from martinsumner/mas-i153-testfailure
Change start time to correct time
2018-07-24 12:11:29 +01:00
Martin Sumner
fa513c1c42 Change start time to correct time
Must have miscaulcated the start time originally
2018-07-24 12:09:59 +01:00
Martin Sumner
0796a372d0 Add docs for journal compaction startup options 2018-07-23 13:59:24 +01:00
Martin Sumner
66a75923e8 Expose configuration of Compactio Percentage targets
I think these should be set differently, so make them configurable.
2018-07-23 12:46:42 +01:00
Russell Brown
1fb52dad67
fix typo in rebar3 command 2018-07-17 12:47:16 +01:00
Russell Brown
a4d9e19a5d Add instructions for contributing/running tests 2018-07-17 12:24:56 +01:00
Martin Sumner
461779b739
Merge pull request #150 from martinsumner/mas-i29-linkall
Mas i29 linkall
2018-07-11 08:31:47 +01:00
Martin Sumner
c4e376ece5 Don't link snapshots
If a snapshot breaks a penciller clone, this shouldn't crash the main process.
2018-07-10 10:25:20 +01:00
Martin Sumner
082eabb65b Switch to start_link
Start all processes linked - to collapse the whole tree if one process fails
2018-06-28 12:16:43 +01:00
Martin Sumner
92bd2513c1
Merge pull request #149 from martinsumner/mas-kvi-missinghead
Mas kvi missinghead
2018-06-23 17:21:43 +01:00
Martin Sumner
aedeb0c934 Add support for with_lookup head_only
head_only mode cna be run with_lookup - but there is no L0 index created in this case.

So the L0 index wasn't returning a potition list and the L0 cache wasn't being checked.

Code now checks every  position in the L0 cache, when  a lookup is attempted in head_only mode.
2018-06-23 15:15:49 +01:00
Martin Sumner
990e857ebe Add to log 2018-06-23 13:25:10 +01:00
Martin Sumner
ac14bbdf41 Add log to penciller 2018-06-23 13:18:32 +01:00
Martin Sumner
f881eae602
Merge pull request #148 from martinsumner/mas-i131-otp21
Fix bad specs
2018-06-22 12:22:36 +01:00
Martin Sumner
0dda129d3e Fix bad specs
There were some bad specs in '|' OR'd specs.  These were being falsely ignored in dialyzer until https://github.com/erlang/otp/pull/1722.

Running on OTP21 exposed these incomplete specs.
2018-06-21 15:46:42 +01:00
Martin Sumner
65de71a2b5
Merge pull request #147 from martinsumner/mas-i146-startupoptions
Mas i146 startupoptions
2018-06-21 10:45:17 +01:00
Martin Sumner
8a61e5af78 Add extra checks 2018-06-08 14:12:07 +01:00