Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tag: 1.2.0
Commits on Sep 7, 2011
  1. @jaredmorrow

    Roll version 1.2.0

    jaredmorrow authored
  2. @jaredmorrow
Commits on Aug 22, 2011
  1. @jonmeredith

    Updated stale comments.

    jonmeredith authored
Commits on Aug 12, 2011
  1. @jonmeredith
  2. @jonmeredith
Commits on Aug 11, 2011
  1. @jonmeredith
  2. @jonmeredith
  3. @jonmeredith
  4. @jonmeredith

    Removed debug calls to dump_fstats.

    jonmeredith authored
    Left the function in for future debugging.
  5. @jonmeredith
  6. @jonmeredith
  7. @jonmeredith
  8. @jonmeredith

    Reverted stats for remove.

    jonmeredith authored
    And fixed remaining put_int case.
  9. @jonmeredith
  10. @jonmeredith
Commits on Aug 8, 2011
  1. @jonmeredith
  2. @jonmeredith

    Added pending hash and updated get/put/remove to check it. Incomplete.

    jonmeredith authored
    Still needs to be hooked up to iterators and add code to update stats
    and merge back into keydir->entries.
  3. @jonmeredith
  4. @jonmeredith
  5. @jonmeredith
Commits on Aug 5, 2011
  1. @jonmeredith
Commits on Jul 11, 2011
  1. @jonmeredith

    Changed next data file name (timestamp) to be greater than any curren…

    jonmeredith authored
    …t fileid.
    
    If multiple data files are created in a second, previously bitcask would
    just increment the timestamp based filename by one and try and create again.
    With very small file sizes the next active filename could get many seconds
    ahead of the current time.  If merge ran and removed files then it would create
    new files with timestamps less than the current output file confusing the merge
    logic.
  2. @jonmeredith

    Improved merging in bctt.

    jonmeredith authored
    The writer thread now calls needs_merge (which closes open file handles
    from the old merge) and kicks the merge process using the filenames
    returned by merge.
    
    Added support for merge parameters.
    
    Added extra docs in the header comment.
Commits on May 11, 2011
  1. @slfritchie
  2. @slfritchie

    Bug 1097: Truncated data file then merge triggers error in bitcask_fi…

    slfritchie authored
    …leops:fold/3
    
    Add truncated_merge_test(): permutations of truncating *.data and *.hint
    files in the middle of and after the file header.  Issue warnings via
    error_logger:error_msg() when problems are found.
  3. @slfritchie
  4. @slfritchie
Commits on May 10, 2011
  1. @slfritchie

    Bug 441: detect and report bad datafile entry

    slfritchie authored
    For bitcask:get(): avoid badmatch errors when {error, X} is returned
    by bitcask_fileops:read().  If {error, eof}, then return 'not_found'.
    
    Also, when Bitcask scans hint files, stop scanning a file that contains
    a pointer to data that's past the corresponding data file's EOF.  That
    should eliminated the possibility of bitcask_fileops:read() returning
    {error, eof}, but it can't hurt to have that new eof check in there
    anyway.
    
    Also, remove an unused case clause, as recommended by Dialyzer
Commits on May 5, 2011
  1. @jonmeredith

    Bumped version to 1.1.6

    jonmeredith authored
    Includes bz://1090 fix.
Commits on May 4, 2011
  1. @jonmeredith

    Review cleanups.

    jonmeredith authored
    Thanks for review comments from Justin.
    * Cleared iterating flag on itr cleanup.
    * keydir_put_int now returns {error, iteration_in_progress).
  2. @jonmeredith

    Replaced rwlock on keydir with simple mutex.

    jonmeredith authored
    Fixes: bz://1090
    
    Fixes a beam-wide deadlock due to the keydir RW lock being held
    for read in fold_keys while the VM goes in and out of the NIF.
    If a merger thread tries to write it will try and write lock
    in the put_int call.  If the key folder and writer are on the same
    scheduler the put from the merge will block completion of the fold.
    
    The RW locks have been replaced by a mutex and count of key folders.
    To write the put_int call must lock the mutex and check there are
    not key folders.  If there are it releases the mutex and retries.
    Writes may be blocked for a long time if there are many key folders
    being started.  A fairer wait/notification system should be implemented
    once we are happy this resolves the problem.
    
    There is a stub function bitcask_nifs:put_retries you can trace
    on to see the count.
Commits on May 3, 2011
  1. @dizzyd
  2. @dizzyd

    Add QC test for fold_keys

    dizzyd authored
Commits on Apr 7, 2011
  1. remove vestigial dep on ebloom

    Justin Sheehy authored
Commits on Apr 5, 2011
  1. add licensing comment

    Justin Sheehy authored
Something went wrong with that request. Please try again.