1. 17 9月, 2021 3 次提交
  2. 16 9月, 2021 6 次提交
    • P
      Fix flaky WALTrashCleanupOnOpen (#8917) · f4a1d106
      Peter Dillinger 提交于
      Summary:
      Test did not consider that slower deletion rate only kicks in
      after a file is deleted
      
      Fixes https://github.com/facebook/rocksdb/issues/7546
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8917
      
      Test Plan:
      no longer reproduces using
      
          buck test mode/dev //internal_repo_rocksdb/repo:db_sst_test -- --exact 'internal_repo_rocksdb/repo:db_sst_test - DBWALTestWithParam/DBWALTestWithParam.WALTrashCleanupOnOpen/0' --jobs 40 --stress-runs 600 --record-results
      
      Reviewed By: siying
      
      Differential Revision: D30949127
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 5d0607f8f548071b07410fe8f532b4618cd225e5
      f4a1d106
    • P
      Fix PrepopulateBlockCache::kFlushOnly (#8750) · 2819c784
      Peter Dillinger 提交于
      Summary:
      kFlushOnly currently means "always" except in the case of
      remote compaction. This makes it flushes only.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8750
      
      Test Plan: test updated
      
      Reviewed By: akankshamahajan15
      
      Differential Revision: D30968034
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 5dbd24dde18852a0e937a540995fba9bfbe89037
      2819c784
    • Z
      Replace Status with IOStatus in the backupable_db (#8820) · 82e7631d
      Zhichao Cao 提交于
      Summary:
      In order to populate the IOStatus up to the higher level, replace some of the Status to IOStatus.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8820
      
      Test Plan: make check
      
      Reviewed By: pdillinger
      
      Differential Revision: D30967215
      
      Pulled By: zhichao-cao
      
      fbshipit-source-id: ccf9d5cfbd9d3de047c464aaa85f9fa43b474903
      82e7631d
    • A
      Avoid overwriting first non-OK Status in db_stress setup (#8907) · 5c92aa38
      Andrew Kryczka 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8907
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30922081
      
      Pulled By: ajkr
      
      fbshipit-source-id: ad7a32c21d0049342fd20c9b7f555e93674c3671
      5c92aa38
    • A
      More robust checking of IO uring completion data (#8894) · 7743f033
      anand76 提交于
      Summary:
      Potential bugs in the IO uring implementation can cause bad data to be returned in the completion queue. Add some checks in the PosixRandomAccessFile::MultiRead completion handling code to catch such errors and fail the entire MultiRead. Also log some diagnostic messages and stack trace.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8894
      
      Reviewed By: siying, pdillinger
      
      Differential Revision: D30826982
      
      Pulled By: anand1976
      
      fbshipit-source-id: af91815ac760e095d6cc0466cf8bd5c10167fd15
      7743f033
    • L
      Use the write amplification value calculated by RocksDB in benchmark.sh (#8915) · 8df33434
      Levi Tamasi 提交于
      Summary:
      Currently, `benchmark.sh` computes write amplification itself; the patch
      changes the script to use the value calculated by RocksDB (which is
      printed as part of the periodic statistics). This also has the benefit
      of being correct for BlobDB as well, since it also considers the amount
      of data written to blob files.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8915
      
      Test Plan:
      ```
      DB_DIR=/tmp/rocksdbtest/dbbench/ WAL_DIR=/tmp/rocksdbtest/dbbench/ NUM_KEYS=20000000 NUM_THREADS=32 tools/benchmark.sh overwrite --enable_blob_files=1 --enable_blob_garbage_collection=1
      
      ...
      
      ** 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) CompMergeCPU(sec) Comp(cnt) Avg(sec) KeyIn KeyDrop Rblob(GB) Wblob(GB)
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        L0      7/5   43.93 MB   0.5      0.3     0.0      0.3       0.5      0.3       0.0   1.0      1.3     59.9    201.35            101.88       109    1.847     22M   499K       0.0      11.2
        L4      4/4   244.03 MB   0.0     11.4     0.3      1.6       1.6      0.0       0.0   1.1     50.6     49.3    231.10            288.84         7   33.014    156M    26M       9.5       9.5
        L5     36/0    3.28 GB   0.0      0.0     0.0      0.0       0.0      0.0       0.0   0.0      0.0      0.0      0.00              0.00         0    0.000       0      0       0.0       0.0
       Sum     47/9    3.56 GB   0.0     11.7     0.3      1.8       2.2      0.3       0.0   2.0     27.6     54.3    432.45            390.72       116    3.728    179M    26M       9.5      20.8
       Int      0/0    0.00 KB   0.0      3.5     0.1      0.5       0.6      0.1       0.0   2.2     31.2     55.6    115.01            109.53        29    3.966     51M  7353K       2.9       5.6
      
      ...
      
      Completed overwrite (ID: ) in 289 seconds
      ops/sec	mb/sec	Size-GB	L0_GB	Sum_GB	W-Amp	W-MB/s	usec/op	p50	p75	p99	p99.9	p99.99	Uptime	Stall-time	Stall%	Test	Date	Version	Job-ID
      111784	44.8	0.0	0.5	2.2	2.0	9.2	285.9	215.3	264.4	1232	13299	23310	243	00:00:0.000	0.0	overwrite.t32.s0	2021-09-14T11:58:26.000-07:00	6.24
      ```
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30940352
      
      Pulled By: ltamasi
      
      fbshipit-source-id: ae7f5cd5440c8529788dda043266121fc2be0853
      8df33434
  3. 15 9月, 2021 4 次提交
    • S
      Always iniitalize ArenaWrappedDBIter::db_iter_ to nullptr (#8889) · 12d798ac
      sdong 提交于
      Summary:
      ArenaWrappedDBIter::db_iter_ should never be nullptr. However, when debugging a segfault, it's hard to distinguish it is not initialized (not possible) and other corruption. Add this nullptr to help distinguish the case.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8889
      
      Test Plan: Run existing unit tests.
      
      Reviewed By: pdillinger
      
      Differential Revision: D30814756
      
      fbshipit-source-id: 4b1f36896a33dc203d4f1f424ded9554927d61ba
      12d798ac
    • A
      Adapt key-value checksum for timestamp-suffixed keys (#8914) · d648cb47
      Andrew Kryczka 提交于
      Summary:
      After https://github.com/facebook/rocksdb/issues/8725, keys added to `WriteBatch` may be timestamp-suffixed, while `WriteBatch` has no awareness of the timestamp size. Therefore, `WriteBatch` can no longer calculate timestamp checksum separately from the rest of the key's checksum in all cases.
      
      This PR changes the definition of key in KV checksum to include the timestamp suffix. That way we do not need to worry about where the timestamp begins within the key. I believe the only practical effect of this change is now `AssignTimestamp()` requires recomputing the whole key checksum (`UpdateK()`) rather than just the timestamp portion (`UpdateT()`).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8914
      
      Test Plan:
      run stress command that used to fail
      
      ```
      $ ./db_stress --batch_protection_bytes_per_key=8 -clear_column_family_one_in=0 -test_batches_snapshots=1
      ```
      
      Reviewed By: riversand963
      
      Differential Revision: D30925715
      
      Pulled By: ajkr
      
      fbshipit-source-id: c143f7ccb46c0efb390ad57ef415c250d754deff
      d648cb47
    • A
      Improve benchmark.sh (#8730) · e10e4162
      Adam Retter 提交于
      Summary:
      * Started on some proper usage text to document the options
      * Added a `JOB_ID` parameter, so that we can trace jobs and relate them to other assets
      * Now generates a correct TSV file of the summary
      * Summary has new additional fields:
          * RocksDB Version
          * Date
          * Job ID
      * db_bench log files now also include the Job ID
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8730
      
      Reviewed By: mrambacher
      
      Differential Revision: D30747344
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 87eb78d20959b6d95804aebf129606fa9c71f407
      e10e4162
    • C
      Add Kafka to USERS (#8911) · 34afdc2d
      Cheng Chang 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8911
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30908552
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: df2ab50d94ed46bfb54f0dd520f8a5cdbfa49fd1
      34afdc2d
  4. 14 9月, 2021 5 次提交
  5. 13 9月, 2021 2 次提交
    • M
      Change the File System File Wrappers to std::unique_ptr (#8618) · dafa584f
      mrambacher 提交于
      Summary:
      This allows the wrapper classes to own the wrapped object and eliminates confusion as to ownership.  Previously, many classes implemented their own ownership solutions.  Fixes https://github.com/facebook/rocksdb/issues/8606
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8618
      
      Reviewed By: pdillinger
      
      Differential Revision: D30136064
      
      Pulled By: mrambacher
      
      fbshipit-source-id: d0bf471df8818dbb1770a86335fe98f761cca193
      dafa584f
    • Y
      Allow WriteBatch to have keys with different timestamp sizes (#8725) · 2a2b3e03
      Yanqin Jin 提交于
      Summary:
      In the past, we unnecessarily requires all keys in the same write batch
      to be from column families whose timestamps' formats are the same for
      simplicity. Specifically, we cannot use the same write batch to write to
      two column families, one of which enables timestamp while the other
      disables it.
      
      The limitation is due to the member `timestamp_size_` that used to exist
      in each `WriteBatch` object. We pass a timestamp_size to the constructor
      of `WriteBatch`. Therefore, users can simply use the old
      `WriteBatch::Put()`, `WriteBatch::Delete()`, etc APIs for write, while
      the internal implementation of `WriteBatch` will take care of memory
      allocation for timestamps.
      
      The above is not necessary.
      One the one hand, users can set up a memory buffer to store user key and
      then contiguously append the timestamp to the user key. Then the user
      can pass this buffer to the `WriteBatch::Put(Slice&)` API.
      On the other hand, users can set up a SliceParts object which is an
      array of Slices and let the last Slice to point to the memory buffer
      storing timestamp. Then the user can pass the SliceParts object to the
      `WriteBatch::Put(SliceParts&)` API.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8725
      
      Test Plan: make check
      
      Reviewed By: ltamasi
      
      Differential Revision: D30654499
      
      Pulled By: riversand963
      
      fbshipit-source-id: 9d848c77ad3c9dd629aa5fc4e2bc16fb0687b4a2
      2a2b3e03
  6. 12 9月, 2021 1 次提交
  7. 11 9月, 2021 2 次提交
    • P
      Fix and detect headers with missing dependencies (#8893) · bda8d93b
      Peter Dillinger 提交于
      Summary:
      It's always annoying to find a header does not include its own
      dependencies and only works when included after other includes. This
      change adds `make check-headers` which validates that each header can
      be included at the top of a file. Some headers are excluded e.g. because
      of platform or external dependencies.
      
      rocksdb_namespace.h had to be re-worked slightly to enable checking for
      failure to include it. (ROCKSDB_NAMESPACE is a valid namespace name.)
      
      Fixes mostly involve adding and cleaning up #includes, but for
      FileTraceWriter, a constructor was out-of-lined to make a forward
      declaration sufficient.
      
      This check is not currently run with `make check` but is added to
      CircleCI build-linux-unity since that one is already relatively fast.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8893
      
      Test Plan: existing tests and resolving issues detected by new check
      
      Reviewed By: mrambacher
      
      Differential Revision: D30823300
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 9fff223944994c83c105e2e6496d24845dc8e572
      bda8d93b
    • M
      Make Statistics a Customizable Class (#8637) · dc0dc90c
      mrambacher 提交于
      Summary:
      Make the Statistics object into a Customizable object.  Statistics can now be stored and created to/from the Options file.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8637
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30530550
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 5fc7d01d8431f37b2c205bbbd8342c9f697023bd
      dc0dc90c
  8. 10 9月, 2021 5 次提交
    • H
      Add public API RateLimiter::GetTotalPendingRequests() (#8890) · 12542488
      Hui Xiao 提交于
      Summary:
      Context/Summary:
      As users requested, a public API RateLimiter::GetTotalPendingRequests() is added to expose the total number of pending requests for bytes in the rate limiter, which is the size of the request queue of that priority (or of all priorities, if IO_TOTAL is interested) at the time when this API is called.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8890
      
      Test Plan:
      - Passing added new unit tests
      - Passing existing unit tests
      
      Reviewed By: ajkr
      
      Differential Revision: D30815500
      
      Pulled By: hx235
      
      fbshipit-source-id: 2dfa990f651c1c47378b6215c751ad76a5824300
      12542488
    • M
      Add support to the ObjectRegistry for ManagedObjects (#8658) · 0fb938c4
      mrambacher 提交于
      Summary:
      ManagedObjects are  shared pointer objects where RocksDB wants to share a single object between multiple configurations.  For example, the Cache may be shared between multiple column families/tables or the Statistics may be shared between multiple databases.
      
      ManagedObjects are stored in the ObjectRegistry by Type (e.g. Cache) and ID.  For a given type/ID name, a single object is stored.
      
      APIs were added to get/set/create these objects.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8658
      
      Reviewed By: pdillinger
      
      Differential Revision: D30806273
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 832ac4423b210c4c4b4a456b35897334775d3160
      0fb938c4
    • L
      Support timestamps in SstFileWriter (#8899) · 7e78d7c5
      Levi Tamasi 提交于
      Summary:
      As a first step of supporting user-defined timestamps with ingestion, the
      patch adds timestamp support to `SstFileWriter`; namely, it adds new
      versions of the `Put` and `Delete` APIs that take timestamps. (`Merge`
      and `DeleteRange` are currently not supported with user-defined timestamps
      in general but once those features are implemented, we can handle them
      in `SstFileWriter` in a similar fashion.) The new APIs validate the size of
      the timestamp provided by the client. Similarly, calls to the pre-existing
      timestamp-less APIs are now disallowed when user-defined timestamps are
      in use according to the comparator.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8899
      
      Test Plan: `make check`
      
      Reviewed By: riversand963
      
      Differential Revision: D30850699
      
      Pulled By: ltamasi
      
      fbshipit-source-id: 779154373618f19b8f0797976bb7286783c57b67
      7e78d7c5
    • H
      Add comment for new_memory_used parameter in... · 0aad4ca0
      Hui Xiao 提交于
      Add comment for new_memory_used parameter in CacheReservationManager::UpdateCacheReservation (#8895)
      
      Summary:
      Context/Summary: this PR is to clarify what the parameter new_memory_used is in CacheReservationManager::UpdateCacheReservation
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8895
      
      Test Plan:
      - Passing existing test
      - Make format
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D30844814
      
      Pulled By: hx235
      
      fbshipit-source-id: 3177f7abf5668ea9e73818ceaa355566f03acabc
      0aad4ca0
    • H
      Update HISTORY.md for new rate limiter io priorities (#8896) · 6785135b
      Hui Xiao 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8896
      
      Reviewed By: ajkr
      
      Differential Revision: D30846120
      
      Pulled By: hx235
      
      fbshipit-source-id: 9224ebce5437d63b0fb8af9171c6041a9ea5d90f
      6785135b
  9. 09 9月, 2021 6 次提交
    • A
      Support custom Env in db_sst_test and external_sst_file_basic_test (#8888) · eea56686
      anand76 提交于
      Summary:
      Support custom Env in these tests. Some custom Envs do not support reopening a file for write, either normal mode or Random RW mode. Added some additional checks in external_sst_file_basic_test to accommodate those Envs.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8888
      
      Reviewed By: riversand963
      
      Differential Revision: D30824481
      
      Pulled By: anand1976
      
      fbshipit-source-id: c3ac7a628e6df29e94f42e370e679934a4f77eac
      eea56686
    • H
      Charge read to rate limiter in BackupEngine (#8722) · 45175ca2
      hx235 提交于
      Summary:
      Context:
      While all the non-trivial write operations in BackupEngine go through the RateLimiter, reads currently do not. In general, this is not a huge issue because (especially since some I/O efficiency fixes) reads in BackupEngine are mostly limited by corresponding writes, for both backup and restore. But in principle we should charge the RateLimiter for reads as well.
      - Charged read operations in `BackupEngineImpl::CopyOrCreateFile`, `BackupEngineImpl::ReadFileAndComputeChecksum`, `BackupEngineImpl::BackupMeta::LoadFromFile` and `BackupEngineImpl::GetFileDbIdentities`
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8722
      
      Test Plan:
      - Passed existing tests
      - Passed added unit tests
      
      Reviewed By: pdillinger
      
      Differential Revision: D30610464
      
      Pulled By: hx235
      
      fbshipit-source-id: 9b08c9387159a5385c8d390d6666377a0d0117e5
      45175ca2
    • A
      prevent stranded LATEST_BACKUP in BackupEngineTest.NoDeleteWithReadOnly (#8887) · dd092c2d
      Andrew Kryczka 提交于
      Summary:
      A "LATEST_BACKUP" file was left in the backup directory by
      "BackupEngineTest.NoDeleteWithReadOnly" test, affecting future test
      runs. In particular, it caused "BackupEngineTest.IOStats" to fail since
      it relies on backup directory containing only data written by its
      `BackupEngine`.
      
      The fix is to promote "LATEST_BACKUP" to an explicitly managed file so
      it is deleted in `BackupEngineTest` constructor if it exists.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8887
      
      Test Plan:
      below command used to fail. Now it passes:
      
      ```
      $ TEST_TMPDIR=/dev/shm ./backupable_db_test --gtest_filter='BackupEngineTest.NoDeleteWithReadOnly:BackupEngineTest.IOStats'
      ```
      
      Reviewed By: pdillinger
      
      Differential Revision: D30812336
      
      Pulled By: ajkr
      
      fbshipit-source-id: 32dfbe1368ebdab872e610764bfea5daf9a2af09
      dd092c2d
    • H
      Account for dictionary-building buffer in global memory limit (#8428) · 91b95cad
      Hui Xiao 提交于
      Summary:
      Context:
      Some data blocks are temporarily buffered in memory in BlockBasedTableBuilder for building compression dictionary used in data block compression. Currently this memory usage is not counted toward our global memory usage utilizing block cache capacity. To improve that, this PR charges that memory usage into the block cache to achieve better memory tracking and limiting.
      
      - Reserve memory in block cache for buffered data blocks that are used to build a compression dictionary
      - Release all the memory associated with buffering the data blocks mentioned above in EnterUnbuffered(), which is called when (a) buffer limit is exceeded after buffering OR (b) the block cache becomes full after reservation OR (c) BlockBasedTableBuilder calls Finish()
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8428
      
      Test Plan:
      - Passing existing unit tests
      - Passing new unit tests
      
      Reviewed By: ajkr
      
      Differential Revision: D30755305
      
      Pulled By: hx235
      
      fbshipit-source-id: 6e66665020b775154a94c4c5e0f2adaeaff13981
      91b95cad
    • Z
      Add DB properties for BlobDB (#8734) · 0cb0fc6f
      Zhiyi Zhang 提交于
      Summary:
      RocksDB exposes certain internal statistics via the DB property interface.
      However, there are currently no properties related to BlobDB.
      
      For starters, we would like to add the following BlobDB properties:
      `rocksdb.num-blob-files`: number of blob files in the current Version (kind of like `num-files-at-level` but note this is not per level, since blob files are not part of the LSM tree).
      `rocksdb.blob-stats`: this could return the total number and size of all blob files, and potentially also the total amount of garbage (in bytes) in the blob files in the current Version.
      `rocksdb.total-blob-file-size`: the total size of all blob files (as a blob counterpart for `total-sst-file-size`) of all Versions.
      `rocksdb.live-blob-file-size`: the total size of all blob files in the current Version.
      `rocksdb.estimate-live-data-size`: this is actually an existing property that we can extend so it considers blob files as well. When it comes to blobs, we actually have an exact value for live bytes. Namely, live bytes can be computed simply as total bytes minus garbage bytes, summed over the entire set of blob files in the Version.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8734
      
      Test Plan:
      ```
      ➜  rocksdb git:(new_feature_blobDB_properties) ./db_blob_basic_test
      [==========] Running 16 tests from 2 test cases.
      [----------] Global test environment set-up.
      [----------] 10 tests from DBBlobBasicTest
      [ RUN      ] DBBlobBasicTest.GetBlob
      [       OK ] DBBlobBasicTest.GetBlob (12 ms)
      [ RUN      ] DBBlobBasicTest.MultiGetBlobs
      [       OK ] DBBlobBasicTest.MultiGetBlobs (11 ms)
      [ RUN      ] DBBlobBasicTest.GetBlob_CorruptIndex
      [       OK ] DBBlobBasicTest.GetBlob_CorruptIndex (10 ms)
      [ RUN      ] DBBlobBasicTest.GetBlob_InlinedTTLIndex
      [       OK ] DBBlobBasicTest.GetBlob_InlinedTTLIndex (12 ms)
      [ RUN      ] DBBlobBasicTest.GetBlob_IndexWithInvalidFileNumber
      [       OK ] DBBlobBasicTest.GetBlob_IndexWithInvalidFileNumber (9 ms)
      [ RUN      ] DBBlobBasicTest.GenerateIOTracing
      [       OK ] DBBlobBasicTest.GenerateIOTracing (11 ms)
      [ RUN      ] DBBlobBasicTest.BestEffortsRecovery_MissingNewestBlobFile
      [       OK ] DBBlobBasicTest.BestEffortsRecovery_MissingNewestBlobFile (13 ms)
      [ RUN      ] DBBlobBasicTest.GetMergeBlobWithPut
      [       OK ] DBBlobBasicTest.GetMergeBlobWithPut (11 ms)
      [ RUN      ] DBBlobBasicTest.MultiGetMergeBlobWithPut
      [       OK ] DBBlobBasicTest.MultiGetMergeBlobWithPut (14 ms)
      [ RUN      ] DBBlobBasicTest.BlobDBProperties
      [       OK ] DBBlobBasicTest.BlobDBProperties (21 ms)
      [----------] 10 tests from DBBlobBasicTest (124 ms total)
      
      [----------] 6 tests from DBBlobBasicTest/DBBlobBasicIOErrorTest
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.GetBlob_IOError/0
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.GetBlob_IOError/0 (12 ms)
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.GetBlob_IOError/1
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.GetBlob_IOError/1 (10 ms)
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.MultiGetBlobs_IOError/0
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.MultiGetBlobs_IOError/0 (10 ms)
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.MultiGetBlobs_IOError/1
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.MultiGetBlobs_IOError/1 (10 ms)
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.CompactionFilterReadBlob_IOError/0
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.CompactionFilterReadBlob_IOError/0 (1011 ms)
      [ RUN      ] DBBlobBasicTest/DBBlobBasicIOErrorTest.CompactionFilterReadBlob_IOError/1
      [       OK ] DBBlobBasicTest/DBBlobBasicIOErrorTest.CompactionFilterReadBlob_IOError/1 (1013 ms)
      [----------] 6 tests from DBBlobBasicTest/DBBlobBasicIOErrorTest (2066 ms total)
      
      [----------] Global test environment tear-down
      [==========] 16 tests from 2 test cases ran. (2190 ms total)
      [  PASSED  ] 16 tests.
      ```
      
      Reviewed By: ltamasi
      
      Differential Revision: D30690849
      
      Pulled By: Zhiyi-Zhang
      
      fbshipit-source-id: a7567319487ad76bd1a2e24bf143afdbbd9e4346
      0cb0fc6f
    • C
      Add Milvus in USERS (#8822) · 7aa84477
      Cheng Chang 提交于
      Summary:
      Milvus is a new database using RocksDB.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8822
      
      Test Plan: N/A
      
      Reviewed By: mrambacher
      
      Differential Revision: D30802413
      
      Pulled By: cheng-chang
      
      fbshipit-source-id: 7c506f30688d4bb6b4cb8cddfc90e9414a397a53
      7aa84477
  10. 08 9月, 2021 6 次提交
    • M
      Make MemTableRepFactory into a Customizable class (#8419) · beed8647
      mrambacher 提交于
      Summary:
      This PR does the following:
      -> Makes the MemTableRepFactory into a Customizable class and creatable/configurable via CreateFromString
      -> Makes the existing implementations compatible with configurations
      -> Moves the "SpecialRepFactory" test class into testutil, accessible via the ObjectRegistry or a NewSpecial API
      
      New tests were added to validate the functionality and all existing tests pass.  db_bench and memtablerep_bench were hand-tested to verify the functionality in those tools.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8419
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D29558961
      
      Pulled By: mrambacher
      
      fbshipit-source-id: 81b7229636e4e649a0c914e73ac7b0f8454c931c
      beed8647
    • P
      Fix POSIX LockFile after failure to create file (#8747) · e40b04e9
      Peter Dillinger 提交于
      Summary:
      Failure to create the lock file (e.g. out of space) could
      prevent future LockFile attempts in the same process on the same file
      from succeeding.
      
      Also added DEBUG code to fail assertion if PosixFileLock is destroyed
      without using UnlockFile (which is a risk because FileLock is in the
      public API with virtual destructor).
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8747
      
      Test Plan: test added
      
      Reviewed By: ajkr
      
      Differential Revision: D30732543
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 4c30a959566d91f778d6fad3fbbd5f3941b097c1
      e40b04e9
    • P
      Add (& fix) some simple source code checks (#8821) · cb5b851f
      Peter Dillinger 提交于
      Summary:
      * Don't hardcode namespace rocksdb (use ROCKSDB_NAMESPACE)
      * Don't #include <rocksdb/...> (use double quotes)
      * Support putting NOCOMMIT (any case) in source code that should not be
      committed/pushed in current state.
      
      These will be run with `make check` and in GitHub actions
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8821
      
      Test Plan: existing tests, manually try out new checks
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30791726
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 399c883f312be24d9e55c58951d4013e18429d92
      cb5b851f
    • A
      Bytes read/written stats for `CreateNewBackup*()` (#8819) · 9308ff36
      Andrew Kryczka 提交于
      Summary:
      Gets `Statistics` from the options associated with the `DB` undergoing backup, and populates new ticker stats with the thread-local `IOContext` read/write counters for the threads doing backup work.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8819
      
      Reviewed By: pdillinger
      
      Differential Revision: D30779238
      
      Pulled By: ajkr
      
      fbshipit-source-id: 75ccafc355f90906df5cf80367f7245b985772d8
      9308ff36
    • J
      Remove asan_symbolize.py for internal asan build (#8737) · 6cca9fab
      Jay Zhuang 提交于
      Summary:
      asan_symbolize.py is not compatible with python3. Also make it
      consistent with public CI, which doesn't use asan_symbolize.py
      And update coverage_test.sh to use python3.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8737
      
      Test Plan: CI
      
      Reviewed By: pdillinger
      
      Differential Revision: D30702430
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: ef09947b1232294d31b09a855c2f0ce149097dd9
      6cca9fab
    • A
      Bytes read stat for `VerifyChecksum()` and `VerifyFileChecksums()` APIs (#8741) · 94154372
      Andrew Kryczka 提交于
      Summary:
      - Clarified some comments on compatibility for adding new ticker stats
      - Added read I/O stats for `VerifyChecksum()` and `VerifyFileChecksums()` APIs
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/8741
      
      Test Plan: new unit test
      
      Reviewed By: zhichao-cao
      
      Differential Revision: D30708578
      
      Pulled By: ajkr
      
      fbshipit-source-id: d06b961f7e199ae92c266b683e39870aa8f63449
      94154372