Permalink
Commits on May 11, 2011
  1. Bug 1097: Truncated data file then merge triggers error in bitcask_fi…

    …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.
    slfritchie committed May 11, 2011
Commits on May 10, 2011
  1. Bug 441: detect and report bad datafile entry

    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
    slfritchie committed May 10, 2011
Commits on May 5, 2011
  1. Bumped version to 1.1.6

    Includes bz://1090 fix.
    jonmeredith committed May 5, 2011
Commits on May 4, 2011
  1. Review cleanups.

    Thanks for review comments from Justin.
    * Cleared iterating flag on itr cleanup.
    * keydir_put_int now returns {error, iteration_in_progress).
    jonmeredith committed May 4, 2011
  2. Replaced rwlock on keydir with simple mutex.

    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.
    jonmeredith committed May 4, 2011
Commits on May 3, 2011
  1. Add QC test for fold_keys

    dizzyd committed May 3, 2011
Commits on Apr 7, 2011
  1. remove vestigial dep on ebloom

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

    Justin Sheehy committed Apr 5, 2011
Commits on Apr 4, 2011
Commits on Mar 16, 2011
  1. Fix R14B02 compatibility

    tuncer committed with dizzyd Feb 22, 2011
  2. bitcask:get_filestate(): Only call filename:join() when needed.

    Profiling showed that filename:join() consumed quite a bit of time
    (eprof said 6% in a Riak use case).  By using the FileId as key
    instead of the filename, we can avoid this overhead.
    esstrifork committed with dizzyd Mar 3, 2011
Commits on Feb 24, 2011
  1. fix spec to match new fold fun signature

    Justin Sheehy committed Feb 24, 2011
Commits on Feb 17, 2011
  1. Merge branch 'dss-dialyzer-fixes'

    dizzyd committed Feb 17, 2011
Commits on Feb 15, 2011
  1. Merge branch 'bloomremove'

    Justin Sheehy committed Feb 15, 2011
Commits on Feb 10, 2011
  1. Merge branch 'master' of github.com:basho/bitcask

    Justin Sheehy committed Feb 10, 2011
  2. update to newer rebar to fix deps bug

    Justin Sheehy committed Feb 10, 2011
  3. update to newer rebar to fix deps bug

    Justin Sheehy committed Feb 10, 2011
Commits on Feb 9, 2011
  1. Improved per-key test inside bitcask:fold.

    (no longer using bloom filter, now also using file-tstamp)
    Justin Sheehy committed Feb 9, 2011
  2. added a try around the applyops in QC test, thanks diz.

    Justin Sheehy committed Feb 9, 2011
Commits on Jan 25, 2011
Commits on Jan 5, 2011
  1. Bumping to 1.1.5

    dizzyd committed Jan 5, 2011
Commits on Dec 3, 2010
  1. Undo the undo commit 39b3554 {sigh}

    Apparently I need to read graphs a bit more closely.  Or tell the
    difference between left & right.  Or merge the proper branch X into the
    proper branch Y before pushing to the outside world.  Or something.
    
    Translation: restore Jon's bctt script and Ryan's packaging changes.
    slfritchie committed Dec 3, 2010
  2. Undo merge-gone-bad: send master back to 37dadde to undo all changes …

    …since then: bctt & packaging & Edoc changes.
    
    My attempt to merge origin/fix_edoc_error_with_ampersand included a bunch
    of other stuff that it shouldn't have included.  I should've checked this
    before pushing.  Undoing the brute-force way.
    slfritchie committed Dec 3, 2010