1. 15 9月, 2020 1 次提交
  2. 10 9月, 2020 1 次提交
  3. 09 9月, 2020 1 次提交
    • P
      Fix some errors showing up in Travis builds (#7359) · 9de912de
      Peter Dillinger 提交于
      Summary:
      Also enables a pull request to trigger all the Travis
      configurations by writing FULL_CI in the commit message. (See what I did
      there?)
      
      First issue
      
          make: *** No rule to make target 'jl/util/crc32c_ppc_asm.o', needed by 'rocksdbjava'.  Stop.
      
      Second issue
      
          tools/db_bench_tool.cc:5514:38: error: ‘gen_exp.rocksdb::Benchmark::GenerateTwoTermExpKeys::keyrange_size_’ may be used uninitialized in this function
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7359
      
      Test Plan: CI
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D23582132
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 06d794673fd522ba11cf6398385387e6bd97ef89
      9de912de
  4. 05 9月, 2020 1 次提交
  5. 04 9月, 2020 1 次提交
    • P
      New bit manipulation functions and 128-bit value library (#7338) · c4d8838a
      Peter Dillinger 提交于
      Summary:
      These new functions and 128-bit value bit operations are
      expected to be used in a forthcoming Bloom filter alternative.
      
      No functional changes to production code, just new code only called by
      unit tests, cosmetic changes to existing headers, and fix an existing
      function for a yet-unused template instantiation (BitsSetToOne on
      something signed and smaller than 32 bits).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7338
      
      Test Plan:
      Unit tests included. Works with and without
      TEST_UINT128_COMPAT=1 to check compatibility with and without
      __uint128_t. Also added that parameter to the CircleCI build
      build-linux-shared_lib-alt_namespace-status_checked.
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D23494945
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 5c0dc419100d9df5d4d9abb153b2855d5aea39e8
      c4d8838a
  6. 29 8月, 2020 1 次提交
  7. 28 8月, 2020 2 次提交
    • J
      Add buffer prefetch support for non directIO usecase (#7312) · c2485f2d
      Jay Zhuang 提交于
      Summary:
      A new file interface `SupportPrefetch()` is added. When the user overrides it to `false`, an internal prefetch buffer will be used for readahead. Useful for non-directIO but FS doesn't have readahead support.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7312
      
      Reviewed By: anand1976
      
      Differential Revision: D23329847
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 71cd4ce6f4a820840294e4e6aec111ab76175527
      c2485f2d
    • L
      Add a blob file builder class that can be used in background jobs (#7306) · 50439606
      Levi Tamasi 提交于
      Summary:
      The patch adds a class called `BlobFileBuilder` that can be used to build
      and cut blob files in background jobs (flushes/compactions). The class
      enforces a value size threshold (`min_blob_size`; smaller blobs will be inlined
      in the LSM tree itself), and supports specifying a blob file size limit (`blob_file_size`),
      as well as compression (`blob_compression_type`) and checksums for blob files.
      It also keeps track of the generated blob files and their associated `BlobFileAddition`
      metadata, which can be applied as part of the background job's `VersionEdit`.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7306
      
      Test Plan: `make check`
      
      Reviewed By: riversand963
      
      Differential Revision: D23298817
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 38f35d81dab1ba81f15236240612ec173d7f21b5
      50439606
  8. 25 8月, 2020 1 次提交
  9. 18 8月, 2020 1 次提交
    • J
      Generate and install a pkg-config file (#7244) · 59ebab65
      John Goerzen 提交于
      Summary:
      pkg-config files are quite useful for communicating to users of a
      library how to compile against them. This commit generates and installs
      a pkg-config file that can be used for both static and dynamic builds
      against the RocksDB library. This should make life easier for developers
      of client programs, language bindings, etc.
      
      Example usage:
      
      ```
      g++ `pkg-config --cflags rocksdb` -o simple_example simple_example.cc `pkg-config --libs rocksdb`
      
      g++ `pkg-config --cflags --static rocksdb` -static \
         -o simple_example simple_example.cc `pkg-config --libs --static rocksdb`
      ```
      
      The commit also adds the generated file to .gitignore, to the uninstall
      target, and to clean.
      
      No additional dependencies are added to RocksDB itself, and this does
      not make RocksDB use pkg-config as part of its build process.
      
      Resolves https://github.com/facebook/rocksdb/issues/4452
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7244
      
      Reviewed By: siying
      
      Differential Revision: D23146153
      
      Pulled By: ajkr
      
      fbshipit-source-id: 3045aa650d68bd5ac42d40ed709570e9584ef004
      59ebab65
  10. 15 8月, 2020 1 次提交
    • J
      Introduce a global StatsDumpScheduler for stats dumping (#7223) · 69760b4d
      Jay Zhuang 提交于
      Summary:
      Have a global StatsDumpScheduler for all DB instance stats dumping, including `DumpStats()` and `PersistStats()`. Before this, there're 2 dedicate threads for every DB instance, one for DumpStats() one for PersistStats(), which could create lots of threads if there're hundreds DB instances.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7223
      
      Reviewed By: riversand963
      
      Differential Revision: D23056737
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 0faa2311142a73433ebb3317361db7cbf43faeba
      69760b4d
  11. 12 8月, 2020 1 次提交
  12. 11 8月, 2020 1 次提交
    • A
      Allow optimization level to be set in Makefile (#7202) · 6e99de6d
      Andrew Kryczka 提交于
      Summary:
      `-O3` is already adopted widely, so we should make it easier to configure
      for development/open source. This PR adds an `OPTIMIZE_LEVEL` variable
      that users can set to override the `-O` flag chosen in the Makefile.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7202
      
      Test Plan: built a few different ways and verified correct value is passed for `-O` flag
      
      Reviewed By: pdillinger
      
      Differential Revision: D22845291
      
      Pulled By: ajkr
      
      fbshipit-source-id: 84471362e7d627dd606b25bf5f6a3d796817fa1c
      6e99de6d
  13. 07 8月, 2020 2 次提交
  14. 06 8月, 2020 1 次提交
    • C
      Define WAL related classes to be used in VersionEdit and VersionSet (#7164) · cd48ecaa
      Cheng Chang 提交于
      Summary:
      `WalAddition`, `WalDeletion` are defined in `wal_version.h` and used in `VersionEdit`.
      `WalAddition` is used to represent events of creating a new WAL (no size, just log number), or closing a WAL (with size).
      `WalDeletion` is used to represent events of deleting or archiving a WAL, it means the WAL is no longer alive (won't be replayed during recovery).
      
      `WalSet` is the set of alive WALs kept in `VersionSet`.
      
      1. Why use `WalDeletion` instead of relying on `MinLogNumber` to identify outdated WALs
      
      On recovery, we can compute `MinLogNumber()` based on the log numbers kept in MANIFEST, any log with number < MinLogNumber can be ignored. So it seems that we don't need to persist `WalDeletion` to MANIFEST, since we can ignore the WALs based on MinLogNumber.
      
      But the `MinLogNumber()` is actually a lower bound, it does not exactly mean that logs starting from MinLogNumber must exist. This is because in a corner case, when a column family is empty and never flushed, its log number is set to the largest log number, but not persisted in MANIFEST. So let's say there are 2 column families, when creating the DB, the first WAL has log number 1, so it's persisted to MANIFEST for both column families. Then CF 0 is empty and never flushed, CF 1 is updated and flushed, so a new WAL with log number 2 is created and persisted to MANIFEST for CF 1. But CF 0's log number in MANIFEST is still 1. So on recovery, MinLogNumber is 1, but since log 1 only contains data for CF 1, and CF 1 is flushed, log 1 might have already been deleted from disk.
      
      We can make `MinLogNumber()` be the exactly minimum log number that must exist, by persisting the most recent log number for empty column families that are not flushed. But if there are N such column families, then every time a new WAL is created, we need to add N records to MANIFEST.
      
      In current design, a record is persisted to MANIFEST only when WAL is created, closed, or deleted/archived, so the number of WAL related records are bounded to 3x number of WALs.
      
      2. Why keep `WalSet` in `VersionSet` instead of applying the `VersionEdit`s to `VersionStorageInfo`
      
      `VersionEdit`s are originally designed to track the addition and deletion of SST files. The SST files are related to column families, each column family has a list of `Version`s, and each `Version` keeps the set of active SST files in `VersionStorageInfo`.
      
      But WALs are a concept of DB, they are not bounded to specific column families. So logically it does not make sense to store WALs in a column family's `Version`s.
      Also, `Version`'s purpose is to keep reference to SST / blob files, so that they are not deleted until there is no version referencing them. But a WAL is deleted regardless of version references.
      So we keep the WALs in `VersionSet`  for the purpose of writing out the DB state's snapshot when creating new MANIFESTs.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7164
      
      Test Plan:
      make version_edit_test && ./version_edit_test
      make wal_edit_test && ./wal_edit_test
      
      Reviewed By: ltamasi
      
      Differential Revision: D22677936
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: 5a3b6890140e572ffd79eb37e6e4c3c32361a859
      cd48ecaa
  15. 29 7月, 2020 2 次提交
    • M
      Make env*_test work with ASSERT_STATUS_CHECKED (#7176) · d9d19074
      mrambacher 提交于
      Summary:
      Make (most of) the env*_test pass when ASSERT_STATUS_CHECKED is enabled.
      
      One test that opens a database is currently disabled in this mode, as there are many errors that need revisited for DB tests and status checks.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7176
      
      Reviewed By: cheng-chang
      
      Differential Revision: D22799278
      
      Pulled By: ajkr
      
      fbshipit-source-id: 16d8a02eaeecd6df1060249b6a5811292801f2ed
      d9d19074
    • A
      Makefile support for link-time optimization (#7181) · c0c33a48
      Andrew Kryczka 提交于
      Summary:
      `USE_LTO=1` in `make` commands now enables LTO. The archiver (`ar`) needed
      to change in this PR to use a wrapper that enables the LTO plugin.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7181
      
      Test Plan:
      build a few ways
      ```
      $ make clean && USE_LTO=1 make -j48 db_bench
      $ make clean && USE_CLANG=1 USE_LTO=1 make -j48 db_bench
      $ make clean && ROCKSDB_NO_FBCODE=1 USE_LTO=1 make -j48 db_bench
      ```
      
      Reviewed By: cheng-chang
      
      Differential Revision: D22784994
      
      Pulled By: ajkr
      
      fbshipit-source-id: 9c45333bd49bf4615aa04c85b7c6fd3925421152
      c0c33a48
  16. 25 7月, 2020 1 次提交
  17. 21 7月, 2020 2 次提交
    • S
      Exclude two tests in CircleCI TSAN tests (#7152) · 0f487cc3
      sdong 提交于
      Summary:
      Two TSAN tests occaionaly fail. Exclude them for now:
      
      [ RUN      ] DeleteFileTest.BackgroundPurgeCFDropTest
      db/deletefile_test.cc:122: Failure
      Expected equality of these values:
        required_manifest
          Which is: 1
        manifest_cnt
          Which is: 2
      
      [ RUN      ] FormatLatest/ColumnFamilyTest.FlushCloseWALFiles/0
      db/column_family_test.cc:3004: Failure
      Expected equality of these values:
        2
        env.num_open_wal_file_.load()
          Which is: 1
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7152
      
      Test Plan: Watch CircleCI restuls
      
      Reviewed By: ajkr
      
      Differential Revision: D22632285
      
      fbshipit-source-id: 29fa348e8be917be0237c74812a8b0b04978e84e
      0f487cc3
    • J
      Store the test results to CircleCI (#7137) · 77062cf1
      Jay Zhuang 提交于
      Summary:
      To have test report.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7137
      
      Reviewed By: siying
      
      Differential Revision: D22630798
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: bc07ba673c0bceed5a4829b4af2d9a74435379c7
      77062cf1
  18. 18 7月, 2020 1 次提交
  19. 15 7月, 2020 2 次提交
    • A
      Only check for python location once (#7123) · de8c92a5
      Adam Retter 提交于
      Summary:
      This fixes an issue introduced in 0c56fc4d whereby the location of Python is evaluated many times and leads to excessive logging of unknown python locations of CentOS 6.
      
      The location is now only checked once.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7123
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D22532274
      
      Pulled By: ajkr
      
      fbshipit-source-id: cade71b4b46e9a23d63ecb4dd36a4ac8ae217970
      de8c92a5
    • S
      Run a subset of TSAN tests in CIrcleCI (#7122) · e930ba1d
      sdong 提交于
      Summary:
      It is helpful to add some TSAN coverage before a pull request is committed. This diff adds some of them.
      Some slow tests are excluded for the running speed. Some are blacklisted because they show warnings. Will investigate these warnings and see whether we can fix or suppress them.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7122
      
      Test Plan: Watch CIrcleCI runs
      
      Reviewed By: riversand963
      
      Differential Revision: D22532133
      
      fbshipit-source-id: 81ddd02d9df19c513a12811979e8ddabae911354
      e930ba1d
  20. 10 7月, 2020 1 次提交
    • M
      More Makefile Cleanup (#7097) · c7c7b07f
      mrambacher 提交于
      Summary:
      Cleans up some of the dependencies on test code in the Makefile while building tools:
      - Moves the test::RandomString, DBBaseTest::RandomString into Random
      - Moves the test::RandomHumanReadableString into Random
      - Moves the DestroyDir method into file_utils
      - Moves the SetupSyncPointsToMockDirectIO into sync_point.
      - Moves the FaultInjection Env and FS classes under env
      
      These changes allow all of the tools to build without dependencies on test_util, thereby simplifying the build dependencies.  By moving the FaultInjection code, the dependency in db_stress on different libraries for debug vs release was eliminated.
      
      Tested both release and debug builds via Make and CMake for both static and shared libraries.
      
      More work remains to clean up how the tools are built and remove some unnecessary dependencies.  There is also more work that should be done to get the Makefile and CMake to align in their builds -- what is in the libraries and the sizes of the executables are different.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7097
      
      Reviewed By: riversand963
      
      Differential Revision: D22463160
      
      Pulled By: pdillinger
      
      fbshipit-source-id: e19462b53324ab3f0b7c72459dbc73165cc382b2
      c7c7b07f
  21. 08 7月, 2020 3 次提交
    • P
      Replace large 'rm' with 'find' (#7095) · 4202c48f
      Peter Dillinger 提交于
      Summary:
      On some platforms like MacOS, a second 'make check' can lead to
      /bin/rm: Argument list too long
      
      This is fixed by replacing with a 'find'. Also, using '-f' for more rm calls
      to avoid prompt.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7095
      
      Test Plan: 'make check' on Linux and MacOS
      
      Reviewed By: riversand963
      
      Differential Revision: D22415808
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 0fd1ebae13739c9d81f9e813e99b062715604d6b
      4202c48f
    • P
      Fix build of db_stress with LIB_MODE=shared (#7098) · 787bf79f
      Peter Dillinger 提交于
      Summary:
      by tracking and linking against runtime dependent libraries in
      Makefile
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7098
      
      Test Plan: look for fix in CircleCI
      
      Reviewed By: riversand963
      
      Differential Revision: D22420860
      
      Pulled By: pdillinger
      
      fbshipit-source-id: d211d709214bf5306db68e43b7a2f18169281022
      787bf79f
    • P
      Major CircleCI/Linux fixes / tweaks / enhancements (#7078) · 92731b6b
      Peter Dillinger 提交于
      Summary:
      Primarily, this change adds a way to work around a bug limiting the effective output (and therefore debugability) of the Linux builds using parallel make. We would get
      make[1]: write error: stdout
      probably due to a kernel bug, apparently affecting both available ubuntu 16 machine images (maybe not affecting docker images, less horsepower). https://bugs.launchpad.net/ubuntu/+source/linux-signed/+bug/1814393
      
      Now in the CircleCI config, make output on Ubuntu is piped through a custom 'cat' that ignores EAGAIN errors, which seems to fix the problem.
      
      Significant other changes:
      * Add another linux build that combines
        * LIB_MODE=shared, to ensure this works with compile and unit test execution
        * Alternative rocksdb namespace, to ensure this works (not rely on Travis)
        * ASSERT_STATUS_CHECKED=1, but with building all unit tests and running those expected to pass with it
      * Run release build with and without gflags. (Was running only without, ignore large swaths of code in a normal release build! Two regressions in this build, only with gflags, in the last week not caught by CI!)
      * Use gflags with unity and LITE build, as typical case.
      
      Debugability improvements:
      * Use V=1 to show commands being executed (thanks to EAGAIN work-around)
      * Print kernel version and compiler versions as part of V=1 output from Makefile
      
      Cosmetic other changes:
      * Put more commands on one line, for less clutter in CircleCI output pages
      * Remove redundant "all" in "make all check" and put make command options before targets
      * Change some recursive "make clean" into dependency on "clean," toward minimizing unnecessary overhead (detect platform, build version, etc.) of extra recursive makes
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7078
      
      Reviewed By: siying
      
      Differential Revision: D22391647
      
      Pulled By: pdillinger
      
      fbshipit-source-id: d446fccf5a8c568b37dc8748621c8a5c546fe135
      92731b6b
  22. 07 7月, 2020 1 次提交
    • P
      More Makefile clean-up (#7066) · bd77e341
      Peter Dillinger 提交于
      Summary:
      (a) use STRESS_LIBRARY for db_stress and make sure
      STRESS_LIBRARY has other stress test dependencies (as in buck build)
      
      (b) fix rpath option to be accepted on MacOS. It still doesn't fully work
      for me e.g. to run a LIB_MODE=shared unit test binary from another
      directory, as it does on Linux, but the option is now accepted, and running
      unit tests from current directory works for me.
      
      Also adding LIB_MODE=shared to Travis. (Later TBD where best to fit in
      in CircleCI.)
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7066
      
      Test Plan: manual
      
      Reviewed By: cheng-chang
      
      Differential Revision: D22364068
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 6fa98a222f89f808ee786474de1100d92c1adec3
      bd77e341
  23. 02 7月, 2020 1 次提交
  24. 01 7月, 2020 1 次提交
    • M
      Use Libraries in the RocksDB Makefile Build (#6660) · 80f71b58
      mrambacher 提交于
      Summary:
      Change the linking of tests/tools to be against a library rather than a list of objects.  This change substantially reduces the size of the objects produced.
      
      peterd clean repo size: 264M
      Before this change, with make all: 40G
      After this change, with make all: 28G
      With make LIB_MODE=shared all: 7.0G
      
      The list of TESTS was changed from being hard-coded to generated from the test sources variable.  Note that there are some test sources that are not built as tests (though the set of tests is identical to the previous version).
      
      Added OBJ_DIR option to Makefile to allow objects to be placed in an alternative location.  By default, OBJ_DIR is the same as before ("./").
      
      This change is a precursor to being able to build/run the tests/tools linked against static libraries.  Additionally, it should be possible to clean up and merge some of the rules for building tests and the like if so desired.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6660
      
      Reviewed By: riversand963
      
      Differential Revision: D22244463
      
      Pulled By: pdillinger
      
      fbshipit-source-id: db9c6341d81ed62c2270374f4ede02fb9604c754
      80f71b58
  25. 27 6月, 2020 1 次提交
    • S
      Add unity build to CircleCI (#7026) · f9817201
      sdong 提交于
      Summary:
      We are still keeping unity build working. So it's a good idea to add to a pre-commit CI.
      A latest GCC docker image just to get a little bit more coverage. Fix three small issues to make it pass.
      Also make unity_test to run db_basic_test rather than db_test to cut the test time. There is no point to run expensive tests here. It was set to run db_test before db_basic_test was separated out.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7026
      
      Test Plan: watch tests to pass.
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D22223197
      
      fbshipit-source-id: baa3b6cbb623bf359829b63ce35715c75bcb0ed4
      f9817201
  26. 20 6月, 2020 1 次提交
  27. 19 6月, 2020 1 次提交
    • A
      Add IOTracer reader, writer classes for reading/writing IO operations in a binary file (#6958) · 552fd765
      Akanksha Mahajan 提交于
      Summary:
      1. As part of IOTracing project, Add a class IOTracer,
      IOTraceReader and IOTracerWriter that writes the file operations
      information in a binary file. IOTrace Record contains record information
      and right now it contains access_timestamp, file_operation, file_name,
      io_status, len, offset and later other options will be added when file
      system APIs will be call IOTracer.
      
      2. Add few unit test cases that verify that reading and writing to a IO
      Trace file is working properly and before start trace and after ending
      trace nothing is added to the binary file.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6958
      
      Test Plan:
      1. make check -j64
                       2. New testcases for IOTracer.
      
      Reviewed By: anand1976
      
      Differential Revision: D21943375
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: 3532204e2a3eab0104bf411ab142e3fdd4fbce54
      552fd765
  28. 13 6月, 2020 1 次提交
    • Y
      Add stress test for best-efforts recovery (#6819) · 15d9f28d
      Yanqin Jin 提交于
      Summary:
      Add crash test for the case of best-efforts recovery.
      After a certain amount of time, we kill the db_stress process, randomly delete some certain table files and restart db_stress. Given the randomness of file deletion, it is difficult to verify against a reference for data correctness. Therefore, we just check that the db can restart successfully.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6819
      
      Test Plan:
      ```
      ./db_stress -best_efforts_recovery=true -disable_wal=1 -reopen=0
      ./db_stress -best_efforts_recovery=true -disable_wal=0 -skip_verifydb=1 -verify_db_one_in=0 -continuous_verification_interval=0
      make crash_test_with_best_efforts_recovery
      ```
      
      Reviewed By: anand1976
      
      Differential Revision: D21436753
      
      Pulled By: riversand963
      
      fbshipit-source-id: 0b3605c922a16c37ed17d5ab6682ca4240e47926
      15d9f28d
  29. 09 6月, 2020 1 次提交
    • S
      Introduce some Linux build to CircleCI (#6937) · 6a8ddd37
      sdong 提交于
      Summary:
      Moving towards the long term goal of moving most CI build to CircleCI when possible, add some Linux tests in CircleCI. This is not all what we can include to CircleCI. For example, Java builds are not includ
      ed.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6937
      
      Test Plan: Watch CI build results.
      
      Reviewed By: pdillinger
      
      Differential Revision: D21941605
      
      fbshipit-source-id: db6aead3c45f523386d4fb30d224cfde573cccad
      6a8ddd37
  30. 06 6月, 2020 1 次提交
    • C
      Make DestroyDir destroy directories recursively (#6934) · 1bee0fca
      Cheng Chang 提交于
      Summary:
      Currently, `DeleteDir` only deletes the directory if there are no other directories under the target dir. This PR makes it delete directories recursively.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6934
      
      Test Plan:
      Added a new unit test in testutil_test.cc.
      `make testutil_test`
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D21884211
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: 0b9a48a200f494ee007aef5d1763b4aa331f8b5a
      1bee0fca
  31. 04 6月, 2020 2 次提交
  32. 02 6月, 2020 1 次提交