1. 14 4月, 2017 6 次提交
    • S
      Pass in remote as a param to branch creation script · 6799c7e0
      Sagar Vemuri 提交于
      Summary:
      When people are working off of a rocksdb fork, i.e. when their 'origin'
      points to github.com/<username>/rocksdb, the script creates a new branch
      and pushes to their origin. The new branch created by this script should
      instead be pushed to github.com/facebook/rocksdb. Many people might
      have named facebook/rocksdb remote as 'upstream' (or something else).
      This fix provides an option to specify the remote to push the branch to.
      The default is still 'origin'
      
      More context:
      When I created 5.4 branch using this script, it got pushed to sagar0/rocksdb instead of facebook/rocksdb, as I was working off of a fork. My 'origin' was pointing to sagar0/rocksdb. My 'upstream' was set to 'facebook/rocksdb'. So, I had to manually push the branch to my 'upstream'.
      Closes https://github.com/facebook/rocksdb/pull/2156
      
      Differential Revision: D4885333
      
      Pulled By: sagar0
      
      fbshipit-source-id: 9410eab5bd9bbefc340059800bd6b8434406729d
      6799c7e0
    • A
      change use_direct_writes to use_direct_io_for_flush_and_compaction · 44fa8ece
      Aaron Gao 提交于
      Summary:
      Replace Options::use_direct_writes with Options::use_direct_io_for_flush_and_compaction
      Now if Options::use_direct_io_for_flush_and_compaction = true, we will enable direct io for both reads and writes for flush and compaction job. Whereas Options::use_direct_reads controls user reads like iterator and Get().
      Closes https://github.com/facebook/rocksdb/pull/2117
      
      Differential Revision: D4860912
      
      Pulled By: lightmark
      
      fbshipit-source-id: d93575a8a5e780cf7e40797287edc425ee648c19
      44fa8ece
    • A
      add space for buggy kernel warning · 13b50358
      Aaron Gao 提交于
      Summary:
      add the missing space
      Closes https://github.com/facebook/rocksdb/pull/2150
      
      Differential Revision: D4880696
      
      Pulled By: lightmark
      
      fbshipit-source-id: a4e0ad6a8ea45d6469d3f6c8514fdeb4cf10aaf5
      13b50358
    • I
      Fix BYTES_WRITTEN accounting · b6b9359e
      Igor Canadi 提交于
      Summary:
      BYTES_WRITTEN accounting doesn't work with disabled WAL. For example, this is what we
      get in the LOG:
      
      ```
      Cumulative writes: 9794K writes, 228M keys, 9794K commit groups, 1.0
      writes per commit group, ingest: 0.00 GB, 0.00 MB/s
      ```
      
      WAL bytes are tracked in a different statistic:
      https://github.com/facebook/rocksdb/blob/master/db/internal_stats.h#L105.
      BYTES_WRITTEN should count all the writes.
      Closes https://github.com/facebook/rocksdb/pull/2133
      
      Differential Revision: D4880615
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 8fd0b223099f3f5ad7df79d4e737d313687fec69
      b6b9359e
    • I
      Update ShipIt to honor TARGETS updates · 13369fbd
      Islam AbdelRahman 提交于
      Summary: Update ShipIt to update push changes to TARGETS
      
      Reviewed By: sdwilsh
      
      Differential Revision: D4873590
      
      fbshipit-source-id: bb5ab9bed7ad7bc51f1e2ee1fe8204224aaae2fb
      13369fbd
    • I
      Remove .deprecated_arcconfig · f2449ce9
      Islam AbdelRahman 提交于
      f2449ce9
  2. 13 4月, 2017 3 次提交
    • S
      RocksDB Release 5.4 : Update HISTORY.md and build version. · 415be221
      Sagar Vemuri 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2142
      
      Reviewed By: siying
      
      Differential Revision: D4874696
      
      Pulled By: sagar0
      
      fbshipit-source-id: 03e6e21735bb74e5a37cc913aabb2c250af558cc
      415be221
    • D
      java dependencies test -s -> use test -d · 3eab41d7
      Daniel Black 提交于
      Summary:
      To correct a build process where the JAVA_TEST_LIBDIR is a symlink to a cache directory.
      
      Test -s (size 0) on symlinks returns true, resulting in a mkdir over the top of the symlink resulting in failure.
      
      As a solution -d checks if it is a directory (or the symlink refers to a directory), which works in the case of real directories and symlinks to directories.
      
      Trivial I know but it was really easy for me to use a symlink here to prevent frequent downloads in a CI environment.
      
      Thanks for your consideration.
      Closes https://github.com/facebook/rocksdb/pull/1917
      
      Differential Revision: D4612263
      
      Pulled By: siying
      
      fbshipit-source-id: 4d458f8e1760068cdd6b5eae4bce6e12c400df41
      3eab41d7
    • S
      internal_repo_rocksdb to build Java and RocksDB LITE · a22ed4ea
      Siying Dong 提交于
      Summary: Build Java and RocksDB LITE as a customized unit test under internal_repo_rocksdb. One thing I'm not sure is that whether these two tests are triggered in every flavor.
      
      Reviewed By: IslamAbdelRahman
      
      Differential Revision: D4855868
      
      fbshipit-source-id: 82a1628b458744d7692bbd29ef7424cca1294031
      a22ed4ea
  3. 12 4月, 2017 6 次提交
  4. 11 4月, 2017 6 次提交
  5. 10 4月, 2017 1 次提交
  6. 08 4月, 2017 7 次提交
    • I
      dummy diff · 61730186
      Islam AbdelRahman 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2114
      
      Differential Revision: D4854860
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: b871c5b9ccc52d20f5ceacdd172dc70b1dbf9110
      61730186
    • I
      Summary: · 360e9960
      Islam AbdelRahman 提交于
      Remove .arcconfig
      
      fbshipit-source-id: fe9f000138776a14c507b24c952ecf50b48d71a9
      360e9960
    • I
      Deprecate .arcconfig · 69a5e646
      Islam AbdelRahman 提交于
      fbshipit-source-id: 2e88ce2a16d16620aa6ef36aabbf3e91be2fc779
      69a5e646
    • M
      Add a verify phase to benchmarks · 9690653d
      Maysam Yabandeh 提交于
      Summary:
      Check the result of the benchmark againt a specified truth_db, which is
      expected to be produced using the same benchmark but perhaps on a
      different commit or with different configs.
      
      The verification is simple and assumes that key/values are generated
      deterministically. This assumption would break if db_bench using rand
      variable differently from the benchmark that produced truth_db.
      Currently it is checked to work on fillrandom and readwhilewriting.
      
      A param finish_after_writes is added to ensure that the background
      writing thread will write the same number of entries between two
      benchmarks.
      
      Example:
      $ TEST_TMPDIR=/dev/shm/truth_db ./db_bench
      --benchmarks="fillrandom,readwhilewriting" --num=200000
      --finish_after_writes=true
      $ TEST_TMPDIR=/dev/shm/tmpdb ./db_bench
      --benchmarks="fillrandom,readwhilewriting,verify" --truth_db
      /dev/shm/truth_db/dbbench --num=200000 --finish_after_writes=true
      Verifying db <= truth_db...
      Verifying db >= truth_db...
      ...Verified
      Closes https://github.com/facebook/rocksdb/pull/2098
      
      Differential Revision: D4839233
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 2f4ed31
      9690653d
    • A
      Fix compilation for GCC-5 · dd8f9e38
      Ayappan 提交于
      Summary:
      Fixes this issue https://github.com/facebook/rocksdb/issues/2108
      Closes https://github.com/facebook/rocksdb/pull/2109
      
      Differential Revision: D4851965
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 6ee807b
      dd8f9e38
    • V
      Add Travis job to build examples · c2954f9b
      Volker Mische 提交于
      Summary:
      Currently the examples fail, having a job building them would
      prevent that from happening.
      Closes https://github.com/facebook/rocksdb/pull/2007
      
      Differential Revision: D4831570
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: e38adfa
      c2954f9b
    • N
      avoid non-existent O_DIRECT on OpenBSD · 72fc1e9d
      Nikhil Benesch 提交于
      Summary:
      OpenBSD doesn't have `O_DIRECT`, so avoid it. (RocksDB compiles successfully on
      OpenBSD with this patch.)
      Closes https://github.com/facebook/rocksdb/pull/2106
      
      Differential Revision: D4847833
      
      Pulled By: siying
      
      fbshipit-source-id: 214b785
      72fc1e9d
  7. 07 4月, 2017 6 次提交
    • S
      Refactor compaction picker code · ff972870
      Siying Dong 提交于
      Summary:
      1. Move universal compaction picker to separate files compaction_picker_universal.cc and compaction_picker_universal.h.
      2. Rename some functions to make the code easier to understand.
      3. Move leveled compaction picking code to a dedicated class, so that we we don't need to pass some common variable around when calling functions. It also allowed us to break down LevelCompactionPicker::PickCompaction() to smaller functions.
      Closes https://github.com/facebook/rocksdb/pull/2100
      
      Differential Revision: D4845948
      
      Pulled By: siying
      
      fbshipit-source-id: efa0ab4
      ff972870
    • A
      only FALLOC_FL_PUNCH_HOLE when ftruncate is buggy · 9e729390
      Aaron Gao 提交于
      Summary:
      In RocksDB, we sometimes preallocate the estimated space for a file to have better perf with fallocate (if supported). Usually it is a little bit bigger than the real resulting file size. At this time, we have to let the Filesystem reclaim the space not used.
      
      Ideally, calling ftruncate to truncate the file to its real size should be enough. HOWEVER, it isn't on tmpfs, which we witness in our case, with some buggy kernel version. ftruncate a file with preallocated space doesn't change number of the blocks used by the file, which means the space not used by the file is not returned to the filesystems. So in this case we need fallocate with FALLOC_FL_PUNCH_HOLE to explicitly reclaim the used blocks. It is a hack to cope with the kernel bug and usually we should not need it.
      Closes https://github.com/facebook/rocksdb/pull/2102
      
      Differential Revision: D4848934
      
      Pulled By: lightmark
      
      fbshipit-source-id: f1b40b5
      9e729390
    • S
      Move various string utility functions into string_util · 343b59d6
      Sagar Vemuri 提交于
      Summary:
      This is an effort to club all string related utility functions into one common place, in string_util, so that it is easier for everyone to know what string processing functions are available. Right now they seem to be spread out across multiple modules, like logging and options_helper.
      
      Check the sub-commits for easier reviewing.
      Closes https://github.com/facebook/rocksdb/pull/2094
      
      Differential Revision: D4837730
      
      Pulled By: sagar0
      
      fbshipit-source-id: 344278a
      343b59d6
    • A
      Fix CompactRange incorrect buffer release · 1d068f60
      Ayappan 提交于
      Summary:
      While running `make jtest` using IBM Java, it fails at compactRangeToLevel with the below error.
      
      ```
      Run: org.rocksdb.RocksDBTest testing now -> compactRangeToLevel
      JVMJNCK056E JNI error in ReleaseByteArrayElements: Got memory 0x00003FFF94AA8908 from object 0x00000000000C7F78, releasing from 0x00000000000C7F68
      JVMJNCK077E Error detected in org/rocksdb/RocksDB.compactRange0(J[BI[BIZII)V
      
      JVMJNCK024E JNI error detected. Aborting.
      JVMJNCK025I Use -Xcheck:jni:nonfatal to continue running when errors are detected.
      
      Fatal error: JNI error
      Makefile:205: recipe for target 'run_test' failed
      make[1]: *** [run_test] Error 87
      make[1]: Leaving directory '/home/ubuntu/rocksdb/java'
      Makefile:1542: recipe for target 'jtest' failed
      make: *** [jtest] Error 2
      ```
      
      After checking the code, it is vivid that we are messing up the `ReleaseByteArrayElements` args in `rocksdb_compactrange_helper`.
      
      ```
         .................
         1959     s = db->CompactRange(compact_options, &begin_slice, &end_slice);
         1960   }
      Closes https://github.com/facebook/rocksdb/pull/2060
      
      Differential Revision: D4831427
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: dd02037
      1d068f60
    • Y
      Move memtable related files into memtable directory · df6f5a37
      Yi Wu 提交于
      Summary:
      Move memtable related files into memtable directory.
      Closes https://github.com/facebook/rocksdb/pull/2087
      
      Differential Revision: D4829242
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: ca70ab6
      df6f5a37
    • T
      CMake: more MinGW fixes · 107c5f6a
      Tamir Duberstein 提交于
      Summary:
      siying this is a resubmission of #2081 with the 4th commit fixed. From that commit message:
      
      > Note that the previous use of quotes in PLATFORM_{CC,CXX}FLAGS was
      incorrect and caused GCC to produce the incorrect define:
      >
      >  #define ROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE 1
      >
      > This was the cause of the Linux build failure on the previous version
      of this change.
      
      I've tested this locally, and the Linux build succeeds now.
      Closes https://github.com/facebook/rocksdb/pull/2097
      
      Differential Revision: D4839964
      
      Pulled By: siying
      
      fbshipit-source-id: cc51322
      107c5f6a
  8. 06 4月, 2017 5 次提交
    • S
      Move some files under util/ to separate dirs · d2dce561
      Siying Dong 提交于
      Summary:
      Move some files under util/ to new directories env/, monitoring/ options/ and cache/
      Closes https://github.com/facebook/rocksdb/pull/2090
      
      Differential Revision: D4833681
      
      Pulled By: siying
      
      fbshipit-source-id: 2fd8bef
      d2dce561
    • I
      Use a human readable size for level report · c50e3750
      Islam AbdelRahman 提交于
      Summary:
      Current
      ```
      ** Compaction Stats [default] **
      Level    Files   Size(MB} Score Read(GB}  Rn(GB} Rnp1(GB} Write(GB} Wnew(GB} Moved(GB} W-Amp Rd(MB/s} Wr(MB/s} Comp(sec} Comp(cnt} Avg(sec} KeyIn KeyDrop
      ----------------------------------------------------------------------------------------------------------------------------------------------------------
        L0      2/0      49.02   0.5      0.0     0.0      0.0       0.0      0.0       0.0   0.0      0.0     76.1         1         2    0.322       0      0
       Sum      2/0      49.02   0.0      0.0     0.0      0.0       0.0      0.0       0.0   1.0      0.0     76.1         1         2    0.322       0      0
       Int      0/0       0.00   0.0      0.0     0.0      0.0       0.0      0.0       0.0   1.0      0.0     76.1         1         2    0.322       0      0
      ```
      
      New
      ```
      ** Compaction Stats [default] **
      Level    Files   Size     Score Read(GB)  Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) Comp(cnt) Avg(sec) KeyIn Key
      Closes https://github.com/facebook/rocksdb/pull/2055
      
      Differential Revision: D4804576
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: 719be6a
      c50e3750
    • S
      Divide db/db_impl.cc · ce64b8b7
      Siying Dong 提交于
      Summary:
      db_impl.cc is too large to manage. Divide db_impl.cc into db/db_impl.cc, db/db_impl_compaction_flush.cc, db/db_impl_files.cc, db/db_impl_open.cc and db/db_impl_write.cc.
      Closes https://github.com/facebook/rocksdb/pull/2095
      
      Differential Revision: D4838188
      
      Pulled By: siying
      
      fbshipit-source-id: c5f3059
      ce64b8b7
    • A
      Revert "delete fallocate with punch_hole" · 02799ad7
      Aaron Gao 提交于
      Summary:
      This reverts commit 0fd57492.
      It breaks tmpfs on kernel 4.0 or earlier. We will wait for the fix before remove this part
      Closes https://github.com/facebook/rocksdb/pull/2096
      
      Differential Revision: D4839661
      
      Pulled By: lightmark
      
      fbshipit-source-id: 574a51f
      02799ad7
    • M
      Release note for partition filters · e2a7b202
      Maysam Yabandeh 提交于
      Summary:
      I tagged it experimental since the configuring the filter partitions by size will not be ready for this release.
      Closes https://github.com/facebook/rocksdb/pull/2049
      
      Differential Revision: D4831575
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: fcc2d25
      e2a7b202