1. 10 9月, 2015 2 次提交
    • A
      Update HISTORY file for transactions · 25dbc579
      agiardullo 提交于
      Summary: Move line about pessimistic transactions to the correct place in the history file and no longer refer to it as 'experimental'
      
      Test Plan: n/a
      
      Reviewers: igor, sdong, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46449
      25dbc579
    • K
      Minor fix to sandcastle jobs commands · 52386a1e
      krad 提交于
      Summary: Dropping parallel compilation since that seen to introduce compilation
      errors spuriously
      
      Test Plan: Run the command manually
      
      Reviewers: sdon igor
      
      CC: leveldb@
      
      Task ID: #6968635
      
      Blame Rev:
      52386a1e
  2. 09 9月, 2015 9 次提交
    • A
      better tuning of arena block size · b5b2b75e
      agiardullo 提交于
      Summary: Currently, if users didn't set options.arena_block_size, we set "result.arena_block_size = result.write_buffer_size / 10". It makes result.arena_block_size not a multiplier of 4KB, even if options.write_buffer_size is a multiplier of MBs. When calling malloc to arena_block_size, we may waste a small amount of memory for it. We now make the default to be /8 or /16 and align it to 4KB.
      
      Test Plan: unit tests
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46467
      b5b2b75e
    • S
      Make DBTest.OptimizeFiltersForHits more deterministic · 342ba808
      sdong 提交于
      Summary:
      This commit makes DBTest.OptimizeFiltersForHits more deterministic by:
      (1) make key inserts more random
      (2) make sure L0 has one file
      (3) make file size smaller compared to level target so L1 will cover more range.
      
      Test Plan: Run the test many times.
      
      Reviewers: rven, IslamAbdelRahman, kradhakrishnan, igor, anthony
      
      Reviewed By: anthony
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D46461
      342ba808
    • A
      Relaxed assert in forward iterator · e17e92ea
      Andres Notzli 提交于
      Summary:
      It looks like in some cases an assert in SeekInternal failed when computing the
      hints for the next level because user_key was the same as the largest key and
      not strictly smaller. Relaxing the assert to expect smaller or equal keys.
      
      Test Plan: make clean all check
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46443
      e17e92ea
    • A
      TransactionDB Custom Locking API · 5e94f68f
      agiardullo 提交于
      Summary:
      Prototype of API to allow MyRocks to override default Mutex/CondVar used by transactions with their own implementations.  They would simply need to pass their own implementations of Mutex/CondVar to the templated TransactionDB::Open().
      
      Default implementation of TransactionDBMutex/TransactionDBCondVar provided (but the code is not currently changed to use this).
      
      Let me know if this API makes sense or if it should be changed
      
      Test Plan: n/a
      
      Reviewers: yhchiang, rven, igor, sdong, spetrunia
      
      Reviewed By: spetrunia
      
      Subscribers: maykov, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D43761
      5e94f68f
    • A
      Fixed broken build due to format specifier · 0ccf2db3
      Andres Notzli 提交于
      Summary:
      Clang expects %llu for uint64_t, while gcc expects %lu. Replaced the format
      specifier with a format macro. This should fix the build on gcc and Clang.
      
      Test Plan: Build on gcc and clang.
      
      Reviewers: rven, anthony, yhchiang, sdong, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46431
      0ccf2db3
    • A
      Added Equal method to Comparator interface · 6bdc484f
      Andres Noetzli 提交于
      Summary:
      In some cases, equality comparisons can be done more efficiently than three-way
      comparisons. There are quite a few places in the code where we only care about
      equality. This patch adds an Equal() method that defaults to using the
      Compare() method.
      
      Test Plan: make clean all check
      
      Reviewers: rven, anthony, yhchiang, igor, sdong
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46233
      6bdc484f
    • A
      Tests for ManifestDumpCommand and ListColumnFamiliesCommand · 7a31960e
      Amit Arya 提交于
      Summary:
      Added tests for two LDBCommands namely i) ManifestDumpCommand and ii) ListColumnFamiliesCommand.
      + Minor fix in the sscanf formatter (along relace C cast with C++ cast) + replacing localtime with localtime_r which is thread safe.
      
      Test Plan: make all && ./tools/ldb_test.py
      
      Reviewers: anthony, igor, IslamAbdelRahman, kradhakrishnan, lgalanis, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D45819
      7a31960e
    • K
      Adding email notification. · 778cf444
      krad 提交于
      Summary: The email notifications needs to be at command level and the job level.
      Adding command level notification.
      
      Test Plan: Run command manually
      
      Reviewers: igor sdong
      
      CC: leveldb@
      
      Task ID: #6968635
      
      Blame Rev:
      778cf444
    • A
      Fixed comparison in ForwardIterator when computing hint for GetNextLevelIndex() · 3a0df7f1
      Andres Noetzli 提交于
      Summary: When computing the hint for GetNextLevelIndex(), ForwardIterator was doing a redundant comparison. This patch fixes the comparison (using https://github.com/facebook/rocksdb/blob/master/db/version_set.cc#L158 as a reference) and moves it inside an assert because we expect `level_files[f_idx]` to contain the next key after Seek(), so user_key should always be smaller than the largest key.
      
      Test Plan: make clean all check
      
      Reviewers: rven, anthony, yhchiang, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: tnovak, sdong, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46227
      3a0df7f1
  3. 05 9月, 2015 1 次提交
  4. 04 9月, 2015 5 次提交
  5. 03 9月, 2015 12 次提交
    • A
      Add SetLockTimeout for Transactions · 0f1aab6c
      agiardullo 提交于
      Summary: MyRocks wants to be able to change the lock timeout of a transaction that has already started.  Expose existing SetLockTimeout function to users.
      
      Test Plan: unit test
      
      Reviewers: spetrunia, rven, sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45987
      0f1aab6c
    • I
      Fix compile · 14456aea
      Igor Canadi 提交于
      Summary: There was a merge conflict with https://reviews.facebook.net/D45993
      
      Test Plan: make check
      
      Reviewers: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46065
      14456aea
    • I
      Optimize bloom filter cache misses · 76f286cc
      Igor Canadi 提交于
      Summary:
      This optimizes the case when (cache_index_and_filter_blocks=1) and bloom filter is not present in the cache.
      
      Previously we did:
      1. Read meta block from file
      2. Read the filter position from the meta block
      3. Read the filter
      
      Now, we pre-load the filter position on Table::Open(), so we can skip steps (1) and (2) on bloom filter cache miss. Instead of 2 IOs, we do only 1.
      
      Test Plan: make check
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46047
      76f286cc
    • Y
      Fixed a compile warning in rocksjni/loggerjnicallback.cc · 0e6e5472
      Yueh-Hsuan Chiang 提交于
      Summary:
      This patch fixes the following compile warning.
          java/rocksjni/loggerjnicallback.cc: In constructor ‘rocksdb::LoggerJniCallback::LoggerJniCallback(JNIEnv*, jobject)’:
          java/rocksjni/loggerjnicallback.cc:19:14: warning: unused variable ‘rs’ [-Wunused-variable]
             const jint rs = env->GetJavaVM(&m_jvm);
                        ^
      
      Test Plan: make rocksdbjavastaticrelease
      
      Reviewers: sdong, anthony, IslamAbdelRahman, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45981
      0e6e5472
    • K
      Adding commands for few more CI jobs. · b8a962d4
      krad 提交于
      Summary: Added commands to spawn crash, stress, asan, asan_crash, clang CI jobs
      
      Test Plan: Manual test
      
      Reviewers: sdong
      
      CC: leveldb@
      
      Task ID: #6968635
      
      Blame Rev:
      b8a962d4
    • I
      Add Cloudera's blog post to USERS.md · 8a2d59a3
      Igor Canadi 提交于
      Summary: As title
      
      Test Plan: none
      
      Reviewers: yhchiang, rven, anthony, IslamAbdelRahman, kradhakrishnan, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D46053
      8a2d59a3
    • A
      Unified maps with Comparator for sorting, other cleanup · 3c9cef1e
      Andres Noetzli 提交于
      Summary:
      This diff is a collection of cleanups that were initially part of D43179.
      Additionally it adds a unified way of defining key-value maps that use a
      Comparator for sorting (this was previously implemented in four different
      places).
      
      Test Plan: make clean check all
      
      Reviewers: rven, anthony, yhchiang, sdong, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45993
      3c9cef1e
    • S
      Bug fix: table readers created by TableCache::Get() doesn't have latency histogram reported · 3e0a672c
      sdong 提交于
      Summary: TableCache::Get() puts parameters in the wrong places so that table readers created by Get() will not have the histogram updated.
      
      Test Plan: Will write a unit test for that.
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D46035
      3e0a672c
    • I
      Remove the need for LATEST_BACKUP in BackupEngine · b42cd6be
      Igor Canadi 提交于
      Summary:
      In the first implementation of BackupEngine, LATEST_BACKUP was the commit point. The backup became committed after the write to LATEST_BACKUP completed.
      
      However, we can avoid the need for LATEST_BACKUP. Instead of write to LATEST_BACKUP, the commit point can be the rename from `meta/<backup_id>.tmp` to `meta/<backup_id>`. Once we see that there exists a file `meta/<backup_id>` (without tmp), we can assume that backup is valid.
      
      In this diff, we still write out the file LATEST_BACKUP. We need to do this so that we can maintain backward compatibility. However, the new version doesn't depend on this file anymore. We get the latest backup by `ls`-ing `meta` directory.
      
      This diff depends on D41925
      
      Test Plan: Adjusted backupable_db_test to this new behavior
      
      Reviewers: benj, yhchiang, sdong, AaronFeldman
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D42069
      b42cd6be
    • S
      Merge pull request #705 from yuslepukhin/rate_limiter_fix · 0f763db2
      Siying Dong 提交于
      Make WinEnv::NowMicros return system time
      0f763db2
    • A
      t6913679: Use fallocate on LOG FILESS · 20c44fef
      Amit Arya 提交于
      Summary: Use fallocate on LOG FILES to
      
      Test Plan:
      make check
      +
      ===check with strace===
      
      [arya@devvm1441 ~/rocksdb] strace -e trace=fallocate ./ldb --db=/tmp/test_new scan
      fallocate(3, 01, 0, 4194304)            = 0
      
      Reviewers: sdong, anthony, IslamAbdelRahman, kradhakrishnan, lgalanis, rven, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D45969
      20c44fef
    • D
      Make WinEnv::NowMicros return system time · f14c3363
      Dmitri Smirnov 提交于
        Previous change for the function
        https://github.com/facebook/rocksdb/commit/555ca3e7b7f06bd01dfd5e04dbb2cef5360f7917#diff-bdc04e0404c2db4fd3ac5118a63eaa4a
        made use of the QueryPerformanceCounter to return microseconds values that do not repeat
        as std::chrono::system_clock returned values that made auto_roll_logger_test fail.
      
       The interface documentation does not state that we need to return
       system time describing the return value as a number of microsecs since some
       moment in time. However, because on Linux it is implemented using gettimeofday
       various pieces of code (such as GenericRateLimiter) took advantage of that
       and make use of NowMicros() as a system timestamp. Thus the previous change
       broke rate_limiter_test on Windows.
      
       In addition, the interface name NowMicros() suggests that it is actually
       a timestamp so people use it as such.
      
       This change makes use of the new system call on Windows that returns
       system time with required precision. This change preserves the fix
       for  auto_roll_logger_test and fixes rate_limiter_test.
      
       Note that DBTest.RateLimitingTest still fails due to a separately reported issue.
      f14c3363
  6. 02 9月, 2015 2 次提交
    • Y
      Fixed the build issue of rocksdbjavastaticrelease · aad0572f
      Yueh-Hsuan Chiang 提交于
      Summary: This patch fixed couple build issues of rocksdbjavastaticrelease.
      
      Test Plan: make rocksdbjavastaticrelease
      
      Reviewers: sdong, anthony, IslamAbdelRahman, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45915
      aad0572f
    • T
      Fix a perf regression in ForwardIterator · 5508122e
      Tomislav Novak 提交于
      Summary:
      I noticed that memtable iterator usually crosses the `iterate_upper_bound`
      threshold when tailing. Changes introduced in D43833 made `NeedToSeekImmutable`
      always return true in such case, even when `Seek()` only needs to rewind the
      memtable iterator. In a test I ran, this caused the "tailing efficiency"
      (ratio of calls to `Seek()` that only affect the memtable versus all seeks)
      to drop almost to zero.
      
      This diff attempts to fix the regression by using a different flag to indicate
      that `current_` is over the limit instead of resetting `valid_` in
      `UpdateCurrent()`.
      
      Test Plan: `DBTestTailingIterator.TailingIteratorUpperBound`
      
      Reviewers: sdong, rven
      
      Reviewed By: rven
      
      Subscribers: dhruba, march
      
      Differential Revision: https://reviews.facebook.net/D45909
      5508122e
  7. 01 9月, 2015 9 次提交
    • A
      Fix listener_test when using ROCKSDB_MALLOC_USABLE_SIZE · b7220077
      Andres Notzli 提交于
      Summary:
      Flushes in listener_test happened to early when ROCKSDB_MALLOC_USABLE_SIZE was
      active (e.g. when compiling with ROCKSDB_FBCODE_BUILD_WITH_481=1) due to
      malloc_usable_size() reporting a better estimate (similar to
      https://reviews.facebook.net/D43317 ). This patch grows the write buffer size
      slightly to compensate for this.
      
      Test Plan: ROCKSDB_FBCODE_BUILD_WITH_481=1 make listener_test && ./listener_test
      
      Reviewers: rven, anthony, yhchiang, igor, sdong
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45921
      b7220077
    • Y
      Fixed compile warning in rocksdbjava · 40cd91b7
      Yueh-Hsuan Chiang 提交于
      Summary:
      Fixed the following compile warning in rocksdbjava:
      
          java/rocksjni/comparatorjnicallback.cc:20:14: warning: unused variable ‘rs’ [-Wunused-variable]
             const jint rs = env->GetJavaVM(&m_jvm);
                        ^
          java/rocksjni/comparatorjnicallback.cc: In member function ‘JNIEnv* rocksdb::BaseComparatorJniCallback::getJniEnv() const’:
          java/rocksjni/comparatorjnicallback.cc:45:8: warning: unused variable ‘rs’ [-Wunused-variable]
             jint rs = m_jvm->AttachCurrentThread(reinterpret_cast<void **>(&env), NULL);
                  ^
          java/rocksjni/loggerjnicallback.cc: In constructor ‘rocksdb::LoggerJniCallback::LoggerJniCallback(JNIEnv*, jobject)’:
          java/rocksjni/loggerjnicallback.cc:19:14: warning: unused variable ‘rs’ [-Wunused-variable]
             const jint rs = env->GetJavaVM(&m_jvm);
                        ^
          java/rocksjni/loggerjnicallback.cc: In member function ‘JNIEnv* rocksdb::LoggerJniCallback::getJniEnv() const’:
          java/rocksjni/loggerjnicallback.cc:33:8: warning: unused variable ‘rs’ [-Wunused-variable]
             jint rs = m_jvm->AttachCurrentThread(reinterpret_cast<void **>(&env), NULL);
                  ^
      
      Test Plan: make rocksdbjava -j32
      
      Reviewers: sdong, anthony, IslamAbdelRahman, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45891
      40cd91b7
    • Y
      Fixed a compile warning in linux32 environment. · 90415cfe
      Yueh-Hsuan Chiang 提交于
      Summary:
      Fixed the following compile warning in linux32 environment.
      
          ==> linux32: util/sst_dump_tool.cc: In member function ‘int
                       rocksdb::SstFileReader::ShowAllCompressionSizes(size_t)’:
          ==> linux32: util/sst_dump_tool.cc:167:50: warning: format ‘%lu’ expects
                       argument of type ‘long unsigned int’, but argument 3 has type
                       ‘size_t {aka unsigned int}’ [-Wformat=]
          ==> linux32:    fprintf(stdout, "Block Size: %lu\n", block_size);
      
      Test Plan: make sst_dump
      
      Reviewers: anthony, IslamAbdelRahman, sdong, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45885
      90415cfe
    • S
      Fix arena_test test break using glibc-2.17 · 9d6503f8
      sdong 提交于
      Summary: arena_test is failing with glibc-2.17. Make it more robust
      
      Test Plan: Run arena_test using both of glibc-2.17 and 2.2 and make sure both passes.
      
      Reviewers: yhchiang, rven, IslamAbdelRahman, kradhakrishnan, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D45879
      9d6503f8
    • A
      Support static Status messages · 77a28615
      agiardullo 提交于
      Summary: Provide a way to specify a detailed static error message for a Status without incurring a memcpy.  Let me know what people think of this approach.
      
      Test Plan: added simple test
      
      Reviewers: igor, yhchiang, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D44259
      77a28615
    • A
      better db_bench options for transactions · 18db1e46
      agiardullo 提交于
      Summary:
      Pessimistic Transaction expiration time checking currently causes a performace regression,  Lets disable it in db_bench by default.
      
      Also, in order to be able to better tune how much contention we're simulating, added new optinos to set lock timeout and snapshot.
      
      Test Plan: run db_bench randomtranansaction
      
      Reviewers: sdong, igor, yhchiang, MarkCallaghan
      
      Reviewed By: MarkCallaghan
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45831
      18db1e46
    • I
      Merge pull request #702 from PraveenSinghRao/remove_spurious · 0be26052
      Igor Canadi 提交于
      remove spurious compression definitions
      0be26052
    • A
      Add Subcompactions to Universal Compaction Unit Tests · 8b689546
      Ari Ekmekji 提交于
      Summary:
      Now that the approach to parallelizing L0-L1 level-based
      compactions by breaking the compaction job into subcompactions is
      being extended to apply to universal compactions as well, the unit
      tests need to account for this and run the universal compaction
      tests with subcompactions both enabled and disabled.
      
      Test Plan: make all && make check
      
      Reviewers: sdong, igor, noetzli, anthony, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D45657
      8b689546
    • K
      Merge branch 'arcpatch-D45741' · c6d870ff
      krad 提交于
      c6d870ff