It's better just to call error_logger:warning_msg/2 here. See also commit f9a1069 Signed-off-by: Peter Lemenkov <email@example.com>
Fix merge logging bug introduced by bs-merge-expiration-change branch
add dialyzer targets
The original author of this spec used the type `record()` but I'm pretty sure `tuple()` was intended as a record is really just a tuple at runtime.
Change behavior of merge when merging for data expiration
Tag bitcask 1.6.1
Improve fold speed for large files filled with small objects.
two major changes: - replace the visitor fold with an explict crc check. - rewrite all folds in terms a new large file fold function that adaptively prefetches (and jumps around when prefetching is the wrong thing to do) data so that we're operating on larger chunks of data, instead of doing a large number of small reads.
Fix race with deleting stale input files from merge, h/t @evanmcc
Evan found a failing QuickCheck + PULSE test case that causes a fold to fail when racing with a merge. The race appears to be very difficult to trigger via QC + PULSE, alas, even when tweaking the operation weights to get more puts + folds + merge operations to happen on average. My proposed fix is to move the call to `purge_setuid_files/1` to the `init_keydir()` function. `init_keydir()` knows if we're opening the keydir for the first time (`not_ready` or not), so purge the stale setuid files only in the `not_ready` case.
defaults to call the unit tests twice, once for each io_mode.