@nxtedition/rocksdb 8.2.0 → 8.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +3 -3
- package/deps/rocksdb/rocksdb/CMakeLists.txt +16 -52
- package/deps/rocksdb/rocksdb/Makefile +10 -5
- package/deps/rocksdb/rocksdb/TARGETS +8 -345
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +92 -0
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +32 -32
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +12 -9
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +6 -43
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +3 -13
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +8 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +21 -47
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -8
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +44 -7
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +13 -14
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +2 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +17 -8
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +40 -21
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +41 -42
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +5 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.h +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +5 -3
- package/deps/rocksdb/rocksdb/db/builder.cc +7 -6
- package/deps/rocksdb/rocksdb/db/builder.h +2 -2
- package/deps/rocksdb/rocksdb/db/c.cc +76 -5
- package/deps/rocksdb/rocksdb/db/c_test.c +141 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +32 -0
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +5 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +8 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +12 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +21 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +3 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +77 -50
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +4 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +55 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +142 -56
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +21 -20
- package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +260 -220
- package/deps/rocksdb/rocksdb/db/db_clip_test.cc +142 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +333 -27
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +7 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +189 -27
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +23 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +134 -90
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +5 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +124 -16
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +10 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +7 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +15 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +11 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +7 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +54 -3
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +42 -0
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +116 -1
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +9 -8
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +142 -63
- package/deps/rocksdb/rocksdb/db/db_test.cc +28 -7
- package/deps/rocksdb/rocksdb/db/db_test2.cc +71 -131
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +18 -0
- package/deps/rocksdb/rocksdb/db/db_test_util.h +6 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +10 -10
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +25 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +88 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +67 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +5 -0
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +86 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +15 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/flush_job.cc +21 -14
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +14 -7
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +31 -8
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +21 -19
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +42 -12
- package/deps/rocksdb/rocksdb/db/internal_stats.h +1 -0
- package/deps/rocksdb/rocksdb/db/kv_checksum.h +92 -6
- package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/log_format.h +8 -4
- package/deps/rocksdb/rocksdb/db/log_reader.cc +129 -51
- package/deps/rocksdb/rocksdb/db/log_reader.h +16 -0
- package/deps/rocksdb/rocksdb/db/log_test.cc +125 -4
- package/deps/rocksdb/rocksdb/db/log_writer.cc +32 -2
- package/deps/rocksdb/rocksdb/db/log_writer.h +16 -0
- package/deps/rocksdb/rocksdb/db/memtable.cc +17 -46
- package/deps/rocksdb/rocksdb/db/memtable.h +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +8 -4
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +1 -1
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/repair.cc +38 -11
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/table_cache.cc +68 -51
- package/deps/rocksdb/rocksdb/db/table_cache.h +20 -10
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -1
- package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/version_builder.cc +9 -5
- package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +140 -120
- package/deps/rocksdb/rocksdb/db/version_edit.cc +14 -0
- package/deps/rocksdb/rocksdb/db/version_edit.h +12 -4
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +21 -13
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +26 -16
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +9 -9
- package/deps/rocksdb/rocksdb/db/version_set.cc +292 -96
- package/deps/rocksdb/rocksdb/db/version_set.h +53 -28
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +1 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +62 -22
- package/deps/rocksdb/rocksdb/db/version_util.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch.cc +3 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +119 -27
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +123 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +4 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +7 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +34 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +43 -33
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +29 -17
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +5 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +6 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +85 -50
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +96 -54
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.cc +122 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +206 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +9 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +9 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +322 -92
- package/deps/rocksdb/rocksdb/env/env_posix.cc +12 -8
- package/deps/rocksdb/rocksdb/env/env_test.cc +31 -0
- package/deps/rocksdb/rocksdb/env/mock_env.cc +1 -1
- package/deps/rocksdb/rocksdb/env/unique_id_gen.h +14 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +1 -1
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +5 -1
- package/deps/rocksdb/rocksdb/file/file_util.cc +3 -3
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +89 -0
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +22 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -2
- package/deps/rocksdb/rocksdb/file/readahead_raf.cc +1 -1
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +154 -74
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +27 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +107 -28
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +19 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +7 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +137 -152
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +61 -26
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +30 -26
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +33 -16
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +87 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +9 -2
- package/deps/rocksdb/rocksdb/logging/env_logger.h +2 -0
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +78 -42
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +14 -9
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +1 -0
- package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -0
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +4 -9
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +19 -11
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +211 -555
- package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +36 -2
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +17 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +10 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +19 -18
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +10 -2
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -0
- package/deps/rocksdb/rocksdb/options/cf_options.cc +35 -2
- package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +1 -1
- package/deps/rocksdb/rocksdb/options/options.cc +12 -53
- package/deps/rocksdb/rocksdb/options/options_helper.cc +4 -0
- package/deps/rocksdb/rocksdb/options/options_parser.cc +11 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +32 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +89 -5
- package/deps/rocksdb/rocksdb/port/lang.h +27 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +67 -24
- package/deps/rocksdb/rocksdb/src.mk +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +195 -35
- package/deps/rocksdb/rocksdb/table/block_based/block.h +197 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +71 -51
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +7 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +4 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +43 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +36 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +266 -166
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +44 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +63 -56
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +10 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +14 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +918 -2
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +10 -9
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -8
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +18 -23
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +8 -8
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +16 -32
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +7 -8
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +46 -53
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +12 -12
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -9
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +26 -23
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +3 -2
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +7 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +3 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +5 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +4 -2
- package/deps/rocksdb/rocksdb/table/format.cc +4 -4
- package/deps/rocksdb/rocksdb/table/format.h +1 -1
- package/deps/rocksdb/rocksdb/table/get_context.cc +1 -1
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +33 -22
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +4 -0
- package/deps/rocksdb/rocksdb/table/mock_table.cc +4 -2
- package/deps/rocksdb/rocksdb/table/persistent_cache_helper.h +1 -1
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +1 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +18 -10
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +4 -3
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +10 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +4 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +11 -0
- package/deps/rocksdb/rocksdb/table/table_builder.h +14 -5
- package/deps/rocksdb/rocksdb/table/table_properties.cc +2 -0
- package/deps/rocksdb/rocksdb/table/table_reader.h +6 -3
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/table/table_test.cc +291 -34
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +3 -1
- package/deps/rocksdb/rocksdb/test_util/testharness.h +5 -0
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +33 -17
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +3 -1
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +2 -2
- package/deps/rocksdb/rocksdb/util/compression.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c.cc +24 -83
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +7 -9
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +4 -1
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +9 -10
- package/deps/rocksdb/rocksdb/util/math.h +12 -7
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +16 -18
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +46 -2
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +6 -6
- package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +12 -7
- package/deps/rocksdb/rocksdb/util/stop_watch.h +31 -13
- package/deps/rocksdb/rocksdb/util/thread_list_test.cc +2 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.h +77 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +11 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +34 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +15 -0
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +5 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +29 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +6 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +10 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +6 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +5 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +5 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- /package/deps/rocksdb/rocksdb/memory/{memory_allocator.h → memory_allocator_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/monitoring/{statistics.h → statistics_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/table/block_based/{flush_block_policy.h → flush_block_policy_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/util/{rate_limiter.h → rate_limiter_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/utilities/agg_merge/{agg_merge.h → agg_merge_impl.h} +0 -0
|
@@ -213,13 +213,14 @@ class PosixEnv : public CompositeEnv {
|
|
|
213
213
|
const char* Name() const override { return kClassName(); }
|
|
214
214
|
const char* NickName() const override { return kDefaultName(); }
|
|
215
215
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
struct JoinThreadsOnExit {
|
|
217
|
+
explicit JoinThreadsOnExit(PosixEnv& _deflt) : deflt(_deflt) {}
|
|
218
|
+
~JoinThreadsOnExit() {
|
|
219
|
+
for (const auto tid : deflt.threads_to_join_) {
|
|
219
220
|
pthread_join(tid, nullptr);
|
|
220
221
|
}
|
|
221
222
|
for (int pool_id = 0; pool_id < Env::Priority::TOTAL; ++pool_id) {
|
|
222
|
-
thread_pools_[pool_id].JoinAllThreads();
|
|
223
|
+
deflt.thread_pools_[pool_id].JoinAllThreads();
|
|
223
224
|
}
|
|
224
225
|
// Do not delete the thread_status_updater_ in order to avoid the
|
|
225
226
|
// free after use when Env::Default() is destructed while some other
|
|
@@ -227,7 +228,8 @@ class PosixEnv : public CompositeEnv {
|
|
|
227
228
|
// PosixEnv instances use the same thread_status_updater_, so never
|
|
228
229
|
// explicitly delete it.
|
|
229
230
|
}
|
|
230
|
-
|
|
231
|
+
PosixEnv& deflt;
|
|
232
|
+
};
|
|
231
233
|
|
|
232
234
|
void SetFD_CLOEXEC(int fd, const EnvOptions* options) {
|
|
233
235
|
if ((options == nullptr || options->set_fd_cloexec) && fd > 0) {
|
|
@@ -501,9 +503,11 @@ Env* Env::Default() {
|
|
|
501
503
|
ThreadLocalPtr::InitSingletons();
|
|
502
504
|
CompressionContextCache::InitSingleton();
|
|
503
505
|
INIT_SYNC_POINT_SINGLETONS();
|
|
504
|
-
//
|
|
505
|
-
|
|
506
|
-
|
|
506
|
+
// Avoid problems with accessing most members of Env::Default() during
|
|
507
|
+
// static destruction.
|
|
508
|
+
STATIC_AVOID_DESTRUCTION(PosixEnv, default_env);
|
|
509
|
+
// This destructor must be called on exit
|
|
510
|
+
static PosixEnv::JoinThreadsOnExit thread_joiner(default_env);
|
|
507
511
|
return &default_env;
|
|
508
512
|
}
|
|
509
513
|
|
|
@@ -3134,6 +3134,20 @@ TEST_F(EnvTest, SemiStructuredUniqueIdGenTest) {
|
|
|
3134
3134
|
t.Run();
|
|
3135
3135
|
}
|
|
3136
3136
|
|
|
3137
|
+
TEST_F(EnvTest, SemiStructuredUniqueIdGenTestSmaller) {
|
|
3138
|
+
// For small generated types, will cycle through all the possible values.
|
|
3139
|
+
SemiStructuredUniqueIdGen gen;
|
|
3140
|
+
std::vector<bool> hit(256);
|
|
3141
|
+
for (int i = 0; i < 256; ++i) {
|
|
3142
|
+
auto val = gen.GenerateNext<uint8_t>();
|
|
3143
|
+
ASSERT_FALSE(hit[val]);
|
|
3144
|
+
hit[val] = true;
|
|
3145
|
+
}
|
|
3146
|
+
for (int i = 0; i < 256; ++i) {
|
|
3147
|
+
ASSERT_TRUE(hit[i]);
|
|
3148
|
+
}
|
|
3149
|
+
}
|
|
3150
|
+
|
|
3137
3151
|
TEST_F(EnvTest, FailureToCreateLockFile) {
|
|
3138
3152
|
auto env = Env::Default();
|
|
3139
3153
|
auto fs = env->GetFileSystem();
|
|
@@ -3537,6 +3551,23 @@ TEST_F(TestAsyncRead, ReadAsync) {
|
|
|
3537
3551
|
}
|
|
3538
3552
|
}
|
|
3539
3553
|
}
|
|
3554
|
+
|
|
3555
|
+
struct StaticDestructionTester {
|
|
3556
|
+
bool activated = false;
|
|
3557
|
+
~StaticDestructionTester() {
|
|
3558
|
+
if (activated && !kMustFreeHeapAllocations) {
|
|
3559
|
+
// Make sure we can still call some things on default Env.
|
|
3560
|
+
std::string hostname;
|
|
3561
|
+
Env::Default()->GetHostNameString(&hostname);
|
|
3562
|
+
}
|
|
3563
|
+
}
|
|
3564
|
+
} static_destruction_tester;
|
|
3565
|
+
|
|
3566
|
+
TEST(EnvTestMisc, StaticDestruction) {
|
|
3567
|
+
// Check for any crashes during static destruction.
|
|
3568
|
+
static_destruction_tester.activated = true;
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3540
3571
|
} // namespace ROCKSDB_NAMESPACE
|
|
3541
3572
|
|
|
3542
3573
|
int main(int argc, char** argv) {
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
#include <atomic>
|
|
16
16
|
#include <cstdint>
|
|
17
|
+
#include <type_traits>
|
|
17
18
|
|
|
18
19
|
#include "rocksdb/rocksdb_namespace.h"
|
|
19
20
|
|
|
@@ -61,6 +62,19 @@ class SemiStructuredUniqueIdGen {
|
|
|
61
62
|
// to the next (thread safe).
|
|
62
63
|
void GenerateNext(uint64_t* upper, uint64_t* lower);
|
|
63
64
|
|
|
65
|
+
// For generating smaller values. Will cycle through all the possibilities
|
|
66
|
+
// before repeating.
|
|
67
|
+
template <typename T>
|
|
68
|
+
T GenerateNext() {
|
|
69
|
+
static_assert(sizeof(T) <= sizeof(uint64_t));
|
|
70
|
+
static_assert(std::is_integral_v<T>);
|
|
71
|
+
uint64_t ignore, val;
|
|
72
|
+
GenerateNext(&ignore, &val);
|
|
73
|
+
return static_cast<T>(val);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
uint64_t GetBaseUpper() const { return base_upper_; }
|
|
77
|
+
|
|
64
78
|
private:
|
|
65
79
|
uint64_t base_upper_;
|
|
66
80
|
uint64_t base_lower_;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
#include <string>
|
|
16
16
|
|
|
17
17
|
#include "file/readahead_file_info.h"
|
|
18
|
-
#include "monitoring/
|
|
18
|
+
#include "monitoring/statistics_impl.h"
|
|
19
19
|
#include "port/port.h"
|
|
20
20
|
#include "rocksdb/env.h"
|
|
21
21
|
#include "rocksdb/file_system.h"
|
|
@@ -180,6 +180,8 @@ class FilePrefetchBuffer {
|
|
|
180
180
|
RecordInHistogram(stats_, PREFETCHED_BYTES_DISCARDED, bytes_discarded);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
+
bool Enabled() const { return enable_; }
|
|
184
|
+
|
|
183
185
|
// Load data into the buffer from a file.
|
|
184
186
|
// reader : the file reader.
|
|
185
187
|
// offset : the file offset to start reading from.
|
|
@@ -232,6 +234,8 @@ class FilePrefetchBuffer {
|
|
|
232
234
|
// tracked if track_min_offset = true.
|
|
233
235
|
size_t min_offset_read() const { return min_offset_read_; }
|
|
234
236
|
|
|
237
|
+
size_t GetPrefetchOffset() const { return bufs_[curr_].offset_; }
|
|
238
|
+
|
|
235
239
|
// Called in case of implicit auto prefetching.
|
|
236
240
|
void UpdateReadPattern(const uint64_t& offset, const size_t& len,
|
|
237
241
|
bool decrease_readaheadsize) {
|
|
@@ -185,9 +185,9 @@ IOStatus GenerateOneFileChecksum(
|
|
|
185
185
|
if (!io_s.ok()) {
|
|
186
186
|
return io_s;
|
|
187
187
|
}
|
|
188
|
-
reader.reset(new RandomAccessFileReader(
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
reader.reset(new RandomAccessFileReader(
|
|
189
|
+
std::move(r_file), file_path, nullptr /*Env*/, io_tracer, nullptr,
|
|
190
|
+
Histograms::HISTOGRAM_ENUM_MAX, nullptr, rate_limiter));
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
// Found that 256 KB readahead size provides the best performance, based on
|
|
@@ -220,6 +220,7 @@ TEST_P(PrefetchTest, Basic) {
|
|
|
220
220
|
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
|
|
221
221
|
num_keys++;
|
|
222
222
|
}
|
|
223
|
+
(void)num_keys;
|
|
223
224
|
}
|
|
224
225
|
|
|
225
226
|
// Make sure prefetch is called only if file system support prefetch.
|
|
@@ -235,6 +236,93 @@ TEST_P(PrefetchTest, Basic) {
|
|
|
235
236
|
Close();
|
|
236
237
|
}
|
|
237
238
|
|
|
239
|
+
TEST_P(PrefetchTest, BlockBasedTableTailPrefetch) {
|
|
240
|
+
const bool support_prefetch =
|
|
241
|
+
std::get<0>(GetParam()) &&
|
|
242
|
+
test::IsPrefetchSupported(env_->GetFileSystem(), dbname_);
|
|
243
|
+
// Second param is if directIO is enabled or not
|
|
244
|
+
const bool use_direct_io = std::get<1>(GetParam());
|
|
245
|
+
const bool use_file_prefetch_buffer = !support_prefetch || use_direct_io;
|
|
246
|
+
|
|
247
|
+
std::shared_ptr<MockFS> fs =
|
|
248
|
+
std::make_shared<MockFS>(env_->GetFileSystem(), support_prefetch);
|
|
249
|
+
std::unique_ptr<Env> env(new CompositeEnvWrapper(env_, fs));
|
|
250
|
+
|
|
251
|
+
Options options;
|
|
252
|
+
SetGenericOptions(env.get(), use_direct_io, options);
|
|
253
|
+
options.statistics = CreateDBStatistics();
|
|
254
|
+
|
|
255
|
+
BlockBasedTableOptions bbto;
|
|
256
|
+
bbto.index_type = BlockBasedTableOptions::kTwoLevelIndexSearch;
|
|
257
|
+
bbto.partition_filters = true;
|
|
258
|
+
bbto.filter_policy.reset(NewBloomFilterPolicy(10, false));
|
|
259
|
+
options.table_factory.reset(NewBlockBasedTableFactory(bbto));
|
|
260
|
+
|
|
261
|
+
Status s = TryReopen(options);
|
|
262
|
+
if (use_direct_io && (s.IsNotSupported() || s.IsInvalidArgument())) {
|
|
263
|
+
// If direct IO is not supported, skip the test
|
|
264
|
+
ROCKSDB_GTEST_BYPASS("Direct IO is not supported");
|
|
265
|
+
return;
|
|
266
|
+
} else {
|
|
267
|
+
ASSERT_OK(s);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
ASSERT_OK(Put("k1", "v1"));
|
|
271
|
+
|
|
272
|
+
HistogramData pre_flush_file_read;
|
|
273
|
+
options.statistics->histogramData(FILE_READ_FLUSH_MICROS,
|
|
274
|
+
&pre_flush_file_read);
|
|
275
|
+
ASSERT_OK(Flush());
|
|
276
|
+
HistogramData post_flush_file_read;
|
|
277
|
+
options.statistics->histogramData(FILE_READ_FLUSH_MICROS,
|
|
278
|
+
&post_flush_file_read);
|
|
279
|
+
if (use_file_prefetch_buffer) {
|
|
280
|
+
// `PartitionedFilterBlockReader/PartitionIndexReader::CacheDependencies()`
|
|
281
|
+
// should read from the prefetched tail in file prefetch buffer instead of
|
|
282
|
+
// initiating extra SST reads. Therefore `BlockBasedTable::PrefetchTail()`
|
|
283
|
+
// should be the only SST read in table verification during flush.
|
|
284
|
+
ASSERT_EQ(post_flush_file_read.count - pre_flush_file_read.count, 1);
|
|
285
|
+
} else {
|
|
286
|
+
// Without the prefetched tail in file prefetch buffer,
|
|
287
|
+
// `PartitionedFilterBlockReader/PartitionIndexReader::CacheDependencies()`
|
|
288
|
+
// will initiate extra SST reads
|
|
289
|
+
ASSERT_GT(post_flush_file_read.count - pre_flush_file_read.count, 1);
|
|
290
|
+
}
|
|
291
|
+
ASSERT_OK(Put("k1", "v2"));
|
|
292
|
+
ASSERT_OK(Put("k2", "v2"));
|
|
293
|
+
ASSERT_OK(Flush());
|
|
294
|
+
|
|
295
|
+
CompactRangeOptions cro;
|
|
296
|
+
HistogramData pre_compaction_file_read;
|
|
297
|
+
options.statistics->histogramData(FILE_READ_COMPACTION_MICROS,
|
|
298
|
+
&pre_compaction_file_read);
|
|
299
|
+
ASSERT_OK(db_->CompactRange(cro, nullptr, nullptr));
|
|
300
|
+
HistogramData post_compaction_file_read;
|
|
301
|
+
options.statistics->histogramData(FILE_READ_COMPACTION_MICROS,
|
|
302
|
+
&post_compaction_file_read);
|
|
303
|
+
if (use_file_prefetch_buffer) {
|
|
304
|
+
// `PartitionedFilterBlockReader/PartitionIndexReader::CacheDependencies()`
|
|
305
|
+
// should read from the prefetched tail in file prefetch buffer instead of
|
|
306
|
+
// initiating extra SST reads.
|
|
307
|
+
//
|
|
308
|
+
// Therefore the 3 reads are
|
|
309
|
+
// (1) `ProcessKeyValueCompaction()` of input file 1
|
|
310
|
+
// (2) `ProcessKeyValueCompaction()` of input file 2
|
|
311
|
+
// (3) `BlockBasedTable::PrefetchTail()` of output file during table
|
|
312
|
+
// verification in compaction
|
|
313
|
+
ASSERT_EQ(post_compaction_file_read.count - pre_compaction_file_read.count,
|
|
314
|
+
3);
|
|
315
|
+
} else {
|
|
316
|
+
// Without the prefetched tail in file prefetch buffer,
|
|
317
|
+
// `PartitionedFilterBlockReader/PartitionIndexReader::CacheDependencies()`
|
|
318
|
+
// as well as reading other parts of the tail (e.g, footer, table
|
|
319
|
+
// properties..) will initiate extra SST reads
|
|
320
|
+
ASSERT_GT(post_compaction_file_read.count - pre_compaction_file_read.count,
|
|
321
|
+
3);
|
|
322
|
+
}
|
|
323
|
+
Close();
|
|
324
|
+
}
|
|
325
|
+
|
|
238
326
|
// This test verifies BlockBasedTableOptions.max_auto_readahead_size is
|
|
239
327
|
// configured dynamically.
|
|
240
328
|
TEST_P(PrefetchTest, ConfigureAutoMaxReadaheadSize) {
|
|
@@ -1803,6 +1891,7 @@ TEST_P(PrefetchTest, MultipleSeekWithPosixFS) {
|
|
|
1803
1891
|
}
|
|
1804
1892
|
MoveFilesToLevel(2);
|
|
1805
1893
|
}
|
|
1894
|
+
(void)total_keys;
|
|
1806
1895
|
|
|
1807
1896
|
int num_keys_first_batch = 0;
|
|
1808
1897
|
int num_keys_second_batch = 0;
|
|
@@ -19,10 +19,15 @@
|
|
|
19
19
|
#include "table/format.h"
|
|
20
20
|
#include "test_util/sync_point.h"
|
|
21
21
|
#include "util/random.h"
|
|
22
|
-
#include "util/
|
|
22
|
+
#include "util/rate_limiter_impl.h"
|
|
23
23
|
|
|
24
24
|
namespace ROCKSDB_NAMESPACE {
|
|
25
|
-
|
|
25
|
+
const std::array<Histograms, std::size_t(Env::IOActivity::kUnknown)>
|
|
26
|
+
kReadHistograms{{
|
|
27
|
+
FILE_READ_FLUSH_MICROS,
|
|
28
|
+
FILE_READ_COMPACTION_MICROS,
|
|
29
|
+
FILE_READ_DB_OPEN_MICROS,
|
|
30
|
+
}};
|
|
26
31
|
inline void RecordIOStats(Statistics* stats, Temperature file_temperature,
|
|
27
32
|
bool is_last_level, size_t size) {
|
|
28
33
|
IOSTATS_ADD(bytes_read, size);
|
|
@@ -94,6 +99,9 @@ IOStatus RandomAccessFileReader::Read(
|
|
|
94
99
|
uint64_t elapsed = 0;
|
|
95
100
|
{
|
|
96
101
|
StopWatch sw(clock_, stats_, hist_type_,
|
|
102
|
+
(opts.io_activity != Env::IOActivity::kUnknown)
|
|
103
|
+
? kReadHistograms[(std::size_t)(opts.io_activity)]
|
|
104
|
+
: Histograms::HISTOGRAM_ENUM_MAX,
|
|
97
105
|
(stats_ != nullptr) ? &elapsed : nullptr, true /*overwrite*/,
|
|
98
106
|
true /*delay_enabled*/);
|
|
99
107
|
auto prev_perf_level = GetPerfLevel();
|
|
@@ -288,6 +296,9 @@ IOStatus RandomAccessFileReader::MultiRead(
|
|
|
288
296
|
uint64_t elapsed = 0;
|
|
289
297
|
{
|
|
290
298
|
StopWatch sw(clock_, stats_, hist_type_,
|
|
299
|
+
(opts.io_activity != Env::IOActivity::kUnknown)
|
|
300
|
+
? kReadHistograms[(std::size_t)(opts.io_activity)]
|
|
301
|
+
: Histograms::HISTOGRAM_ENUM_MAX,
|
|
291
302
|
(stats_ != nullptr) ? &elapsed : nullptr, true /*overwrite*/,
|
|
292
303
|
true /*delay_enabled*/);
|
|
293
304
|
auto prev_perf_level = GetPerfLevel();
|
|
@@ -425,7 +436,7 @@ IOStatus RandomAccessFileReader::MultiRead(
|
|
|
425
436
|
}
|
|
426
437
|
|
|
427
438
|
IOStatus RandomAccessFileReader::PrepareIOOptions(const ReadOptions& ro,
|
|
428
|
-
IOOptions& opts) {
|
|
439
|
+
IOOptions& opts) const {
|
|
429
440
|
if (clock_ != nullptr) {
|
|
430
441
|
return PrepareIOFromReadOptions(ro, clock_, opts);
|
|
431
442
|
} else {
|
|
@@ -476,13 +487,17 @@ IOStatus RandomAccessFileReader::ReadAsync(
|
|
|
476
487
|
|
|
477
488
|
assert(read_async_info->buf_.CurrentSize() == 0);
|
|
478
489
|
|
|
479
|
-
StopWatch sw(clock_, nullptr /*stats*/,
|
|
480
|
-
|
|
490
|
+
StopWatch sw(clock_, nullptr /*stats*/,
|
|
491
|
+
Histograms::HISTOGRAM_ENUM_MAX /*hist_type*/,
|
|
492
|
+
Histograms::HISTOGRAM_ENUM_MAX, &elapsed, true /*overwrite*/,
|
|
493
|
+
true /*delay_enabled*/);
|
|
481
494
|
s = file_->ReadAsync(aligned_req, opts, read_async_callback,
|
|
482
495
|
read_async_info, io_handle, del_fn, nullptr /*dbg*/);
|
|
483
496
|
} else {
|
|
484
|
-
StopWatch sw(clock_, nullptr /*stats*/,
|
|
485
|
-
|
|
497
|
+
StopWatch sw(clock_, nullptr /*stats*/,
|
|
498
|
+
Histograms::HISTOGRAM_ENUM_MAX /*hist_type*/,
|
|
499
|
+
Histograms::HISTOGRAM_ENUM_MAX, &elapsed, true /*overwrite*/,
|
|
500
|
+
true /*delay_enabled*/);
|
|
486
501
|
s = file_->ReadAsync(req, opts, read_async_callback, read_async_info,
|
|
487
502
|
io_handle, del_fn, nullptr /*dbg*/);
|
|
488
503
|
}
|
|
@@ -122,7 +122,8 @@ class RandomAccessFileReader {
|
|
|
122
122
|
std::unique_ptr<FSRandomAccessFile>&& raf, const std::string& _file_name,
|
|
123
123
|
SystemClock* clock = nullptr,
|
|
124
124
|
const std::shared_ptr<IOTracer>& io_tracer = nullptr,
|
|
125
|
-
Statistics* stats = nullptr,
|
|
125
|
+
Statistics* stats = nullptr,
|
|
126
|
+
uint32_t hist_type = Histograms::HISTOGRAM_ENUM_MAX,
|
|
126
127
|
HistogramImpl* file_read_hist = nullptr,
|
|
127
128
|
RateLimiter* rate_limiter = nullptr,
|
|
128
129
|
const std::vector<std::shared_ptr<EventListener>>& listeners = {},
|
|
@@ -197,7 +198,7 @@ class RandomAccessFileReader {
|
|
|
197
198
|
|
|
198
199
|
bool use_direct_io() const { return file_->use_direct_io(); }
|
|
199
200
|
|
|
200
|
-
IOStatus PrepareIOOptions(const ReadOptions& ro, IOOptions& opts);
|
|
201
|
+
IOStatus PrepareIOOptions(const ReadOptions& ro, IOOptions& opts) const;
|
|
201
202
|
|
|
202
203
|
IOStatus ReadAsync(FSReadRequest& req, const IOOptions& opts,
|
|
203
204
|
std::function<void(const FSReadRequest&, void*)> cb,
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
#include "test_util/sync_point.h"
|
|
22
22
|
#include "util/crc32c.h"
|
|
23
23
|
#include "util/random.h"
|
|
24
|
-
#include "util/
|
|
24
|
+
#include "util/rate_limiter_impl.h"
|
|
25
25
|
|
|
26
26
|
namespace ROCKSDB_NAMESPACE {
|
|
27
27
|
IOStatus WritableFileWriter::Create(const std::shared_ptr<FileSystem>& fs,
|
|
@@ -404,6 +404,9 @@ class Cache {
|
|
|
404
404
|
|
|
405
405
|
MemoryAllocator* memory_allocator() const { return memory_allocator_.get(); }
|
|
406
406
|
|
|
407
|
+
// See ShardedCacheOptions::hash_seed
|
|
408
|
+
virtual uint32_t GetHashSeed() const { return 0; }
|
|
409
|
+
|
|
407
410
|
// EXPERIMENTAL
|
|
408
411
|
// The following APIs are experimental and might change in the future.
|
|
409
412
|
|