1. 20 7月, 2017 3 次提交
    • A
      overlapping endpoint fixes in level compaction picker · a22b9cc6
      Andrew Kryczka 提交于
      Summary:
      This diff addresses two problems. Both problems cause us to miss scheduling desirable compactions. One side effect is compaction picking can spam logs, as there's no delay after failed attempts to pick compactions.
      
      1. If a compaction pulled in a locked input-level file due to user-key overlap, we would not consider picking another file from the same input level.
      2. If a compaction pulled in a locked output-level file due to user-key overlap, we would not consider picking any other compaction on any level.
      
      The code changes are dependent, which is why I solved both problems in a single diff.
      
      - Moved input-level `ExpandInputsToCleanCut` into the loop inside `PickFileToCompact`. This gives two benefits: (1) if it fails, we will try the next-largest file on the same input level; (2) we get the fully-expanded input-level key-range with which we can check for pending compactions in output level.
      - Added another call to `ExpandInputsToCleanCut` inside `PickFileToCompact`'s to check for compaction conflicts in output level.
      - Deleted call to `IsRangeInCompaction` in `PickFileToCompact`, as `ExpandInputsToCleanCut` also correctly handles the case where original output-level files (i.e., ones not pulled in due to user-key overlap) are pending compaction.
      Closes https://github.com/facebook/rocksdb/pull/2615
      
      Differential Revision: D5454643
      
      Pulled By: ajkr
      
      fbshipit-source-id: ea3fb5477d83e97148951af3fd4558d2039e9872
      a22b9cc6
    • A
      delete ExpandInputsToCleanCut failure log · ffd2a2ee
      Andrew Kryczka 提交于
      Summary:
      I decided not even to keep it as an INFO-level log as it is too normal for compactions to be skipped due to locked input files. Removing logging here makes us consistent with how we treat locked files that weren't pulled in due to overlap.
      
      We may want some error handling on line 422, which should never happen when called by `LevelCompactionBuilder::PickCompaction`, as `SetupInitialFiles` skips compactions where overlap causes the output level to pull in locked files.
      Closes https://github.com/facebook/rocksdb/pull/2617
      
      Differential Revision: D5458502
      
      Pulled By: ajkr
      
      fbshipit-source-id: c2e5f867c0a77c1812ce4242ab3e085b3eee0bae
      ffd2a2ee
    • I
      Remove arcanist_util directory · 3e6e863b
      Islam AbdelRahman 提交于
      3e6e863b
  2. 19 7月, 2017 6 次提交
  3. 18 7月, 2017 7 次提交
    • M
      avoid collision with master branch in check format · ddb22ac5
      Maysam Yabandeh 提交于
      Summary:
      The new local branch specified with -b cannot be called master. Use tmp prefix to avoid name collision.
      Closes https://github.com/facebook/rocksdb/pull/2600
      
      Differential Revision: D5442944
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 4a623d9b21d6cc01bee812b2799790315bdf5f6e
      ddb22ac5
    • M
      set the remote for git checkout · 0c03a7f1
      Maysam Yabandeh 提交于
      Summary:
      This will fix the error: "error: pathspec '2.2.fb.branch' did not match any file(s) known to git."
      
      Tested by manually sshing to sandcastle and running the command.
      Closes https://github.com/facebook/rocksdb/pull/2599
      
      Differential Revision: D5441130
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: a22fd6a52221471bafbba8990394b499535e5812
      0c03a7f1
    • A
      Revert cmake -DNDEBUG for non-MSVC · 7ac184c6
      Andrew Kryczka 提交于
      Summary:
      Unfortunately we can't use -DNDEBUG yet since we don't properly exclude the test libraries/executables from the non-debug builds on non-MSVC platforms. Previously this was failing on Linux for every build type except `CMAKE_BUILD_TYPE=Debug`.
      
      Reverts a48a62d5
      Closes https://github.com/facebook/rocksdb/pull/2595
      
      Differential Revision: D5436182
      
      Pulled By: ajkr
      
      fbshipit-source-id: 062f07cc9ce06a073b66054722b27bac1890dca3
      7ac184c6
    • S
      enable PinnableSlice for RowCache · 0655b585
      Sushma Devendrappa 提交于
      Summary:
      This patch enables using PinnableSlice for RowCache, changes include
      not releasing the cache handle immediately after lookup in TableCache::Get, instead pass a Cleanble function which does Cache::RleaseHandle.
      Closes https://github.com/facebook/rocksdb/pull/2492
      
      Differential Revision: D5316216
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: d2a684bd7e4ba73772f762e58a82b5f4fbd5d362
      0655b585
    • Y
      Fix column_family_test with LITE build · 00464a31
      Yi Wu 提交于
      Summary:
      Fix column_family_test with LITE build. I need this patch to fix 5.6 branch.
      Closes https://github.com/facebook/rocksdb/pull/2597
      
      Differential Revision: D5437171
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 88b9dc5925a6b47af10c1b41bc5b07c4251a84b5
      00464a31
    • C
      tools/write_stress.cc: Correct "1204" typos. · b2dd192f
      Chris Lamb 提交于
      Summary:
      Should be 1024, obviously :)
      Closes https://github.com/facebook/rocksdb/pull/2592
      
      Differential Revision: D5435269
      
      Pulled By: ajkr
      
      fbshipit-source-id: c59338a3900798a4733f0b205e534f21215cf049
      b2dd192f
    • D
      table/block.h: change memset · cbaab304
      Daniel Black 提交于
      Summary:
      In gcc-7 the following is an error identified by -Werror=class-memaccess
      
      In file included from ./table/get_context.h:14:0,
                       from db/version_set.cc:43:
      ./table/block.h: In constructor ‘rocksdb::BlockReadAmpBitmap::BlockReadAmpBitmap(size_t, size_t, rocksdb::Statistics*)’:
      ./table/block.h:73:53: error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct std::atomic<unsigned int>’ with no trivial copy-assignment; use value-initialization instead [-Werror=class-memaccess]
           memset(bitmap_, 0, bitmap_size * kBytesPersEntry);
                                                           ^
      In file included from ./db/version_set.h:23:0,
                       from db/version_set.cc:12:
      /toolchain/include/c++/8.0.0/atomic:684:12: note: ‘struct std::atomic<unsigned int>’ declared here
           struct atomic<unsigned int> : __atomic_base<unsigned int>
                  ^~~~~~~~~~~~~~~~~~~~
      
      As a solution the default initializer can be applied in list context.
      Signed-off-by: NDaniel Black <daniel.black@au.ibm.com>
      Closes https://github.com/facebook/rocksdb/pull/2561
      
      Differential Revision: D5398714
      
      Pulled By: siying
      
      fbshipit-source-id: d883fb88ec7535eee60d551038fe91f14488be36
      cbaab304
  4. 17 7月, 2017 3 次提交
  5. 16 7月, 2017 1 次提交
  6. 15 7月, 2017 3 次提交
    • I
      Make TARGETS file portable · 13201336
      Islam AbdelRahman 提交于
      Summary:
      Instead of hard coding the path of the internal repo.
      Make TARGETS file work anywhere in fbcode
      Closes https://github.com/facebook/rocksdb/pull/2586
      
      Differential Revision: D5428122
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: 21adec82bfbff14ea93532bee789b5f5bbee5b01
      13201336
    • D
      Set CACHE_LINE_SIZE for s390, PPC, ARM64 · ccf5f08f
      Daniel Black 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2579
      
      Differential Revision: D5427667
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: cd0b076aa0cd38d3554516f01723c548713ece61
      ccf5f08f
    • D
      db_crashtest.py: remove need for shell · 67510eef
      Daniel Black 提交于
      Summary:
      Before:
      $ ps -ef
      
      build     1713    16  0 Jul11 ?        00:00:00 make crash_test
      build     3437  1713  0 Jul11 ?        00:00:00 python -u tools/db_crashtest.py --simple blackbox
      build     3438  3437  0 Jul11 ?        00:00:00 [sh] <defunct>
      build     3440     1 99 Jul11 ?        5-03:01:25 ./db_stress --max_background_compactions=1 --max_write_buffer_number=3 --sync=0 --reopen=20 --write_buffer_size=33554432 --delpercent=5 --block_size=16384 --allow_concurrent_me
      
      After:
      
      build      1706     16  0 02:52 ?        00:00:01 make crash_test
      build      3432   1706  0 02:55 ?        00:00:00 python -u tools/db_crashtest.py --simple blackbox
      build      4452   3432 99 04:35 ?        00:01:42 ./db_stress --max_background_compactions=1 --max_write_buffer_number=3 --sync=0 --reopen=20 --write_buffer_size=33554432 --delpercent=5 --block_size=16384 --allow_concurr
      Closes https://github.com/facebook/rocksdb/pull/2571
      
      Differential Revision: D5421580
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: d6c3970c38ea0fa23da653f4385e8e25d83f5c9f
      67510eef
  7. 14 7月, 2017 5 次提交
  8. 13 7月, 2017 5 次提交
  9. 12 7月, 2017 4 次提交
    • A
      Improve the design and native object management of Stats in RocksJava · 000bf0af
      Adam Retter 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2551
      
      Differential Revision: D5399288
      
      Pulled By: sagar0
      
      fbshipit-source-id: dd3df2ed6cc5ae612db0998ea746cc29fccf568e
      000bf0af
    • I
      Bump version to 5.7 · 269d383d
      Islam AbdelRahman 提交于
      Summary:
      Bump version to 5.7
      Closes https://github.com/facebook/rocksdb/pull/2566
      
      Differential Revision: D5400043
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: 74aae4ff143d370d7d89807e5be08a6ab827da40
      269d383d
    • Y
      Fixes db_bench with blob db · c32f2722
      Yi Wu 提交于
      Summary:
      * Create info log before db open to make blob db able to log to LOG file.
      * Properly destroy blob db.
      Closes https://github.com/facebook/rocksdb/pull/2567
      
      Differential Revision: D5400034
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: a49cfaf4b5c67d42d4cbb872bd5a9441828c17ce
      c32f2722
    • D
      db_bench_tool: fix buffer size · fcd99d27
      Daniel Black 提交于
      Summary:
      Found by gcc warning:
      
      x86_64-pc-linux-gnu-g++ --version
      x86_64-pc-linux-gnu-g++ (GCC) 7.1.1 20170710
      
      tools/db_bench_tool.cc: In member function 'void rocksdb::Benchmark::RandomWithVerify(rocksdb::ThreadState*)':
      tools/db_bench_tool.cc:4430:8: error: '%lu' directive output may be truncated writing between 1 and 19 bytes into a region of size between 0 and 66 [-Werror=format-truncation=]
         void RandomWithVerify(ThreadState* thread) {
              ^~~~~~~~~~~~~~~~
      tools/db_bench_tool.cc:4430:8: note: directive argument in the range [0, 9223372036854775807]
      tools/db_bench_tool.cc:4492:13: note: 'snprintf' output between 37 and 128 bytes into a destination of size 100
           snprintf(msg, sizeof(msg),
           ~~~~~~~~^~~~~~~~~~~~~~~~~~
                    "( get:%" PRIu64 " put:%" PRIu64 " del:%" PRIu64 " total:%" \
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    PRIu64 " found:%" PRIu64 ")",
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    gets_done, puts_done, deletes_done, readwrites_, found);
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      Makefile:1707: recipe for target 'tools/db_bench_tool.o' failed
      Closes https://github.com/facebook/rocksdb/pull/2558
      
      Differential Revision: D5398703
      
      Pulled By: siying
      
      fbshipit-source-id: 6ffa552bbd8b59cfc2c36289f86ff9b9acca8ca6
      fcd99d27
  10. 11 7月, 2017 3 次提交