1. 12 12月, 2015 5 次提交
    • I
      Merge pull request #882 from SherlockNoMad/BuildFix · d26a4ea6
      Islam AbdelRahman 提交于
      Fix appVeyor Build problem
      d26a4ea6
    • S
      Fix appVeyor Build problem · 768a6148
      SherlockNoMad 提交于
      768a6148
    • A
      Transaction::SetWriteOptions() · 84f98792
      agiardullo 提交于
      Summary: Add support to change write options after creating a transaction.  This is needed for MongoRocks.
      
      Test Plan: added test
      
      Reviewers: sdong, rven, kradhakrishnan, IslamAbdelRahman, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51867
      84f98792
    • A
      Use SST files for Transaction conflict detection · 3bfd3d39
      agiardullo 提交于
      Summary:
      Currently, transactions can fail even if there is no actual write conflict.  This is due to relying on only the memtables to check for write-conflicts.  Users have to tune memtable settings to try to avoid this, but it's hard to figure out exactly how to tune these settings.
      
      With this diff, TransactionDB will use both memtables and SST files to determine if there are any write conflicts.  This relies on the fact that BlockBasedTable stores sequence numbers for all writes that happen after any open snapshot.  Also, D50295 is needed to prevent SingleDelete from disappearing writes (the TODOs in this test code will be fixed once the other diff is approved and merged).
      
      Note that Optimistic transactions will still rely on tuning memtable settings as we do not want to read from SST while on the write thread.  Also, memtable settings can still be used to reduce how often TransactionDB needs to read SST files.
      
      Test Plan: unit tests, db bench
      
      Reviewers: rven, yhchiang, kradhakrishnan, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb, yoshinorim
      
      Differential Revision: https://reviews.facebook.net/D50475
      3bfd3d39
    • 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 4 次提交
    • 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