1. 27 3月, 2021 2 次提交
  2. 26 3月, 2021 4 次提交
    • L
      Introduce a ThreadGuard class and use it in ExternalSSTFileTest.PickedLevelBug (#8112) · 303cb23a
      Levi Tamasi 提交于
      Summary:
      The patch adds a resource management/RAII class called `ThreadGuard`,
      which can be used to ensure that the managed thread is joined when the
      `ThreadGuard` is destroyed, regardless of whether it is due to the
      object going out of scope, an early return, an exception etc. This is
      important because if an `std::thread` object is destroyed without having
      been joined (or detached) first, the process is aborted (via
      `std::terminate`).
      
      For now, `ThreadGuard` is only used in the test case
      `ExternalSSTFileTest.PickedLevelBug`; however, it could come in handy
      elsewhere in the codebase as well (both in test code and "real" code).
      Case in point: in the `PickedLevelBug` test case, with the earlier code we
      could end up in the above situation when the following assertion (which is
      before the threads are joined) is triggered:
      
      ```
      ASSERT_FALSE(bg_compact_started.load());
      ```
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8112
      
      Test Plan:
      ```
      make check
      gtest-parallel --repeat=10000 ./external_sst_file_test --gtest_filter="*PickedLevelBug"
      ```
      
      Reviewed By: riversand963
      
      Differential Revision: D27343185
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 2a8c3aa68bc78cc03ec0dbae909fb25c2cd15c69
      303cb23a
    • Z
      Fix flush no wal IO error bug (#8107) · af80a78b
      Zhichao Cao 提交于
      Summary:
      There is bug in the current code base introduced in https://github.com/facebook/rocksdb/issues/8049 , we still set the SST file write IO Error only case as hard error. Fix it by removing the logic.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8107
      
      Test Plan: make check, error_handler_fs_test
      
      Reviewed By: anand1976
      
      Differential Revision: D27321422
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: c014afc1553ca66b655e3bbf9d0bf6eb417ccf94
      af80a78b
    • S
      Fix some typos in comments (#8066) · 711881bc
      storagezhang 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8066
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D27280799
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 68f91f5af4ffe0a84be581961bf9366887f47702
      711881bc
    • A
      Apply `sample_for_compression` to all block-based tables (#8105) · c20a7cd6
      Andrew Kryczka 提交于
      Summary:
      Previously it only applied to block-based tables generated by flush. This restriction
      was undocumented and blocked a new use case. Now compression sampling
      applies to all block-based tables we generate when it is enabled.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8105
      
      Test Plan: new unit test
      
      Reviewed By: riversand963
      
      Differential Revision: D27317275
      
      Pulled By: ajkr
      
      fbshipit-source-id: cd9fcc5178d6515e8cb59c6facb5ac01893cb5b0
      c20a7cd6
  3. 25 3月, 2021 3 次提交
  4. 24 3月, 2021 7 次提交
    • P
      Improve bloom_test bits_per_key flag (#8093) · da6b90ab
      Peter Dillinger 提交于
      Summary:
      Improved handling of -bits_per_key other than 10, but at least
      the OptimizeForMemory test is simply not designed for generally handling
      other settings. (ribbon_test does have a statistical framework for this
      kind of testing, but it's not important to do that same for Bloom right
      now.)
      
      Closes https://github.com/facebook/rocksdb/issues/7019
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8093
      
      Test Plan: for I in `seq 1 20`; do ./bloom_test --gtest_filter=-*OptimizeForMemory* --bits_per_key=$I &> /dev/null || echo FAILED; done
      
      Reviewed By: mrambacher
      
      Differential Revision: D27275875
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 7362e8ac2c41ea11f639412e4f30c8b375f04388
      da6b90ab
    • A
      Fix Race condition in db_sst_test (#8092) · 41e554da
      Akanksha Mahajan 提交于
      Summary:
      Fix race condition in
      DBSSTTest.DBWithMaxSpaceAllowedWithBlobFiles where background flush
      thread updates delete_blob_file but in test thread Flush() already
      completes after getting bg_error and delete_blob_file remains false.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8092
      
      Test Plan: Ran ASAN job few times on CircleCI
      
      Reviewed By: riversand963
      
      Differential Revision: D27275815
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: 2939ad1671403881573bbe07c71aa474c5019130
      41e554da
    • Z
      Added append with checksum handoff API to hdfs (#8084) · 8dc6d8c7
      Zhichao Cao 提交于
      Summary:
      Added append with checksum handoff API to hdfs
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8084
      
      Test Plan: make check
      
      Reviewed By: ajkr
      
      Differential Revision: D27237823
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: 93b38db23b1811a6daa049afb89240089ec6f67c
      8dc6d8c7
    • Y
      Move compacted_db_impl.[c|h] to db/db_impl (#8082) · 9f7c02da
      Yanqin Jin 提交于
      Summary:
      As title. All core db implementations should stay in db_impl.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8082
      
      Test Plan: make check
      
      Reviewed By: ajkr
      
      Differential Revision: D27211442
      
      Pulled By: riversand963
      
      fbshipit-source-id: e0953fde75064740e899aaff7989ff033b7f5232
      9f7c02da
    • Y
      Fix an error while running db_crashtest for non-user-ts tests (#8091) · e1aa8c16
      Yanqin Jin 提交于
      Summary:
      Fix the following error while running `make crash_test`
      ```
      Traceback (most recent call last):
        File "tools/db_crashtest.py", line 705, in <module>
          main()
        File "tools/db_crashtest.py", line 696, in main
          blackbox_crash_main(args, unknown_args)
        File "tools/db_crashtest.py", line 479, in blackbox_crash_main
          + list({'db': dbname}.items())), unknown_args)
        File "tools/db_crashtest.py", line 414, in gen_cmd
          finalzied_params = finalize_and_sanitize(params)
        File "tools/db_crashtest.py", line 331, in finalize_and_sanitize
          dest_params.get("user_timestamp_size") > 0):
      TypeError: '>' not supported between instances of 'NoneType' and 'int'
      ```
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8091
      
      Test Plan: make crash_test
      
      Reviewed By: ltamasi
      
      Differential Revision: D27268276
      
      Pulled By: riversand963
      
      fbshipit-source-id: ed2873b9587ecc51e24abc35ef2bd3d91fb1ed1b
      e1aa8c16
    • V
      Fix possible mistype in a comment (#8086) · 4a6bc47b
      Vlad Artamonov 提交于
      Summary:
      This is a small fix to what I think is a mistype in two comments in `DBOptionsInterface.java`. If it was not an error, feel free to close.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8086
      
      Reviewed By: ajkr
      
      Differential Revision: D27260488
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 469daadaf6039d5b5187132b8e0c7c3672842f21
      4a6bc47b
    • Y
      Fix a compilation error in CircleCI vs2019 CXX20 (#8090) · 2a12b807
      Yanqin Jin 提交于
      Summary:
      As title.
      Always specify namespace::symbol_name...
      Test plan
      CircleCI and other CI results
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8090
      
      Reviewed By: ltamasi
      
      Differential Revision: D27256130
      
      Pulled By: riversand963
      
      fbshipit-source-id: b9b9ae2b3a8b4a16f0384292e71c6aecca93c570
      2a12b807
  5. 23 3月, 2021 3 次提交
    • Y
      Add user-defined timestamps to db_stress (#8061) · 08144bc2
      Yanqin Jin 提交于
      Summary:
      Add some basic test for user-defined timestamp to db_stress. Currently,
      read with timestamp always tries to read using the current timestamp.
      Due to the per-key timestamp-sequence ordering constraint, we only add timestamp-
      related tests to the `NonBatchedOpsStressTest` since this test serializes accesses
      to the same key and uses a file to cross-check data correctness.
      The timestamp feature is not supported in a number of components, e.g. Merge, SingleDelete,
      DeleteRange, CompactionFilter, Readonly instance, secondary instance, SST file ingestion, transaction,
      etc. Therefore, db_stress should exit if user enables both timestamp and these features at the same
      time. The (currently) incompatible features can be found in
      `CheckAndSetOptionsForUserTimestamp`.
      
      This PR also fixes a bug triggered when timestamp is enabled together with
      `index_type=kBinarySearchWithFirstKey`. This bug fix will also be in another separate PR
      with more unit tests coverage. Fixing it here because I do not want to exclude the index type
      from crash test.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8061
      
      Test Plan: make crash_test_with_ts
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D27056282
      
      Pulled By: riversand963
      
      fbshipit-source-id: c3e00ad1023fdb9ebbdf9601ec18270c5e2925a9
      08144bc2
    • L
      Adjust the set of potential min_blob_size values in stress/crash tests (#8085) · 0d800dad
      Levi Tamasi 提交于
      Summary:
      Since our stress/crash tests by default generate values of size 8, 16, or 24,
      it does not make much sense to set `min_blob_size` to 256. The patch
      updates the set of potential `min_blob_size` values in the crash test
      script and in `db_stress` where it might be set dynamically using
      `SetOptions`.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8085
      
      Test Plan: Ran `make check` and tried the crash test script.
      
      Reviewed By: riversand963
      
      Differential Revision: D27238620
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 4a96f9944b1ed9220d3045c5ab0b34c49009aeee
      0d800dad
    • Y
      Remove duplicate code (#8079) · d6052d38
      Yanqin Jin 提交于
      Summary:
      The implementation of TransactionDB::WrapDB() and
      TransactionDB::WrapStackableDB() are almost identical, except for the
      type of the first argument `db`. This PR adds a new template function in
      anonymous namespace, and calls it in the above two functions.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8079
      
      Test Plan: make check
      
      Reviewed By: lth
      
      Differential Revision: D27184575
      
      Pulled By: riversand963
      
      fbshipit-source-id: f2855a6db3a7e897d0d611f7050ca4b696c56a7a
      d6052d38
  6. 22 3月, 2021 1 次提交
  7. 20 3月, 2021 5 次提交
    • P
      Begin forward compatibility for new backup meta schema (#8069) · 3bfd3ed2
      Peter Dillinger 提交于
      Summary:
      This does not add any new public APIs or published
      functionality, but adds the ability to read and use (and in tests,
      write) backups with a new meta file schema, based on the old schema
      but not forward-compatible (before this change). The new schema enables
      some capabilities not in the old:
      
      * Explicit versioning, so that users get clean error messages the next
      time we want to break forward compatibility.
      * Ignoring unrecognized fields (with warning), so that new non-critical
      features can be added without breaking forward compatibility.
      * Rejecting future "non-ignorable" fields, so that new features critical
      to some use-cases could potentially be added outside of linear schema
      versions, with broken forward compatibility.
      * Fields at the end of the meta file, such as for checksum of the meta
      file's contents (up to that point)
      * New optional 'size' field for each file, which is checked when present
      * Optionally omitting 'crc32' field, so that we aren't required to have
      a crc32c checksum for files to take a backup. (E.g. to support backup
      via hard links and to better support file custom checksums.)
      
      Because we do not have a JSON parser and to share code, the new schema
      is simply derived from the old schema.
      
      BackupEngine code is updated to allow missing checksums in some places,
      and to make that easier, `has_checksum` and `verify_checksum_after_work`
      are eliminated. Empty `checksum_hex` indicates checksum is unknown. I'm
      not too afraid of regressing on data integrity, because
      (a) we have pretty good test coverage of corruption detection in backups, and
      (b) we are increasingly relying on the DB itself for data integrity rather than
      it being an exclusive feature of backups.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8069
      
      Test Plan:
      new unit tests, added to crash test (some local run with
      boosted backup probability)
      
      Reviewed By: ajkr
      
      Differential Revision: D27139824
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 9e0e4decfb42bb84783d64d2d246456d97e8e8c5
      3bfd3ed2
    • S
      Remove unused variable (#8067) · c8b0842b
      storagezhang 提交于
      Summary:
      Remove unused variable `Slice blob_to_write` in `db/blob/blob_file_cache_test.cc`.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8067
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D27107693
      
      Pulled By: riversand963
      
      fbshipit-source-id: 9bfd4d296a6a1714ad5c1fa5bb231a0c52dbd56d
      c8b0842b
    • S
      Include C++ standard library headers instead of C compatibility headers (#8068) · d9be6556
      storagezhang 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8068
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D27147685
      
      Pulled By: riversand963
      
      fbshipit-source-id: 5428b1c0142ecae17c977fba31a6d49b52983d1c
      d9be6556
    • S
      Add default in switch (#8065) · c7063242
      storagezhang 提交于
      Summary:
      switch may not cover all branch in `db/c.cc`:
      
      ```c++
      void rocksdb_options_set_access_hint_on_compaction_start(
          rocksdb_options_t* opt, int v) {
        switch(v) {
          case 0:
            opt->rep.access_hint_on_compaction_start =
                ROCKSDB_NAMESPACE::Options::NONE;
            break;
          case 1:
            opt->rep.access_hint_on_compaction_start =
                ROCKSDB_NAMESPACE::Options::NORMAL;
            break;
          case 2:
            opt->rep.access_hint_on_compaction_start =
                ROCKSDB_NAMESPACE::Options::SEQUENTIAL;
            break;
          case 3:
            opt->rep.access_hint_on_compaction_start =
                ROCKSDB_NAMESPACE::Options::WILLNEED;
            break;
        }
      }
      ```
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8065
      
      Reviewed By: riversand963
      
      Differential Revision: D27102892
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: ad1d20d192712878e61597311ba75b55df0066d7
      c7063242
    • Z
      Add new Append API with DataVerificationInfo to Env WritableFile (#8071) · dd0447ae
      Zhichao Cao 提交于
      Summary:
      Add the new Append and PositionedAppend API to env WritableFile. User is able to benefit from the write checksum handoff API when using the legacy Env classes. FileSystem already implemented the checksum handoff API.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8071
      
      Test Plan: make check, added new unit test.
      
      Reviewed By: anand1976
      
      Differential Revision: D27177043
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: 430c8331fc81099fa6d00f4fff703b68b9e8080e
      dd0447ae
  8. 19 3月, 2021 5 次提交
    • Y
      Fix a test failure when built with ASSERT_STATUS_CHECKED=1 (#8075) · 7ee41a5d
      Yanqin Jin 提交于
      Summary:
      As title.
      Test plan
      ASSERT_STATUS_CHECKED=1 make -j20 backupable_db_test error_handler_fs_test
      ./backupable_db_test
      ./error_handler_fs_test
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8075
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D27173832
      
      Pulled By: riversand963
      
      fbshipit-source-id: 37dac50f7c89127804ff2572abddd4174642de30
      7ee41a5d
    • Y
      Remove db_with_timestamp_basic_test from platform_dependent list (#8077) · 576cff11
      Yanqin Jin 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8077
      
      Test Plan: Travis CI
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D27178276
      
      Pulled By: riversand963
      
      fbshipit-source-id: 17911dcc2d5790eb396efcd7f90dea76a127cf15
      576cff11
    • Y
      Check and handle failure in ldb (#8072) · 063a68b9
      Yanqin Jin 提交于
      Summary:
      Currently, a few ldb commands do not check the execution result of
      database operations. This PR checks the execution results and tries to
      improve the error reporting.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8072
      
      Test Plan:
      ```
      make check
      ```
      and
      ```
      ASSERT_STATUS_CHECKED=1 make -j20 ldb
      python tools/ldb_test.py
      ```
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D27152466
      
      Pulled By: riversand963
      
      fbshipit-source-id: b94220496a4b3591b61c1d350f665860a6579f30
      063a68b9
    • Z
      Separate handling of WAL Sync io error with SST flush io error (#8049) · c8109471
      Zhichao Cao 提交于
      Summary:
      In previous codebase, if WAL is used, all the retryable IO Error will be treated as hard error. So write is stalled. In this PR, the retryable IO error from WAL sync is separated from SST file flush io error. If WAL Sync is ok and retryable IO Error only happens during SST flush, the error is mapped to soft error. So user can continue insert to Memtable and append to WAL.
      
      Resolve the bug that if WAL sync fails, the memtable status does not roll back due to calling PickMemtable early than calling and checking SyncClosedLog.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8049
      
      Test Plan: added new unit test, make check
      
      Reviewed By: anand1976
      
      Differential Revision: D26965529
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: f5fecb66602212523c92ee49d7edcb6065982410
      c8109471
    • P
      Revamp WriteController (#8064) · e7a60d01
      Peter Dillinger 提交于
      Summary:
      WriteController had a number of issues:
      * It could introduce a delay of 1ms even if the write rate never exceeded the
      configured delayed_write_rate.
      * The DB-wide delayed_write_rate could be exceeded in a number of ways
      with multiple column families:
        * Wiping all pending delay "debts" when another column family joins
        the delay with GetDelayToken().
        * Resetting last_refill_time_ to (now + sleep amount) means each
        column family can write with delayed_write_rate for large writes.
        * Updating bytes_left_ for a partial refill without updating
        last_refill_time_ would essentially give out random bonuses,
        especially to medium-sized writes.
      
      Now the code is much simpler, with these issues fixed. See comments in
      the new code and new (replacement) tests.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8064
      
      Test Plan: new tests, better than old tests
      
      Reviewed By: mrambacher
      
      Differential Revision: D27064936
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 497c23fe6819340b8f3d440bd634d8a2bc47323f
      e7a60d01
  9. 18 3月, 2021 4 次提交
  10. 17 3月, 2021 1 次提交
    • S
      Java-API: Fix minor Javadoc copy-paste errors (#8034) · 8d908846
      stefan-zobel 提交于
      Summary:
      Fixes 3 minor Javadoc copy-paste errors in the `RocksDB#newIterator()` and `Transaction#getIterator()` variants that take a column family handle but are talking about iterating over "the database" or "the default column family".
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8034
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D26877667
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 95dd95b667c496e389f221acc9a91b340e4b63bf
      8d908846
  11. 16 3月, 2021 3 次提交
    • M
      Make ChRootEnv, EncryptedEnv, and TimedEnv into FileSystems (#7968) · 1a343bc3
      mrambacher 提交于
      Summary:
      These classes were wraps of Env that provided only extensions to the FileSystem functionality.  Changed the classes to be FileSystems and the wraps to be of the CompositeEnvWrapper.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7968
      
      Reviewed By: anand1976
      
      Differential Revision: D26900253
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 94001d8024a3c54a1c11adadca2bac66c3af2a77
      1a343bc3
    • Y
      Fix a bug in key comparison when index type is kBinarySearchWithFirstKey (#8062) · 03043528
      Yanqin Jin 提交于
      Summary:
      When timestamp is enabled, key comparison should take this into account.
      In `BlockBasedTableReader::Get()`, `BlockBasedTableReader::MultiGet()`,
      assume the target key is `key`, and the timestamp upper bound is `ts`.
      The highest key in current block is (key, ts1), while the lowest key in next
      block is (key, ts2).
      If
      ```
      ts1 > ts > ts2
      ```
      then
      ```
      (key, ts1) < (key, ts) < (key, ts2)
      ```
      It can be shown that if `Compare()` is used, then we will mistakenly skip the next
      block. Instead, we should use `CompareWithoutTimestamp()`.
      
      The majority of this PR makes some existing tests in `db_with_timestamp_basic_test.cc`
      parameterized so that different index types can be tested. A new unit test is
      also added for more coverage.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8062
      
      Test Plan: make check
      
      Reviewed By: ltamasi
      
      Differential Revision: D27057557
      
      Pulled By: riversand963
      
      fbshipit-source-id: c1062fa7c159ed600a1ad7e461531d52265021f1
      03043528
    • Y
      Move a test file to a better location (#8054) · 85d4f2c8
      Yanqin Jin 提交于
      Summary:
      As title.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8054
      
      Test Plan: make check
      
      Reviewed By: mrambacher
      
      Differential Revision: D27017955
      
      Pulled By: riversand963
      
      fbshipit-source-id: 829497d507bc89afbe982f8a8cf3555e52fd7098
      85d4f2c8
  12. 15 3月, 2021 2 次提交
    • M
      Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines (#8033) · 3dff28cf
      mrambacher 提交于
      Summary:
      For performance purposes, the lower level routines were changed to use a SystemClock* instead of a std::shared_ptr<SystemClock>.  The shared ptr has some performance degradation on certain hardware classes.
      
      For most of the system, there is no risk of the pointer being deleted/invalid because the shared_ptr will be stored elsewhere.  For example, the ImmutableDBOptions stores the Env which has a std::shared_ptr<SystemClock> in it.  The SystemClock* within the ImmutableDBOptions is essentially a "short cut" to gain access to this constant resource.
      
      There were a few classes (PeriodicWorkScheduler?) where the "short cut" property did not hold.  In those cases, the shared pointer was preserved.
      
      Using db_bench readrandom perf_level=3 on my EC2 box, this change performed as well or better than 6.17:
      
      6.17: readrandom   :      28.046 micros/op 854902 ops/sec;   61.3 MB/s (355999 of 355999 found)
      6.18: readrandom   :      32.615 micros/op 735306 ops/sec;   52.7 MB/s (290999 of 290999 found)
      PR: readrandom   :      27.500 micros/op 871909 ops/sec;   62.5 MB/s (367999 of 367999 found)
      
      (Note that the times for 6.18 are prior to revert of the SystemClock).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8033
      
      Reviewed By: pdillinger
      
      Differential Revision: D27014563
      
      Pulled By: mrambacher
      
      fbshipit-source-id: ad0459eba03182e454391b5926bf5cdd45657b67
      3dff28cf
    • A
      Deflake tests of compaction based on compensated file size (#8036) · b8f40f7f
      Andrew Kryczka 提交于
      Summary:
      CompactionDeletionTriggerReopen was observed to be flaky recently:
      https://app.circleci.com/pipelines/github/facebook/rocksdb/6030/workflows/787af4f3-b9f7-4645-8e8d-1fb0ebf05539/jobs/101451.
      
      I went through it and the related tests and arrived at different
      conclusions on what constraints we can expect on DB size. Some
      constraints got looser and some got tighter. The particular constraint
      that flaked got a lot looser so at least the flake linked above would have been prevented.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8036
      
      Reviewed By: riversand963
      
      Differential Revision: D26862566
      
      Pulled By: ajkr
      
      fbshipit-source-id: 3512b86b4fb41aeecae32e1c7382c03916d88d88
      b8f40f7f