1. 14 4月, 2022 4 次提交
  2. 13 4月, 2022 4 次提交
  3. 12 4月, 2022 6 次提交
    • A
      Remove corrupted WAL files in kPointRecoveryMode with avoid_flush_duing_recovery set true (#9634) · ae82d914
      Akanksha Mahajan 提交于
      Summary:
      1) In case of non-TransactionDB and avoid_flush_during_recovery = true, RocksDB won't
      flush the data from WAL to L0 for all column families if possible. As a
      result, not all column families can increase their log_numbers, and
      min_log_number_to_keep won't change.
      2) For transaction DB (.allow_2pc), even with the flush, there may be old WAL files that it must not delete because they can contain data of uncommitted transactions and min_log_number_to_keep won't change.
      
      If we persist a new MANIFEST with
      advanced log_numbers for some column families, then during a second
      crash after persisting the MANIFEST, RocksDB will see some column
      families' log_numbers larger than the corrupted wal, and the "column family inconsistency" error will be hit, causing recovery to fail.
      
      As a solution,
      1. the corrupted WALs whose numbers are larger than the
      corrupted wal and smaller than the new WAL will be moved to archive folder.
      2. Currently, RocksDB DB::Open() may creates and writes to two new MANIFEST files even before recovery succeeds. This PR buffers the edits in a structure and writes to a new MANIFEST after recovery is successful
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9634
      
      Test Plan:
      1. Added new unit tests
                      2. make crast_test -j
      
      Reviewed By: riversand963
      
      Differential Revision: D34463666
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: e233d3af0ed4e2028ca0cf051e5a334a0fdc9d19
      ae82d914
    • A
      Enable async prefetching for ReadOptions.readahead_size (#9827) · 63e68a4e
      Akanksha Mahajan 提交于
      Summary:
      Currently async prefetching is enabled for implicit internal auto readahead in FilePrefetchBuffer if `ReadOptions.async_io` is set. This PR enables async prefetching for `ReadOptions.readahead_size` when `ReadOptions.async_io` is set true.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9827
      
      Test Plan: Update unit test
      
      Reviewed By: anand1976
      
      Differential Revision: D35552129
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: d9f9a96672852a591375a21eef15355cf3289f5c
      63e68a4e
    • M
      Plugin Registry (#7949) · b7db7eae
      mrambacher 提交于
      Summary:
      Added a Plugin class to the ObjectRegistry.  Enabled compile-time and program-time addition of plugins to the Registry.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/7949
      
      Reviewed By: mrambacher
      
      Differential Revision: D33517674
      
      Pulled By: pdillinger
      
      fbshipit-source-id: c3e3270aab76a489bfa9e85d78cdfca951912557
      b7db7eae
    • G
      Prevent double caching in the compressed secondary cache (#9747) · f241d082
      gitbw95 提交于
      Summary:
      ###  **Summary:**
      When both LRU Cache and CompressedSecondaryCache are configured together, there possibly are some data blocks double cached.
      
      **Changes include:**
      1. Update IS_PROMOTED to IS_IN_SECONDARY_CACHE to prevent confusions.
      2. This PR updates SecondaryCacheResultHandle and use IsErasedFromSecondaryCache to determine whether the handle is erased in the secondary cache. Then, the caller can determine whether to SetIsInSecondaryCache().
      3. Rename LRUSecondaryCache to CompressedSecondaryCache.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9747
      
      Test Plan:
      **Test Scripts:**
      1. Populate a DB. The on disk footprint is 482 MB. The data is set to be 50% compressible, so the total decompressed size is expected to be 964 MB.
      ./db_bench --benchmarks=fillrandom --num=10000000 -db=/db_bench_1
      
      2. overwrite it to a stable state:
      ./db_bench --benchmarks=overwrite,stats --num=10000000 -use_existing_db -duration=10 --benchmark_write_rate_limit=2000000 -db=/db_bench_1
      
      4. Run read tests with diffeernt cache setting:
      
      T1:
      ./db_bench --benchmarks=seekrandom,stats --threads=16 --num=10000000 -use_existing_db -duration=120 --benchmark_write_rate_limit=52000000 -use_direct_reads --cache_size=520000000  --statistics -db=/db_bench_1
      
      T2:
      ./db_bench --benchmarks=seekrandom,stats --threads=16 --num=10000000 -use_existing_db -duration=120 --benchmark_write_rate_limit=52000000 -use_direct_reads --cache_size=320000000 -compressed_secondary_cache_size=400000000 --statistics -use_compressed_secondary_cache -db=/db_bench_1
      
      T3:
      ./db_bench --benchmarks=seekrandom,stats --threads=16 --num=10000000 -use_existing_db -duration=120 --benchmark_write_rate_limit=52000000 -use_direct_reads --cache_size=520000000 -compressed_secondary_cache_size=400000000 --statistics -use_compressed_secondary_cache -db=/db_bench_1
      
      T4:
      ./db_bench --benchmarks=seekrandom,stats --threads=16 --num=10000000 -use_existing_db -duration=120 --benchmark_write_rate_limit=52000000 -use_direct_reads --cache_size=20000000 -compressed_secondary_cache_size=500000000 --statistics -use_compressed_secondary_cache -db=/db_bench_1
      
      **Before this PR**
      | Cache Size | Compressed Secondary Cache Size | Cache Hit Rate |
      |------------|-------------------------------------|----------------|
      |520 MB | 0 MB | 85.5% |
      |320 MB | 400 MB | 96.2% |
      |520 MB | 400 MB | 98.3% |
      |20 MB | 500 MB | 98.8% |
      
      **Before this PR**
      | Cache Size | Compressed Secondary Cache Size | Cache Hit Rate |
      |------------|-------------------------------------|----------------|
      |520 MB | 0 MB | 85.5% |
      |320 MB | 400 MB | 99.9% |
      |520 MB | 400 MB | 99.9% |
      |20 MB | 500 MB | 99.2% |
      
      Reviewed By: anand1976
      
      Differential Revision: D35117499
      
      Pulled By: gitbw95
      
      fbshipit-source-id: ea2657749fc13efebe91a8a1b56bc61d6a224a12
      f241d082
    • A
      Fix stress test failure in ReadAsync. (#9824) · f3bcac39
      Akanksha Mahajan 提交于
      Summary:
      Fix stress test failure in ReadAsync by ignoring errors
      injected during async read by FaultInjectionFS.
      Failure:
      ```
       WARNING: prefix_size is non-zero but memtablerep != prefix_hash
      Didn't get expected error from MultiGet.
      num_keys 14 Expected 1 errors, seen 0
      Callstack that injected the fault
      Injected error type = 32538
      Message: error;
      #0   ./db_stress() [0x6f7dd4] rocksdb::port::SaveStack(int*, int)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/port/stack_trace.cc:152
      https://github.com/facebook/rocksdb/issues/1   ./db_stress() [0x7f2bda] rocksdb::FaultInjectionTestFS::InjectThreadSpecificReadError(rocksdb::FaultInjectionTestFS::ErrorOperation, rocksdb::Slice*, bool, char*, bool, bool*)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/utilities/fault_injection_fs.cc:891
      https://github.com/facebook/rocksdb/issues/2   ./db_stress() [0x7f2e78] rocksdb::TestFSRandomAccessFile::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/utilities/fault_injection_fs.cc:367
      https://github.com/facebook/rocksdb/issues/3   ./db_stress() [0x6483d7] rocksdb::(anonymous namespace)::CompositeRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::Slice*, char*) const	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/env/composite_env.cc:61
      https://github.com/facebook/rocksdb/issues/4   ./db_stress() [0x654564] rocksdb::(anonymous namespace)::LegacyRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/env/env.cc:152
      https://github.com/facebook/rocksdb/issues/5   ./db_stress() [0x659b3b] rocksdb::FSRandomAccessFile::ReadAsync(rocksdb::FSReadRequest&, rocksdb::IOOptions const&, std::function<void (rocksdb::FSReadRequest const&, void*)>, void*, void**, std::function<void (void*)>*, rocksdb::IODebugContext*)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/./include/rocksdb/file_system.h:896
      https://github.com/facebook/rocksdb/issues/6   ./db_stress() [0x8b8bab] rocksdb::RandomAccessFileReader::ReadAsync(rocksdb::FSReadRequest&, rocksdb::IOOptions const&, std::function<void (rocksdb::FSReadRequest const&, void*)>, void*, void**, std::function<void (void*)>*, rocksdb::Env::IOPriority)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/file/random_access_file_reader.cc:459
      https://github.com/facebook/rocksdb/issues/7   ./db_stress() [0x8b501f] rocksdb::FilePrefetchBuffer::ReadAsync(rocksdb::IOOptions const&, rocksdb::RandomAccessFileReader*, rocksdb::Env::IOPriority, unsigned long, unsigned long, unsigned long, unsigned int)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/file/file_prefetch_buffer.cc:124
      https://github.com/facebook/rocksdb/issues/8   ./db_stress() [0x8b55fc] rocksdb::FilePrefetchBuffer::PrefetchAsync(rocksdb::IOOptions const&, rocksdb::RandomAccessFileReader*, unsigned long, unsigned long, unsigned long, rocksdb::Env::IOPriority, bool&)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/file/file_prefetch_buffer.cc:363
      https://github.com/facebook/rocksdb/issues/9   ./db_stress() [0x8b61f8] rocksdb::FilePrefetchBuffer::TryReadFromCacheAsync(rocksdb::IOOptions const&, rocksdb::RandomAccessFileReader*, unsigned long, unsigned long, rocksdb::Slice*, rocksdb::Status*, rocksdb::Env::IOPriority, bool)	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/file/file_prefetch_buffer.cc:482
      https://github.com/facebook/rocksdb/issues/10  ./db_stress() [0x745e04] rocksdb::BlockFetcher::TryGetFromPrefetchBuffer()	/data/sandcastle/boxes/trunk-hg-fbcode-fbsource/fbcode/internal_repo_rocksdb/repo/table/block_fetcher.cc:76
      ```
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9824
      
      Test Plan:
      ```
      ./db_stress --acquire_snapshot_one_in=10000 --adaptive_readahead=1 --allow_concurrent_memtable_write=0 --async_io=1 --atomic_flush=1 --avoid_flush_during_recovery=0 --avoid_unnecessary_blocking_io=0 -- backup_max_size=104857600 --backup_one_in=100000 --batch_protection_bytes_per_key=0 --block_size=16384 --bloom_bits=5.037629726741734 --bottommost_compression_type=lz4hc --cache_index_and_filter_blocks=0 --cache_size=8388608 --checkpoint_one_in=1000000 --checksum_type=kxxHash --clear_column_family_one_in=0 --column_families=1 --compact_files_one_in=1000000 --compact_range_one_in=1000000 --compaction_ttl=100 --compression_max_dict_buffer_bytes=1073741823 --compression_max_dict_bytes=16384 --compression_parallel_threads=1 --compression_type=zstd --compression_zstd_max_train_bytes=0 --continuous_verification_interval=0 --db=/home/akankshamahajan/dev/shm/rocksdb/rocksdb_crashtest_blackbox --db_write_buffer_size=8388608 --delpercent=0 --delrangepercent=0 --destroy_db_initially=0 - detect_filter_construct_corruption=1 --disable_wal=1 --enable_compaction_filter=0 --enable_pipelined_write=0 --expected_values_dir=/home/akankshamahajan/dev/shm/rocksdb/rocksdb_crashtest_expected --experimental_mempurge_threshold=8.772789063014715 --fail_if_options_file_error=0 --file_checksum_impl=crc32c --flush_one_in=1000000 --format_version=3 --get_current_wal_file_one_in=0 --get_live_files_one_in=1000000 --get_property_one_in=1000000 --get_sorted_wal_files_one_in=0 --index_block_restart_interval=15 --index_type=3 --iterpercent=0 --key_len_percent_dist=1,30,69 --level_compaction_dynamic_level_bytes=False --long_running_snapshots=0 --mark_for_compaction_one_file_in=0 --max_background_compactions=1 --max_bytes_for_level_base=67108864 --max_key=25000000 --max_key_len=3 --max_manifest_file_size=1073741824 --max_write_batch_group_size_bytes=16777216 --max_write_buffer_number=3 --max_write_buffer_size_to_maintain=2097152 --memtable_prefix_bloom_size_ratio=0.001 --memtable_whole_key_filtering=1 --memtablerep=skip_list --mmap_read=0 --mock_direct_io=True --nooverwritepercent=1 --open_files=-1 --open_metadata_write_fault_one_in=0 --open_read_fault_one_in=0 --open_write_fault_one_in=0 --ops_per_thread=100000000 --optimize_filters_for_memory=0 --paranoid_file_checks=1 --partition_filters=0 --partition_pinning=2 --pause_background_one_in=1000000 --periodic_compaction_seconds=1000 --prefix_size=-1 --prefixpercent=0 --prepopulate_block_cache=0 --progress_reports=0 --read_fault_one_in=32 --readpercent=100 --recycle_log_file_num=1 --reopen=0 --reserve_table_reader_memory=1 --ribbon_starting_level=999 --secondary_cache_fault_one_in=0 --set_options_one_in=0 --snapshot_hold_ops=100000 --sst_file_manager_bytes_per_sec=0 --sst_file_manager_bytes_per_truncate=0 --subcompactions=2 --sync=0 --sync_fault_injection=False --target_file_size_base=16777216 --target_file_size_multiplier=1 --test_batches_snapshots=0 --top_level_index_pinning=3 --unpartitioned_pinning=2 --use_block_based_filter=0 --use_clock_cache=0 --use_direct_io_for_flush_and_compaction=1 --use_direct_reads=0 --use_full_merge_v1=0 --use_merge=1 --use_multiget=1 --user_timestamp_size=0 --value_size_mult=32 --verify_checksum=1 --verify_checksum_one_in=1000000 --verify_db_one_in=100000 --wal_compression=none --write_buffer_size=33554432 --write_dbid_to_manifest=1 --write_fault_one_in=0 --writepercent=0
      ```
      
      Reviewed By: anand1976
      
      Differential Revision: D35514566
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: e2a868fdd7422604774c1419738f9926a21e92a4
      f3bcac39
    • Y
      Remove dead code (#9825) · 0ad9ee30
      Yanqin Jin 提交于
      Summary:
      Options `preserve_deletes` and `iter_start_seqnum` have been removed since 7.0.
      
      This PR removes dead code related to these two removed options.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9825
      
      Test Plan: make check
      
      Reviewed By: akankshamahajan15
      
      Differential Revision: D35517950
      
      Pulled By: riversand963
      
      fbshipit-source-id: 86282ce5ec4087acb94a06a42a1b6d55b1715482
      0ad9ee30
  4. 09 4月, 2022 1 次提交
  5. 08 4月, 2022 2 次提交
  6. 07 4月, 2022 7 次提交
    • A
      Fix reseting of async_read_in_progress_ variable in FilePrefetchBuffer to call Poll API (#9815) · 7ea26abb
      Akanksha Mahajan 提交于
      Summary:
      Currently RocksDB reset async_read_in_progress_ in callback
      due to which underlying filesystem relying on Poll API won't be called
      leading to stale memory access.
      In order to fix it, async_read_in_progress_ will be reset after Poll API
      is called to make sure underlying file_system waiting on Poll can clear
      its state or take appropriate action.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9815
      
      Test Plan: CircleCI tests
      
      Reviewed By: anand1976
      
      Differential Revision: D35451534
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: b70ef6251a7aa9ed4876ba5e5100baa33d7d474c
      7ea26abb
    • S
      L0 Subcompaction to trim input files (#9802) · e03f8a0c
      sdong 提交于
      Summary:
      When sub compaction is decided for L0->L1 compaction, most of the cases, all L0 files will be involved in all sub compactions. However, it is not always the case. When files are generally (but not strictly) inserted in sequential order, there can be a subset of L0 files invovled. Yet RocksDB always open all those L0 files, and build an iterator, read many of the files' first of last block with expensive readahead. We trim some input files to reduce overhead a little bit.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9802
      
      Test Plan: Add a unit test to cover this case and manually validate the behavior while running the test.
      
      Reviewed By: ajkr
      
      Differential Revision: D35371031
      
      fbshipit-source-id: 701ed7375b5cbe41672e93b38fe8a1503dad08b6
      e03f8a0c
    • P
      Tests for filter compatibility (#9773) · 8ce7cea9
      Peter Dillinger 提交于
      Summary:
      This change adds two unit tests that would each catch the
      regression fixed in https://github.com/facebook/rocksdb/issues/9736
      
      * TableMetaIndexKeys - detects any churn in metaindex block keys
      generated by SST files using standard db_test_util configurations.
      * BloomFilterCompatibility - this detects if any common built-in
      FilterPolicy configurations fail to read filters generated by another.
      (The regression bug caused NewRibbonFilterPolicy not to read filters
      from NewBloomFilterPolicy and vice-versa.) This replaces some previous
      tests that didn't really appear to be testing much of anything except
      basic data correctness, which doesn't tell you a filter is being used.
      
      Light refactoring in meta_blocks.cc/h to support inspecting metaindex
      keys.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9773
      
      Test Plan:
      this is the test. Verified that 7.0.2 fails both tests and 7.0.3 passes.
      With backporting for intentional API changes in 7.0, 6.29 also passes.
      
      Reviewed By: ajkr
      
      Differential Revision: D35236248
      
      Pulled By: pdillinger
      
      fbshipit-source-id: 493dfe9ad7e27524bf7c6c1af8a4b8c31bc6ef5a
      8ce7cea9
    • A
      Add WAL compression to stress tests (#9811) · c3d7e162
      anand76 提交于
      Summary:
      Add the WAL compression feature to the stress test.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9811
      
      Reviewed By: riversand963
      
      Differential Revision: D35414316
      
      Pulled By: anand1976
      
      fbshipit-source-id: 0c17b1ec55679a52f088ad368798b57139bd921a
      c3d7e162
    • P
      Remove public rocksdb-lego-determinator (#9803) · ad32646e
      Peter Dillinger 提交于
      Summary:
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9803
      
      Only use Meta-internal version now. precommit_checker.py also now obsolete
      
      Bring back `make commit_prereq` in follow-up work
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D35372283
      
      fbshipit-source-id: 7428438ca51f878802c301d0d5591675e551a113
      ad32646e
    • A
      Update stats for Read and ReadAsync in random_access_file_reader for async prefetching (#9810) · 0b8f8859
      Akanksha Mahajan 提交于
      Summary:
      Update stats in random_access_file_reader for Read and
      ReadAsync API to take into account the read latency for async
      prefetching.
      
      It also fixes ERROR_HANDLER_AUTORESUME_RETRY_COUNT stat whose value was
      incorrect in portal.h
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9810
      
      Test Plan: Update unit test
      
      Reviewed By: anand1976
      
      Differential Revision: D35433081
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: aeec3901270e58a003ce6b5214bd25ddcb3a12a9
      0b8f8859
    • H
      Account memory of big memory users in BlockBasedTable in global memory limit (#9748) · 49623f9c
      Hui Xiao 提交于
      Summary:
      **Context:**
      Through heap profiling, we discovered that `BlockBasedTableReader` objects can accumulate and lead to high memory usage (e.g, `max_open_file = -1`). These memories are currently not saved, not tracked, not constrained and not cache evict-able. As a first step to improve this, similar to https://github.com/facebook/rocksdb/pull/8428,  this PR is to track an estimate of `BlockBasedTableReader` object's memory in block cache and fail future creation if the memory usage exceeds the available space of cache at the time of creation.
      
      **Summary:**
      - Approximate big memory users  (`BlockBasedTable::Rep` and `TableProperties` )' memory usage in addition to the existing estimated ones (filter block/index block/un-compression dictionary)
      - Charge all of these memory usages to block cache on `BlockBasedTable::Open()` and release them on `~BlockBasedTable()` as there is no memory usage fluctuation of concern in between
      - Refactor on CacheReservationManager (and its call-sites) to add concurrent support for BlockBasedTable  used in this PR.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9748
      
      Test Plan:
      - New unit tests
      - db bench: `OpenDb` : **-0.52% in ms**
        - Setup `./db_bench -benchmarks=fillseq -db=/dev/shm/testdb -disable_auto_compactions=1 -write_buffer_size=1048576`
        - Repeated run with pre-change w/o feature and post-change with feature, benchmark `OpenDb`:  `./db_bench -benchmarks=readrandom -use_existing_db=1 -db=/dev/shm/testdb -reserve_table_reader_memory=true (remove this when running w/o feature) -file_opening_threads=3 -open_files=-1 -report_open_timing=true| egrep 'OpenDb:'`
      
      #-run | (feature-off) avg milliseconds | std milliseconds | (feature-on) avg milliseconds | std milliseconds | change (%)
      -- | -- | -- | -- | -- | --
      10 | 11.4018 | 5.95173 | 9.47788 | 1.57538 | -16.87382694
      20 | 9.23746 | 0.841053 | 9.32377 | 1.14074 | 0.9343477536
      40 | 9.0876 | 0.671129 | 9.35053 | 1.11713 | 2.893283155
      80 | 9.72514 | 2.28459 | 9.52013 | 1.0894 | -2.108041632
      160 | 9.74677 | 0.991234 | 9.84743 | 1.73396 | 1.032752389
      320 | 10.7297 | 5.11555 | 10.547 | 1.97692 | **-1.70275031**
      640 | 11.7092 | 2.36565 | 11.7869 | 2.69377 | **0.6635807741**
      
      -  db bench on write with cost to cache in WriteBufferManager (just in case this PR's CRM refactoring accidentally slows down anything in WBM) : `fillseq` : **+0.54% in micros/op**
      `./db_bench -benchmarks=fillseq -db=/dev/shm/testdb -disable_auto_compactions=1 -cost_write_buffer_to_cache=true -write_buffer_size=10000000000 | egrep 'fillseq'`
      
      #-run | (pre-PR) avg micros/op | std micros/op | (post-PR)  avg micros/op | std micros/op | change (%)
      -- | -- | -- | -- | -- | --
      10 | 6.15 | 0.260187 | 6.289 | 0.371192 | 2.260162602
      20 | 7.28025 | 0.465402 | 7.37255 | 0.451256 | 1.267813605
      40 | 7.06312 | 0.490654 | 7.13803 | 0.478676 | **1.060579461**
      80 | 7.14035 | 0.972831 | 7.14196 | 0.92971 | **0.02254791432**
      
      -  filter bench: `bloom filter`: **-0.78% in ms/key**
          - ` ./filter_bench -impl=2 -quick -reserve_table_builder_memory=true | grep 'Build avg'`
      
      #-run | (pre-PR) avg ns/key | std ns/key | (post-PR)  ns/key | std ns/key | change (%)
      -- | -- | -- | -- | -- | --
      10 | 26.4369 | 0.442182 | 26.3273 | 0.422919 | **-0.4145720565**
      20 | 26.4451 | 0.592787 | 26.1419 | 0.62451 | **-1.1465262**
      
      - Crash test `python3 tools/db_crashtest.py blackbox --reserve_table_reader_memory=1 --cache_size=1` killed as normal
      
      Reviewed By: ajkr
      
      Differential Revision: D35136549
      
      Pulled By: hx235
      
      fbshipit-source-id: 146978858d0f900f43f4eb09bfd3e83195e3be28
      49623f9c
  7. 06 4月, 2022 7 次提交
  8. 05 4月, 2022 6 次提交
    • H
      Add Env::IOPriority to IOOptions (#9806) · 9cd47ce5
      Hui Xiao 提交于
      Summary:
      **Context/Todo:**
      As requested, allow IOOptions to take in an Env::IOPriority for convenience to pass down rate limiter related hint to file system level and for future interaction between RocksDB internal's rate limiting and custom file system level's rate-limiting.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9806
      
      Test Plan: No actual code changes in RocksDB internals
      
      Reviewed By: ajkr
      
      Differential Revision: D35388966
      
      Pulled By: hx235
      
      fbshipit-source-id: 5891c97c3f9184cd221a9ab8536ce8dfa8526c08
      9cd47ce5
    • A
      Fix segfault in FilePrefetchBuffer with async_io enabled (#9777) · 36bc3da9
      Akanksha Mahajan 提交于
      Summary:
      If FilePrefetchBuffer object is destroyed and then later Poll() calls callback on object which has been destroyed, it gives segfault on accessing destroyed object. It was caught after adding unit tests that tests Posix implementation of ReadAsync and Poll APIs.
      This PR also updates and fixes existing IOURing tests which were not running locally because RocksDbIOUringEnable function wasn't defined and IOUring was disabled for those tests
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9777
      
      Test Plan: Added new unit test
      
      Reviewed By: anand1976
      
      Differential Revision: D35254002
      
      Pulled By: akankshamahajan15
      
      fbshipit-source-id: 68e80054ffb14ae25c255920ebc6548ca5f130a1
      36bc3da9
    • J
      Fix commit_prereq and other targets (#9797) · ec77a928
      Jay Zhuang 提交于
      Summary:
      Make `commit_prereq` work and a few other improvements:
      * Remove gcc 481 and gcc5xx which are no longer supported
      * Remove platform007 which is gone
      * `make clean` work for both mac and linux
      * `precommit_checker.py` to python3
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9797
      
      Test Plan: `make commit_prereq`
      
      Reviewed By: ajkr
      
      Differential Revision: D35338536
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 1e159962ab9d31c43c4b85de7d0f582d3e881ffe
      ec77a928
    • S
      Fix typo about file/sst_file_manager_impl.h (#9799) · f6870640
      SGZW 提交于
      Summary:
      Fix typo deletition-> deletion
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9799
      
      Reviewed By: ajkr
      
      Differential Revision: D35341617
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 32bc384b99e5564f6a673076c6a4f160ee6c2e46
      f6870640
    • S
      build_tools/rocksdb-lego-determinator to pass parallelism information for no_compression (#9796) · d4159c80
      sdong 提交于
      Summary:
      Right now, parallelism information passed to "build_tools/rocksdb-lego-determinator no_compression" isn't effective when the test actually runs, as the information is dropped in the middle. Fix it.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9796
      
      Test Plan: Run "build_tools/rocksdb-lego-determinator no_compression" and execute the command line generated and observe the parallelism.
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D35330085
      
      fbshipit-source-id: e9b32d0520d61fbc2697ebd841099485f64482e3
      d4159c80
    • C
      Fix some typos in comments and HISTORY.md (#9798) · cd59b139
      Chen Lixiang 提交于
      Summary:
      compation --> compaction
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9798
      
      Reviewed By: ajkr
      
      Differential Revision: D35341611
      
      Pulled By: jay-zhuang
      
      fbshipit-source-id: 5ea07527c311de75cade219456b6ee52b23020f6
      cd59b139
  9. 03 4月, 2022 1 次提交
  10. 02 4月, 2022 2 次提交
    • S
      Reduce build/test parallelism in build_tools/rocksdb-lego-determinator (#9788) · 190d5c13
      sdong 提交于
      Summary:
      build_tools/rocksdb-lego-determinator is to generate commands for continuous tests. Recently it changed to by default run tests in parallel with parallelism to be number of CPU processors. This sometimes causes out of space when running so many tests in parallel. Reduce the parallelism by half to temporarily work it around.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9788
      
      Test Plan: Run build_tools/rocksdb-lego-determinator and watch generated commands.
      
      Reviewed By: pdillinger
      
      Differential Revision: D35327704
      
      fbshipit-source-id: 95a8c51a111bb6ab62c456c74ab9c905b457ea8f
      190d5c13
    • B
      Improve comments for some files (#9793) · bcabee73
      Bo Wang 提交于
      Summary:
      Update the comments, e.g. fixing typo, formatting, etc.
      
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/9793
      
      Reviewed By: jay-zhuang
      
      Differential Revision: D35323989
      
      Pulled By: gitbw95
      
      fbshipit-source-id: 4a72fc02b67abaae8be0d1439b68f9967a68052d
      bcabee73