1. 11 8月, 2020 1 次提交
  2. 08 8月, 2020 3 次提交
  3. 07 8月, 2020 5 次提交
    • M
      Add more tests to ASSERT_STATUS_CHECKED (#7211) · 56f468b3
      mrambacher 提交于
      Summary:
      Added 4 more tests to those which pass ASSERT_STATUS_CHECKED (cache_test, lru_cache_test, filename_test, filelock_test).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7211
      
      Reviewed By: ajkr
      
      Differential Revision: D22982858
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: acdd071582ed6aa7447ed96c5732f10bf720d783
      56f468b3
    • Y
      Remove duplicate colon in Status message (#7041) · 67bbac36
      Yingchun Lai 提交于
      Summary:
      A colon will be added after 'msg' automatically when invoke function Status(Code _code, const Slice& msg, const Slice& msg2),
      it's not needed to append a colon explicitly to 'msg'.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7041
      
      Reviewed By: ajkr
      
      Differential Revision: D22292801
      
      fbshipit-source-id: 8f2d69065bb779d2613468bf9fc9169f32c3f1ec
      67bbac36
    • J
      fix typo: paraniod -> paranoid (#7163) · 5e1808d5
      jsteemann 提交于
      Summary:
      Rename "paraniod" to "paranoid" in a few places.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7163
      
      Reviewed By: ajkr
      
      Differential Revision: D22678242
      
      fbshipit-source-id: 28b1011a736d0a95612676f7e1b9500a70c324b4
      5e1808d5
    • A
      Automatically number the Maven artifacts (#7219) · 33561876
      Adam Retter 提交于
      Summary:
      Improvements to the RocksJava release process:
      * Generates the Maven artifact version number as part of the release step
      * Also generates appropriate checksum files to speed the deploy and publish step
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7219
      
      Reviewed By: ltamasi
      
      Differential Revision: D22983481
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 7b8ffaf46471cd3cda181eb830c962b317d2e688
      33561876
    • C
      Replace tracked_keys with a new LockTracker interface in TransactionDB (#7013) · 71c7e493
      Cheng Chang 提交于
      Summary:
      We're going to support more locking protocols such as range lock in transaction.
      
      However, in current design, `TransactionBase` has a member `tracked_keys` which assumes that point lock (lock a single key) is used, and is used in snapshot checking (isolation protocol). When using range lock, we may use read committed instead of snapshot checking as the isolation protocol.
      
      The most significant usage scenarios of `tracked_keys` are:
      1. pessimistic transaction uses it to track the locked keys, and unlock these keys when commit or rollback.
      2. optimistic transaction does not lock keys upfront, it only tracks the lock intentions in tracked_keys, and do write conflict checking when commit.
      3. each `SavePoint` tracks the keys that are locked since the `SavePoint`, `RollbackToSavePoint` or `PopSavePoint` relies on both the tracked keys in `SavePoint`s and `tracked_keys`.
      
      Based on these scenarios, if we can abstract out a `LockTracker` interface to hold a set of tracked locks (can be keys or key ranges), and have methods that can be composed together to implement the scenarios, then `tracked_keys` can be an internal data structure of one implementation of `LockTracker`. See `utilities/transactions/lock/lock_tracker.h` for the detailed interface design, and `utilities/transactions/lock/point_lock_tracker.cc` for the implementation.
      
      In the future, a `RangeLockTracker` can be implemented to track range locks without affecting other components.
      
      After this PR, a clean interface for lock manager should be possible, and then ideally, we can have pluggable locking protocols.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7013
      
      Test Plan: Run `transaction_test` and `optimistic_transaction_test`.
      
      Reviewed By: ajkr
      
      Differential Revision: D22163706
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: f2860577b5334e31dd2994f5bc6d7c40d502b1b4
      71c7e493
  4. 06 8月, 2020 3 次提交
    • 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
    • L
      Remove assertion from FaultInjectionTestFS::NewDirectory (#7220) · 124fbd96
      Levi Tamasi 提交于
      Summary:
      FaultInjectionTestFS::NewDirectory currently asserts that the directory
      creation on the target filesystem succeeds. This is actually not
      guaranteed since there might be a legitimate I/O error when creating the
      directory. The patch removes this assertion.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7220
      
      Test Plan: `make check`
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D22957990
      
      Pulled By: ltamasi
      
      fbshipit-source-id: b2e221320d8ce7235cb4897ef5936072412a25b6
      124fbd96
    • S
      Clean up InternalIterator upper bound logic a little bit (#7200) · 5c1a5441
      sdong 提交于
      Summary:
      IteratorIterator::IsOutOfBound() and IteratorIterator::MayBeOutOfUpperBound() are two functions that related to upper bound check. It is hard for users to reason about this complexity. Consolidate the two functions into one and assign an enum as results to improve readability.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7200
      
      Test Plan: Run all existing test. Would run crash test with atomic for a while.
      
      Reviewed By: anand1976
      
      Differential Revision: D22833181
      
      fbshipit-source-id: a0c724267056adbd0476bde74650e6c7226077e6
      5c1a5441
  5. 05 8月, 2020 4 次提交
    • Y
      ReadOptions.iter_start_ts should support tombstones (#7178) · 2735b027
      Yanqin Jin 提交于
      Summary:
      as title.
      When ReadOptions.iter_start_ts is not nullptr, DBIter::key() should
      return internal keys including value type.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7178
      
      Test Plan: make check
      
      Reviewed By: ltamasi
      
      Differential Revision: D22935879
      
      Pulled By: riversand963
      
      fbshipit-source-id: 7508d962cf11ebcfa6386d2529b4f3606b47ccfd
      2735b027
    • A
      Add support to start and end IOTracing through DB APIs (#7203) · 493f425e
      Akanksha Mahajan 提交于
      Summary:
      1. Add support to start io tracing through DB::StartIOTrace(Env*, const TraceOptions&, std::unique_ptr<TraceWriter>&&) and end tracing through DB::EndIOTrace(). This doesn't trace DB::Open.
      
      User side code:
      
      //Open DB
      DB::Open(options, dbname, &db);
      
      /* Start tracing */
      db->StartIOTrace(env, trace_opt, std::move(trace_writer));
      
      /* Perform Operations */
      
      /*End tracing*/
      db->EndIOTrace();
      
      2. Fix the build errors for Windows.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7203
      
      Test Plan: make check -j64
      
      Reviewed By: anand1976
      
      Differential Revision: D22901947
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: e59c0b785a802168e6f1aa028d99c224a35cb30c
      493f425e
    • S
      Fix a perf regression that caused every key to go through upper bound check (#7209) · 41c328fe
      sdong 提交于
      Summary:
      https://github.com/facebook/rocksdb/pull/5289 introduces a performance regression that caused an upper bound check within every BlockBasedTableIterator::Next(). This is unnecessary if we've checked the boundary key for current block and it is within upper bound.
      
      Fix the bug. Also rename the boolean to a enum so that the code is slightly better readable. The original regression was probably to fix a bug that the block upper bound check status is not reset after a new block is created. Fix it bug so that the regression can be avoided without hitting the bug.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7209
      
      Test Plan: Run all existing tests. Will run atomic black box crash test for a while.
      
      Reviewed By: anand1976
      
      Differential Revision: D22859246
      
      fbshipit-source-id: cbdad1f5e656c55fd8b71726d5a4f6cb53ff9140
      41c328fe
    • J
      Fix Timer unable to schedule new added job (#7216) · fea286d9
      Jay Zhuang 提交于
      Summary:
      And added test to reproduce the problem.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7216
      
      Reviewed By: riversand963
      
      Differential Revision: D22905193
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 8ca1435c91bf829f9076c743bdd66861364ff68c
      fea286d9
  6. 04 8月, 2020 4 次提交
    • L
      Move CompressionType to its own header file (#7162) · 8cb278d1
      Levi Tamasi 提交于
      Summary:
      The patch moves `CompressionType` to its own header file and makes sure
      all other public headers include this new header directly, as opposed to
      relying on transitive includes or forward declarations.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7162
      
      Test Plan: `make check`
      
      Reviewed By: riversand963
      
      Differential Revision: D22676545
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 01d7a232377a229cbbc373d0ec1bf01dc0b0ce02
      8cb278d1
    • A
      dedup ReadOptions in iterator hierarchy (#7210) · a4a4a2da
      Andrew Kryczka 提交于
      Summary:
      Previously, a `ReadOptions` object was stored in every `BlockBasedTableIterator`
      and every `LevelIterator`. This redundancy consumes extra memory,
      resulting in the `Arena` making more allocations, and iteration
      observing worse cache performance.
      
      This PR migrates callers of `NewInternalIterator()` and
      `MakeInputIterator()` to provide a `ReadOptions` object guaranteed to
      outlive the returned iterator. When the iterator's lifetime will be managed by the
      user, this lifetime guarantee is achieved by storing the `ReadOptions`
      value in `ArenaWrappedDBIter`. Then, sub-iterators of `NewInternalIterator()` and
      `MakeInputIterator()` can hold a reference-to-const `ReadOptions`.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7210
      
      Test Plan:
      - `make check` under ASAN and valgrind
      - benchmark: on a DB with 2 L0 files and 3 L1+ levels, this PR reduced `Arena` allocation 4792 -> 4160 bytes.
      
      Reviewed By: anand1976
      
      Differential Revision: D22861323
      
      Pulled By: ajkr
      
      fbshipit-source-id: 54aebb3e89c872eeab0f5793b4b6e42878d093ce
      a4a4a2da
    • A
      Add defaults to ReadOptions doc (#7215) · 18efd760
      Adam Retter 提交于
      Summary:
      Very small improvements to document the defaults.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7215
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D22902286
      
      fbshipit-source-id: a754d172a0d8e4c03754f6f1771d4a693d60a770
      18efd760
    • J
      Fix hang timer tests on macos (#7208) · d941b89d
      Jay Zhuang 提交于
      Summary:
      And re-enable disabled tests.
      The issue is caused by `CondVar.TimedWait()` doesn't use `MockTimeEnv`.
      
      Issue: https://github.com/facebook/rocksdb/issues/6698
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7208
      
      Test Plan: `./timer_test --gtest_repeat=1000`
      
      Reviewed By: riversand963
      
      Differential Revision: D22857855
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 6d15f65f6ae58b75b76cb132815c16ad81ffd12f
      d941b89d
  7. 30 7月, 2020 4 次提交
    • A
      Compaction Read/Write Stats by Compaction Type (#7165) · 56ed601d
      Aaron Kabcenell 提交于
      Summary:
      Adds compaction statistics (total bytes read and written) for compactions that occur for delete-triggered, periodic, and TTL compaction reasons.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7165
      
      Test Plan:
      TTL and periodic can be checked by runnning db_bench with the options activated:
      
      /db_bench --benchmarks="fillrandom,stats" --statistics --num=10000000 -base_background_compactions=16 -periodic_compaction_seconds=1
      ./db_bench --benchmarks="fillrandom,stats" --statistics --num=10000000 -base_background_compactions=16 -fifo_compaction_ttl=1
      
      Setting the time to one second causes non-zero bytes read/written for those compaction reasons. Disabling them or setting them to times longer than the test run length causes the stats to return to zero as expected.
      
      Delete-triggered compaction counting is tested in DBTablePropertiesTest.DeletionTriggeredCompactionMarking
      
      Reviewed By: ajkr
      
      Differential Revision: D22693050
      
      Pulled By: akabcenell
      
      fbshipit-source-id: d15cef4d94576f703015c8942d5f0d492f69401d
      56ed601d
    • C
      feat: export SetBackgroundThreads(n, Env::BOTTOM); (#7191) · 50f206ad
      codingsh 提交于
      Summary:
      - https://github.com/rust-rocksdb/rust-rocksdb/pull/448
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7191
      
      Reviewed By: riversand963
      
      Differential Revision: D22809066
      
      Pulled By: ajkr
      
      fbshipit-source-id: 036939f9a28cacc3f677c318d1aed97fe5f4f85e
      50f206ad
    • Y
      Update HISTORY and version for 6.12 release (#7194) · a38f04ac
      Yanqin Jin 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/7194
      
      Reviewed By: gg814
      
      Differential Revision: D22810654
      
      Pulled By: riversand963
      
      fbshipit-source-id: 01f13089fa2b7e31b827da3e30c90e5c62c41380
      a38f04ac
    • S
      Implement NextAndGetResult() in memtable and level iterator (#7179) · 692f6a31
      sdong 提交于
      Summary:
      NextAndGetResult() is not implemented in memtable and is very simply implemented in level iterator. The result is that for a normal leveled iterator, performance regression will be observed for calling PrepareValue() for most iterator Next(). Mitigate the problem by implementing the function for both iterators. In level iterator, the implementation cannot be perfect as when calling file iterator's SeekToFirst() we don't have information about whether the value is prepared. Fortunately, the first key should not cause a big portion of the CPu.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7179
      
      Test Plan: Run normal crash test for a while.
      
      Reviewed By: anand1976
      
      Differential Revision: D22783840
      
      fbshipit-source-id: c19f45cdf21b756190adef97a3b66ccde3936e05
      692f6a31
  8. 29 7月, 2020 5 次提交
  9. 25 7月, 2020 6 次提交
    • C
      Fix RandomAccessFileReaderTest failures on Travis (#7173) · 69a6d0b4
      Cheng Chang 提交于
      Summary:
      On Travis, the old `alignment()` returned by `RandomAccessFileReaderTest` is inconsistent with the `GetRequiredBufferAlignment` returned in `RandomAccessFileReader`. This PR removes `alignment()` and consistently use `GetRequiredBufferAlignment` as page size.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7173
      
      Test Plan:
      make random_access_file_reader_test && ./random_access_file_reader_test
      Watch Travis
      
      Reviewed By: siying
      
      Differential Revision: D22741606
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: f28f29a7c993bbc3594ae70ecd186fa8bab9c4f2
      69a6d0b4
    • Y
      Enable a few jobs in determinator (#7174) · 1adfd729
      Yanqin Jin 提交于
      Summary:
      https://github.com/facebook/rocksdb/issues/7170 added a few job specs. This PR enables rocksdb-lego-determinator to support them.
      
      Test plan (dev server)
      ```
      $build_tools/rocksdb-lego-determinator blackbox_stress_crash
      $build_tools/rocksdb-lego-determinator whitebox_stress_crash
      $build_tools/rocksdb-lego-determinator blackbox_asan_crash
      $build_tools/rocksdb-lego-determinator whitebox_asan_crash
      $build_tools/rocksdb-lego-determinator blackbox_ubsan_crash
      $build_tools/rocksdb-lego-determinator whitebox_ubsan_crash
      $build_tools/rocksdb-lego-determinator blackbox_tsan_crash
      $build_tools/rocksdb-lego-determinator whitebox_tsan_crash
      ```
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7174
      
      Reviewed By: siying
      
      Differential Revision: D22741153
      
      Pulled By: riversand963
      
      fbshipit-source-id: 39b7d948f04a5b109f009b5499c1dbdc83a13c6e
      1adfd729
    • A
      Fix for flaky test BackupableDBTest.RateLimiting (#7167) · 7e37a591
      Akanksha Mahajan 提交于
      Summary:
      BackupableDBTest.RateLimiting test is failing due to timed out
      on our test server. It might be because of nested loops run sequentially that test different type of combinations of parameters. This patch converts the test into parameterized test so that all combinations can be tested out.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7167
      
      Test Plan: make check -j64
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D22709531
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: 95518153e87b3b5311a6c1960a191bca58898786
      7e37a591
    • J
      Remove redundant ROCKSDB_LITE check (#7172) · 0c5bb10f
      Jay Zhuang 提交于
      Summary:
      It's already inside of a `#ifdef ROCKSDB_LITE` block.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7172
      
      Reviewed By: gg814
      
      Differential Revision: D22736057
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 31f4aa05aba98e2e42fa6f890fa72acf3a0f12f2
      0c5bb10f
    • T
      SST Partitioner interface that allows to split SST files (#6957) · cd4592c2
      Tomas Kolda 提交于
      Summary:
      SST Partitioner interface that allows to split SST files during compactions.
      
      It basically instruct compaction to create a new file when needed. When one is using well defined prefixes and prefixed way of defining tables it is good to define also partitioning so that promotion of some SST file does not cover huge key space on next level (worst case complete space).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6957
      
      Reviewed By: ajkr
      
      Differential Revision: D22461239
      
      fbshipit-source-id: 9ce07bba08b3ba89c2d45630520368f704d1316e
      cd4592c2
    • Y
      Add job specs for blackbox/whitebox stress tests (#7170) · 954ee565
      Yanqin Jin 提交于
      Summary:
      As title.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7170
      
      Test Plan: Manually invoke the commands.
      
      Reviewed By: siying
      
      Differential Revision: D22732256
      
      Pulled By: riversand963
      
      fbshipit-source-id: d331e5ee84658ac079814292ff1a1eacfd14bfdf
      954ee565
  10. 24 7月, 2020 1 次提交
  11. 23 7月, 2020 4 次提交
    • C
      Update HISTORY (#7158) · 7af1fab4
      Cheng Chang 提交于
      Summary:
      Mention the MultiRead bug in HISTORY.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7158
      
      Test Plan: N/A
      
      Reviewed By: siying
      
      Differential Revision: D22670565
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: 16abf0192957be66511f6a08e00157bfd37b189f
      7af1fab4
    • J
      Make max_subcompactions dynamically changeable (#7159) · b0c5ecd6
      Jay Zhuang 提交于
      Summary:
      Make `max-subcompactions` dynamically changeable by passing the `DBOption` to Compaction.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7159
      
      Reviewed By: siying
      
      Differential Revision: D22671238
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 311ca9f6bb606965544d8708616d358cfed5be42
      b0c5ecd6
    • L
      Sync blob files before closing them (#7160) · 0d04a843
      Levi Tamasi 提交于
      Summary:
      BlobDB currently syncs each blob file periodically after writing a certain amount of
      data (as specified by the configuration option `BlobDBOptions::bytes_per_sync`)
      and all open blob files when the base DB's memtables are flushed. With the patch,
      in addition to the above, blob files are also synced right before being closed, after
      the footer has been written. This will be beneficial for the new integrated blob file
      write path as well.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7160
      
      Test Plan: `make check`
      
      Reviewed By: riversand963
      
      Differential Revision: D22672646
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 62b34263543a7e74abcbb7adf011daa1e699998f
      0d04a843
    • J
      Fix bug in MultiRead() coalescing introduced in 4fc21664 (#6446). (#6979) · 4a60cb20
      Jason Volk 提交于
      Summary:
      TryMerge() overzealously creates one huge file read request in an attempt to merge smaller disjoint requests. For example, ~30 input requests of ~100 bytes output as 1 request of 100 MiB causing alarmingly large read throughputs to be repeatedly observed by the environment.
      Signed-off-by: NJason Volk <jason@zemos.net>
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/6979
      
      Reviewed By: siying
      
      Differential Revision: D22668892
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: 7506fe9621b7f1a747dadf6b8ddb1b1a141c1937
      4a60cb20