1. 09 12月, 2015 13 次提交
  2. 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
  3. 05 12月, 2015 4 次提交
    • S
      Replace malloc with new for LRU Cache Handle · 3a98a7ae
      SherlockNoMad 提交于
      3a98a7ae
    • I
      Fix db_universal_compaction_test · a9ca9107
      Islam AbdelRahman 提交于
      Summary:
      db_universal_compaction_test is still failing because of
      UniversalCompactionNumLevels/DBTestUniversalCompaction.UniversalCompactionSecondPathRatio/0
      
      https://travis-ci.org/facebook/rocksdb/jobs/94949919
      
      Use same approach to fix other tests to fix this test
      
      Test Plan: Run ./db_universal_compaction_test on mac and make sure all the tests pass
      
      Reviewers: kradhakrishnan, yhchiang, rven, anthony, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D51591
      a9ca9107
    • K
      Build break fix. · d3bb572d
      krad 提交于
      Summary: Skip list now cannot estimate memory across allocators
      consistently and hence triggers flush at different time. This breaks certain
      unit tests.
      
      The fix is to adopt key count instead of size for flush.
      
      Test Plan: Ran test on dev box and mac (where it used to fail)
      
      Reviewers: sdong
      
      CC: leveldb@
      
      Task ID: #9273334
      
      Blame Rev:
      d3bb572d
    • J
      Added callback notification when a snapshot is created · b28b7c6d
      Jay Edgar 提交于
      Summary: When SetSnapshot() is used the caller immediately knows a snapshot has been created, but when SetSnapshotOnNextOperation() is used the caller needs a way to get notified when that snapshot has been generated.  This creates an interface that the client can implement that will be called at the time the snapshot is created.
      
      Test Plan: Added a new SetSnapshotOnNextOperationWithNotification test into the transaction_test.
      
      Reviewers: sdong, anthony
      
      Reviewed By: anthony
      
      Subscribers: yoshinorim, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51177
      b28b7c6d
  4. 04 12月, 2015 2 次提交
    • A
      added public api to schedule flush/compaction, code to prevent race with db::open · e8180f99
      Alex Yang 提交于
      Summary:
      Fixes T8781168.
      
      Added a new function EnableAutoCompactions in db.h to be publicly
      avialable.  This allows compaction to be re-enabled after disabling it via
      SetOptions
      
      Refactored code to set the dbptr earlier on in TransactionDB::Open and DB::Open
      Temporarily disable auto_compaction in TransactionDB::Open until dbptr is set to
      prevent race condition.
      
      Test Plan:
      Ran make all check
      
      verified fix on myrocks side:
      was able to reproduce the seg fault with
      ../tools/mysqltest.sh --mem --force rocksdb.drop_table
      
      method was to manually sleep the thread after DB::Open but before TransactionDB ptr was
      assigned in transaction_db_impl.cc:
        DB::Open(db_options, dbname, column_families_copy, handles, &db);
        clock_t goal = (60000 * 10) + clock();
        while (goal > clock());
        ...dbptr(aka rdb) gets assigned below
      
      verified my changes fixed the issue.
      
      Also added unit test 'ToggleAutoCompaction' in transaction_test.cc
      
      Reviewers: hermanlee4, anthony
      
      Reviewed By: anthony
      
      Subscribers: alex, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51147
      e8180f99
    • I
      Merge pull request #865 from yuslepukhin/fix_db_table_properties_test · 19b1201b
      Islam AbdelRahman 提交于
      Avoid empty ranges vector with subsequent zero element access
      19b1201b
  5. 03 12月, 2015 3 次提交
  6. 02 12月, 2015 3 次提交
    • S
      Relax verification condition of DBTest.SuggestCompactRangeTest · bcd7bd12
      sdong 提交于
      Summary: Verifiction condition of DBTest.SuggestCompactRangeTest is too strict. Based on key distribution, we might have more small files in last level. Not check number of files in the last level.
      
      Test Plan: Run DBTest.SuggestCompactRangeTest with both of jemalloc on and off.
      
      Reviewers: rven, IslamAbdelRahman, yhchiang, kradhakrishnan, igor, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51501
      bcd7bd12
    • S
      DBTest.DynamicCompactionOptions: More deterministic and readable · f9103d9a
      sdong 提交于
      Summary: DBTest.DynamicCompactionOptions sometimes fails the assert but I can't repro it locally. Make it more deterministic and readable and see whether the problem is still there.
      
      Test Plan: Run tht test and make sure it passes
      
      Reviewers: kradhakrishnan, yhchiang, igor, rven, IslamAbdelRahman, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51309
      f9103d9a
    • S
      Fix DBCompactionTestWithParam.CompactionTrigger in non-jemalloc build. · 0ad68518
      sdong 提交于
      Summary: DBCompactionTestWithParam.CompactionTrigger fails in non-jemalloc build, after the skip list memtable change. Fix it by making mem table flush trigger by number of entries.
      
      Test Plan: Run the test using both of jemalloc and non-jemalloc build.
      
      Reviewers: anthony, IslamAbdelRahman, rven, kradhakrishnan, igor, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D51471
      0ad68518
  7. 01 12月, 2015 7 次提交