1. 12 12月, 2015 1 次提交
    • K
      Improving parser · 362d819a
      krad 提交于
      Summary: Improving the parser string to make better error report. Currently the
      error report fails to capture the assert details. This fix addresses the issue.
      
      Test Plan: None
      
      Reviewers:
      
      CC: leveldb@
      
      Task ID: #6968635
      
      Blame Rev:
      362d819a
  2. 11 12月, 2015 8 次提交
    • Y
      Ensure the destruction order of PosixEnv and ThreadLocalPtr · 00d6edf6
      Yueh-Hsuan Chiang 提交于
      Summary:
      By default, RocksDB initializes the singletons of ThreadLocalPtr first, then initializes PosixEnv
      via static initializer.  Destructor terminates objects in reverse order, so terminating PosixEnv
      (calling pthread_mutex_lock), then ThreadLocal (calling pthread_mutex_destroy).
      
      However, in certain case, application might initialize PosixEnv first, then ThreadLocalPtr.
      This will cause core dump at the end of the program (eg. https://github.com/facebook/mysql-5.6/issues/122)
      
      This patch fix this issue by ensuring the destruction order by moving the global static singletons
      to function static singletons.  Since function static singletons are initialized when the function is first
      called, this property allows us invoke to enforce the construction of the static PosixEnv and the
      singletons of ThreadLocalPtr by calling the function where the ThreadLocalPtr singletons belongs
      right before we initialize the static PosixEnv.
      
      Test Plan: Verified in the MyRocks.
      
      Reviewers: yoshinorim, IslamAbdelRahman, rven, kradhakrishnan, anthony, sdong, MarkCallaghan
      
      Reviewed By: anthony
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51789
      00d6edf6
    • I
      Merge pull request #862 from ceph/wip-env · 64fa4384
      Igor Canadi 提交于
      implement EnvMirror
      64fa4384
    • S
      env: add EnvMirror · 2074ddd6
      Sage Weil 提交于
      This is an Env implementation that mirrors all storage-related methods on
      two different backend Env's and verifies that they return the same
      results (return status and read results).  This is useful for implementing
      a new Env and verifying its correctness.
      Signed-off-by: NSage Weil <sage@redhat.com>
      2074ddd6
    • Y
      Correct a comment in include/rocksdb/cache.h · a3ba5915
      Yueh-Hsuan Chiang 提交于
      Summary: Correct a comment in include/rocksdb/cache.h
      
      Test Plan: No code change.
      
      Reviewers: igor, sdong, IslamAbdelRahman, rven, kradhakrishnan, anthony
      
      Reviewed By: anthony
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51831
      a3ba5915
    • Y
      Fixed the valgrind error in ColumnFamilyTest::CreateAndDropRace · f0a8e5a2
      Yueh-Hsuan Chiang 提交于
      Summary: Fixed the valgrind error in ColumnFamilyTest::CreateAndDropRace
      
      Test Plan: valgrind --error-exitcode=2 --leak-check=full ./column_family_test
      
      Reviewers: kradhakrishnan, rven, anthony, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51795
      f0a8e5a2
    • A
      Change SingleDelete to support conflict checking · 9e446290
      agiardullo 提交于
      Summary: For Transactions, we want to start using the SST files to do write conflict checking.  To do this, we need to make sure that compaction never removes all writes if an earlier snapshot exists.  So I had to change the way we process SingleDeletes to sometimes leave a SingleDelete behind when we encounter a Put followed by a SingleDelete.  See the comments in this diff for a more detailed explanation.
      
      Test Plan: added more unit tests
      
      Reviewers: rven, igor, kradhakrishnan, IslamAbdelRahman, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D50295
      9e446290
    • I
      Merge pull request #879 from charsyam/feature/typos · c5af8bff
      Igor Canadi 提交于
      fix typos in comments
      c5af8bff
    • C
      fix typos in comments · c30b4995
      charsyam 提交于
      c30b4995
  3. 10 12月, 2015 7 次提交
  4. 09 12月, 2015 16 次提交
  5. 08 12月, 2015 8 次提交
    • A
      Support marking snapshots for write-conflict checking · ec704aaf
      agiardullo 提交于
      Summary:
      D50475 enables using SST files for transaction write-conflict checking.  In order for this to work, we need to make sure not to compact out SingleDeletes when there is an earlier transaction snapshot(D50295).  If there is a long-held snapshot, this could reduce the benefit of the SingleDelete optimization.
      
      This diff allows Transactions to mark snapshots as being used for write-conflict checking.  Then, during compaction, we will be able to optimize SingleDeletes better in the future.
      
      This diff adds a flag to SnapshotImpl which is used by Transactions.  This diff also passes the earliest write-conflict snapshot's sequence number to CompactionIterator.  This diff does not actually change Compaction (after this diff is pushed, D50295 will be able to use this information).
      
      Test Plan: no behavior change, ran existing tests
      
      Reviewers: rven, kradhakrishnan, yhchiang, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51183
      ec704aaf
    • S
      Fix occasional failure of DBTest.DynamicCompactionOptions · 770dea93
      sdong 提交于
      Summary: DBTest.DynamicCompactionOptions ocasionally fails during valgrind run. We sent a sleeping task to block compaction thread pool but we don't wait it to run.
      
      Test Plan: Run the test multiple times in an environment which can cause failure.
      
      Reviewers: rven, kradhakrishnan, igor, IslamAbdelRahman, anthony, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51687
      770dea93
    • S
      Split histogram per OperationType in db_bench · ebc2d490
      SherlockNoMad 提交于
      ebc2d490
    • S
      Revert "Fix a race condition in persisting options" · f307036b
      sdong 提交于
      This reverts commit 2fa3ed51. It breaks RocksDB lite build
      f307036b
    • Y
      Fix a race condition in persisting options · 2fa3ed51
      Yueh-Hsuan Chiang 提交于
      Summary:
      This patch fix a race condition in persisting options which will cause a crash when:
      
      * Thread A obtain cf options and start to persist options based on that cf options.
      * Thread B kicks in and finish DropColumnFamily and delete cf_handle.
      * Thread A wakes up and tries to finish the persisting options and crashes.
      
      Test Plan: Add a test in column_family_test that can reproduce the crash
      
      Reviewers: anthony, IslamAbdelRahman, rven, kradhakrishnan, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51609
      2fa3ed51
    • V
      Fix valgrind failures in 3 tests in db_compaction_test due to new skiplist changes · f276c3a8
      Venkatesh Radhakrishnan 提交于
      Summary:
      Several tests in db_compaction_test are failing with aborts in
      valgrind. These are LevelCompactionThirdPath, LevelCompactionPathUse and
      CompressLevelCompaction. We now use the SpecialSkipListFactory to make
      them more deterministic
      
      Test Plan: valgrind
      
      Reviewers: anthony, yhchiang, kradhakrishnan, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51663
      f276c3a8
    • S
      Fix undeterministic failure of ColumnFamilyTest.DifferentWriteBufferSizes · 291088ae
      sdong 提交于
      Summary: After the skip list optimization, ColumnFamilyTest.DifferentWriteBufferSizes can occasionally fail with flush triggering of column family 3. Insert more data to it to make sure flush will trigger.
      
      Test Plan: Run it multiple times with both of jemaloc on and off and see it always passes. (Without thd commit the run with jemalloc fails with chance of about one in two)
      
      Reviewers: rven, yhchiang, IslamAbdelRahman, anthony, kradhakrishnan, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51645
      291088ae
    • S