martinsumner
a052edaea0
Add volume test information
...
Volume testing with AAE rebuilds
2017-04-24 11:24:14 +01:00
martinsumner
fbb4879d81
Change fold_heads to do basic Journal presence check
...
This at least checks the file is present, and the Key exists in the
index of that file. If the value is corrupt it will be removed by
compation, and then this will fail (unless the file is never compacted).
TODO: resolve issus of files which are corrupt - but never compacted
- a job for backup?
2017-04-21 15:55:03 +01:00
martinsumner
4d12dfe0ab
Returning snapshots
...
If the clerk updates the manifest - it might not recognise changes to
the manifest made since the clerk took the manifest. So the penciller
must merge its view of the snapshots back in to the updated manifest
2017-04-19 22:46:37 +01:00
Martin Sumner
fa9daf8696
Correct async fold
...
fold objects which snaps in the fold was implemented incorrectly - it
took information from the LedgeCache at the point of the request, not
at the point of the fold. So the LedgerCache SQN may have been
surpassed in the Penciller by the time the fold was called.
2017-04-17 23:01:55 +01:00
martinsumner
7cba182951
Merge remote-tracking branch 'origin/mas-sweeperfold-i59' into mas-sweeperfold-i59
...
# Conflicts:
# src/leveled_bookie.erl
2017-04-17 15:07:35 +01:00
martinsumner
50d95ef6aa
Move snapshot inside of the fold function
...
riak_kv_sweeper gets the async fold function, then determines if the
function can be called. If the system is busy the fold may be queued,
and may never be acted upon.
This may cause issues with snapshot timeouts etc.
2017-04-17 15:03:03 +01:00
Martin Sumner
e01efe02f6
Long snaphsot timeout increase
...
Increase this to 90 minutes. The first time all the snapshots are
rebuilt it may take a long time, but they all get scheduled together -
and queued until concurrency limits allow it to be completed.
currently the snapshot is made on initialisation, and only released
when completed (which may be after the queue). so the last couple of
snapshots were over-shooting the 1 hour.
2017-04-13 22:43:29 +01:00
Martin Sumner
618d9cf53b
FoldHeads to output binary
...
so that byte_size will work in sweeper
2017-04-11 11:17:27 +01:00
Martin Sumner
9badc8fbe7
Merge branch 'master' into mas-sweeperfold-i59
2017-04-10 21:49:08 +01:00
Martin Sumner
13a1574fa0
Merge pull request #57 from martinsumner/mas-metadatabin
...
Mas metadatabin
2017-04-10 21:47:45 +01:00
martinsumner
60b0b88226
Switch to binary response
...
Force header in fold_heads to be a binary ... as this is what KV expects
2017-04-07 17:08:40 +00:00
martinsumner
6d42abbc1a
Add bybucket to fold_heads
...
give fold_heads equivalent functionality to fold_objects - both can now
be done for allkeys and bybucket
2017-04-07 14:56:28 +00:00
martinsumner
9375baf636
Add unit test for foldheads
...
compare foldheads foldobjects and hahstree_query output
2017-04-07 14:19:25 +00:00
martinsumner
b464e2e28c
Extend foldobjects to support proxy object
...
To allow for folds which probbaly don't need values to not always to
have to fetch the value
2017-04-07 12:09:11 +00:00
Martin Sumner
4e9fa2a206
Timeout long-running snapshots
...
Add logic to timeout long-running snapshots.
2017-04-05 09:16:01 +01:00
martinsumner
400f65f557
Switch to binary metadata
...
Trya nd maintain binary format when stored in Ledger so less
swapping/changing as added and removed.
2017-04-04 10:02:35 +00:00
Martin Sumner
1146e843bc
Merge pull request #56 from martinsumner/mas-inkfetch
...
Remove binary_to_term
2017-03-30 11:29:26 +01:00
martinsumner
6143fcb664
Remove binary_to_term
...
when fetching don't need to binary_to_term key changes
2017-03-29 15:37:04 +01:00
Martin Sumner
512af7f41a
Missing space
2017-03-24 16:11:20 +00:00
Martin Sumner
1335b11d82
Merge pull request #55 from martinsumner/mas-docs2i
...
Mas docs2i
2017-03-24 16:09:17 +00:00
martinsumner
f838ffda2c
Typo
2017-03-24 15:41:33 +00:00
martinsumner
6de9740bda
Typo
2017-03-24 15:31:19 +00:00
Martin Sumner
eeae245442
Merge pull request #54 from martinsumner/mas-sstfiveblocks
...
Mas sstfiveblocks
2017-03-24 15:27:09 +00:00
martinsumner
5e1482d71b
2i query test results
...
Write-up of 2i query test results
2017-03-24 15:20:03 +00:00
Martin Sumner
8db73917fb
Need also to remove unused bits
2017-03-22 00:14:37 +00:00
Martin Sumner
15af4942ae
Remove busy log
...
Accounts for 60% of logs
2017-03-22 00:11:17 +00:00
martinsumner
97312e1356
Test to reflect vclock not binary
2017-03-21 18:28:28 +00:00
martinsumner
e59585d733
Merge remote-tracking branch 'refs/remotes/origin/mas-etsmem-i52' into mas-sstfiveblocks
2017-03-21 18:25:18 +00:00
martinsumner
eef2199335
Up level for yield to 2
2017-03-21 18:24:11 +00:00
martinsumner
f108871691
Vclock metadata change
...
Test performance ocntinues to be worse since the vlock metadata change.
Reversing out juts in case.
2017-03-21 18:15:56 +00:00
martinsumner
756b46bb4d
Return to merge scan width of 16
...
This was reduced before the use of binary blocks was committed
2017-03-21 17:53:34 +00:00
martinsumner
1fdcdf3b37
Midblock size - lookup
...
No real reason for the midblock to be smaller in lookup slots - so give
the blocks a more consistent size
2017-03-21 17:47:08 +00:00
martinsumner
64e944d9ba
Change to 5 blocks in SST Slot
...
Change to 5 blocks is intended to make the blocks in lookup slots
fractionally smaller, but more importantly to introduce a middle block
that cna be opened in a binary-split style fashion to reduce the number
of blocks that need to be opened for range queries. Worst case for
full slots is 3 blocks now not 4.
2017-03-21 16:54:23 +00:00
martinsumner
682dfc4d59
Revert "Revert "ETS - delete table not objects""
...
This reverts commit c46377584f
.
2017-03-21 12:02:22 +00:00
martinsumner
dd0316eedf
Yield on query selectively
...
Still not clear if yielding is the cause of memory problems, but taking
it away universally has impacted throughput. At the very least we
should continue to yield on high-contention files (those at higher
levels), where the processes are more likely to be quickly terminated
anyway allowing GC to be invoked.
2017-03-21 11:03:29 +00:00
martinsumner
c46377584f
Revert "ETS - delete table not objects"
...
This reverts commit 7dc4913d5a
.
2017-03-21 01:32:41 +00:00
martinsumner
e18d2f2f00
Delete the ETS table from CDB files
...
Rather than simply dereference it - delete it
2017-03-21 01:31:42 +00:00
martinsumner
419541f5dd
Fix to delete_pending state
2017-03-20 23:43:31 +00:00
martinsumner
415ac6017b
Move sst get_kv range back inside process
...
Moved outside to stop blocking, but also avoids copy. Move back out to
see if it may be related to the binary memory leak
2017-03-20 23:22:46 +00:00
martinsumner
14d445b989
Merge remote-tracking branch 'refs/remotes/origin/master' into mas-etsmem-i52
2017-03-20 22:46:18 +00:00
Martin Sumner
46759b945b
Merge pull request #53 from martinsumner/mas-cdbcrc-i31
...
Switch to binary vclock
2017-03-20 22:44:59 +00:00
Martin Sumner
a2c164e1dd
Switch to binary vclock
2017-03-20 22:44:19 +00:00
martinsumner
7dc4913d5a
ETS - delete table not objects
...
Try and delete the table not just the objects in the table - will this
improve memory leak?
2017-03-20 22:43:22 +00:00
Martin Sumner
43c5f2fb07
Merge pull request #51 from martinsumner/mas-cdbcrc-i31
...
Mas cdbcrc i31
2017-03-20 22:18:40 +00:00
Martin Sumner
eec9d509f9
Add back hash performance tests
...
Need to consider if magic hash is an issue
2017-03-20 20:28:47 +00:00
martinsumner
7154815a2b
Keep vclock as binary
...
No obvious, need at present for vlock to be a term within leveled
2017-03-20 20:28:02 +00:00
Martin Sumner
994d9758b0
Object now 4 bytes larger
...
due to addition of key changes length
2017-03-20 16:21:49 +00:00
martinsumner
f3ffa920af
Trying to standardise binary manipulation of value
...
Looking into theory that use of term_to_binary is imperfect. Also may
be better to compress values only when they are compacted?
2017-03-20 15:43:54 +00:00
Martin Sumner
0cdc0eb558
Merge pull request #50 from martinsumner/mas-sstbinarytrim-i42
...
Mas sstbinarytrim i42
2017-03-20 10:28:55 +00:00
martinsumner
5c662aeca1
Additional unit test
...
Need to test scenario where the key list the SST file created from is an
exact multiple of the slot size
2017-03-19 23:42:24 +00:00