1. 31 5月, 2017 2 次提交
  2. 27 5月, 2017 1 次提交
    • S
      Clean zstd files · 6c456eca
      Sagar Vemuri 提交于
      Summary:
      zstd files are downloaded and used as part of JNI build, but are left behind even after doing a `make clean`. This PR updates the `clean` target to remove these zstd files as well.
      Closes https://github.com/facebook/rocksdb/pull/2365
      
      Differential Revision: D5123537
      
      Pulled By: sagar0
      
      fbshipit-source-id: a8f355da5ba961aa89d5852e35751ffc35de03ea
      6c456eca
  3. 24 5月, 2017 1 次提交
  4. 19 5月, 2017 1 次提交
  5. 18 5月, 2017 2 次提交
  6. 16 5月, 2017 2 次提交
  7. 13 5月, 2017 1 次提交
    • A
      Facility for cross-building RocksJava using Docker · a5cc7ece
      Adam Retter 提交于
      Summary:
      As an alternative to Vagrant, we can now also use Docker to cross-build RocksDB. The advantages are:
      
      1. The Docker images are fixed; they include all the latest updates and build tools.
      2. The Vagrant image, required scripts that ran for every build that would update CentOS and install the buildtools. This lead to slow repeatable builds, we don't need to do this with Docker as they are already in the provided images.
      
      The Docker images I have used have their Docker build files here: https://github.com/evolvedbinary/docker-rocksjava and the images themselves are available from Docker hub: https://hub.docker.com/r/evolvedbinary/rocksjava/
      
      I have added the following targets to the `Makefile`:
      1. `rocksdbjavastaticreleasedocker` this uses Docker to perform the cross-builds. It is basically the Docker version of the existing Vagrant `rocksdbjavastaticrelease` target.
      2. `rocksdbjavastaticpublishdocker` delegates to `rocksdbjavastaticreleasedocker` and then `rocksdbjavastaticpublishcentral` to upload the artiacts to Maven Central. Equivalent to the existing Vagrant target: `rocksdbjavastaticpublish`
      Closes https://github.com/facebook/rocksdb/pull/2278
      
      Differential Revision: D5048206
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 78fa96ef9d966fe09638ed01de282cd4e31961a9
      a5cc7ece
  8. 12 5月, 2017 1 次提交
  9. 11 5月, 2017 2 次提交
    • A
      Blob storage pr · d85ff495
      Anirban Rahut 提交于
      Summary:
      The final pull request for Blob Storage.
      Closes https://github.com/facebook/rocksdb/pull/2269
      
      Differential Revision: D5033189
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 6356b683ccd58cbf38a1dc55e2ea400feecd5d06
      d85ff495
    • L
      Add NO_UPDATE_BUILD_VERSION option to makefile · 0f559abd
      Lovro Puzar 提交于
      Summary:
      When building rocksdb in fbcode using `make`, util/build_version.cc is always updated (gitignore/hgignore doesn't apply because the file is already checked into fbcode).  To use the rocksdb makefile from our own makefile, I would like an option to prevent the metadata update, which is of no value for us.
      Closes https://github.com/facebook/rocksdb/pull/2264
      
      Differential Revision: D5037846
      
      Pulled By: siying
      
      fbshipit-source-id: 9fa005725c5ecb31d9cbe2e738cbee209591f08a
      0f559abd
  10. 27 4月, 2017 1 次提交
  11. 22 4月, 2017 1 次提交
  12. 17 4月, 2017 2 次提交
    • J
      enable O2 optimization for lz4 · e67f0adf
      Jay Lee 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2164
      
      Differential Revision: D4897389
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: fac15374ae7fef1ece70fd2b9018f2451f3c2f7c
      e67f0adf
    • T
      Separate compile and link for shared library · 7d5f5aa9
      Tudor Bosman 提交于
      Summary:
      Previously, the shared library (make shared_lib) was built with only one
      compile line, compiling all .cc files and linking the shared library in
      one step. That step would often take 10+ minutes on one machine, and
      could not take advantage of multiple CPUs (it's only one invocation of
      the compiler).
      
      This commit changes the shared_lib build to compile .o files
      individually (placing the resulting .o files in the directory
      shared-objects) and then link them into the shared library at the end,
      similarly to how the java static build (jls) does it.
      
      Tested by making sure that both static and shared libraries work, and by
      making sure that "make clean" cleans up the shared-objects directory.
      Closes https://github.com/facebook/rocksdb/pull/2165
      
      Differential Revision: D4897121
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 9811e043d1c01e10503593f3489d186c786ee7d7
      7d5f5aa9
  13. 12 4月, 2017 1 次提交
    • S
      Add ROCKSDB_JAVA_NO_COMPRESSION flag · 6257837d
      Siying Dong 提交于
      Summary:
      In some CI test environment, compression libraries can't be successfully built. It still helps to build RocksDB there. Provide such an option to skip to download and build compression libraries.
      Closes https://github.com/facebook/rocksdb/pull/2135
      
      Differential Revision: D4872617
      
      Pulled By: siying
      
      fbshipit-source-id: bb21ac373bc62a2528cdf1ca4547e05fcae86214
      6257837d
  14. 07 4月, 2017 2 次提交
    • 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
  15. 06 4月, 2017 1 次提交
  16. 05 4月, 2017 3 次提交
  17. 04 4月, 2017 1 次提交
  18. 28 3月, 2017 1 次提交
  19. 23 3月, 2017 1 次提交
  20. 07 3月, 2017 1 次提交
  21. 01 3月, 2017 1 次提交
  22. 28 2月, 2017 2 次提交
  23. 24 2月, 2017 2 次提交
  24. 13 2月, 2017 1 次提交
  25. 11 2月, 2017 1 次提交
  26. 26 1月, 2017 1 次提交
    • A
      Generalize Env registration framework · 17c11806
      Andrew Kryczka 提交于
      Summary:
      The Env registration framework supports registering client Envs and selecting which one to instantiate according to a text field. This enabled things like adding the -env_uri argument to db_bench, so the same binary could be reused with different Envs just by changing CLI config.
      
      Now this problem has come up again in a non-Env context, as I want to instantiate a client Statistics implementation from db_bench, which is configured entirely via text parameters. Also, in the future we may wish to use it for deserializing client objects when loading OPTIONS file.
      
      This diff generalizes the Env registration logic to work with arbitrary types.
      
      - Generalized registration and instantiation code by templating them
      - The entire implementation is in a header file as that's Google style guide's recommendation for template definitions
      - Pattern match with std::regex_match rather than checking prefix, which was the previous behavior
      - Rename functions/files to be non-Env-specific
      Closes https://github.com/facebook/rocksdb/pull/1776
      
      Differential Revision: D4421933
      
      Pulled By: ajkr
      
      fbshipit-source-id: 34647d1
      17c11806
  27. 21 1月, 2017 1 次提交
  28. 30 12月, 2016 1 次提交
    • M
      Delegate Cleanables · 0712d541
      Maysam Yabandeh 提交于
      Summary:
      Cleanable objects will perform the registered cleanups when
      they are destructed. We however rather to delay this cleaning like when
      we are gathering the merge operands. Current approach is to create the
      Cleanable object on heap (instead of on stack) and delay deleting it.
      
      By allowing Cleanables to delegate their cleanups to another cleanable
      object we can delay the cleaning without however the need to craete the
      cleanable object on heap and keeping it around. This patch applies this
      technique for the cleanups of BlockIter and shows improved performance
      for some in-memory benchmarks:
      +1.8% for merge worklaod, +6.4% for non-merge workload when the merge
      operator is specified.
      https://our.intern.facebook.com/intern/tasks?t=15168163
      
      Non-merge benchmark:
      TEST_TMPDIR=/dev/shm/v100nocomp/ ./db_bench --benchmarks=fillrandom
      --num=1000000 -value_size=100 -compression_type=none
      
      Reading random with no merge operator specified:
      TEST_TMPDIR=/dev/shm/v100nocomp/ ./db_bench
      --benchmarks="read
      Closes https://github.com/facebook/rocksdb/pull/1711
      
      Differential Revision: D4361163
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 9801e07
      0712d541
  29. 20 12月, 2016 1 次提交
    • A
      Collapse range deletions · 50e305de
      Andrew Kryczka 提交于
      Summary:
      Added a tombstone-collapsing mode to RangeDelAggregator, which eliminates overlap in the TombstoneMap. In this mode, we can check whether a tombstone covers a user key using upper_bound() (i.e., binary search). However, the tradeoff is the overhead to add tombstones is now higher, so at first I've only enabled it for range scans (compaction/flush/user iterators), where we expect a high number of calls to ShouldDelete() for the same tombstones. Point queries like Get() will still use the linear scan approach.
      
      Also in this diff I changed RangeDelAggregator's TombstoneMap to use multimap with user keys instead of map with internal keys. Callers sometimes provided ParsedInternalKey directly, from which it would've required string copying to derive an internal key Slice with which we could search the map.
      Closes https://github.com/facebook/rocksdb/pull/1614
      
      Differential Revision: D4270397
      
      Pulled By: ajkr
      
      fbshipit-source-id: 93092c7
      50e305de
  30. 17 12月, 2016 1 次提交