@nxtedition/rocksdb 9.0.0 → 9.0.1
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 +0 -21
- package/deps/rocksdb/rocksdb/CMakeLists.txt +13 -9
- package/deps/rocksdb/rocksdb/Makefile +15 -6
- package/deps/rocksdb/rocksdb/README.md +29 -0
- package/deps/rocksdb/rocksdb/TARGETS +17 -2
- package/deps/rocksdb/rocksdb/cache/cache.cc +35 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +74 -15
- package/deps/rocksdb/rocksdb/cache/cache_helpers.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +4 -3
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +16 -4
- package/deps/rocksdb/rocksdb/cache/charged_cache.cc +4 -2
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +5 -3
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +2024 -14
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +349 -23
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +126 -51
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +9 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +182 -7
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +31 -14
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +0 -33
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +293 -17
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.h +21 -5
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +10 -0
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +8 -3
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +119 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +155 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +711 -0
- package/deps/rocksdb/rocksdb/cache/typed_cache.h +17 -11
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +25 -11
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +2 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/builder.cc +3 -3
- package/deps/rocksdb/rocksdb/db/c.cc +64 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +36 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +23 -15
- package/deps/rocksdb/rocksdb/db/column_family.h +9 -0
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +101 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +36 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +24 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +3 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +42 -18
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +7 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +4 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +8 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +3 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +61 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +146 -64
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +13 -39
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +29 -7
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +8 -3
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +59 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +27 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +186 -2
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +17 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +519 -240
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +104 -43
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +169 -66
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +12 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +50 -14
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +85 -53
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +99 -82
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +4 -14
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +24 -21
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_iter.cc +83 -55
- package/deps/rocksdb/rocksdb/db/db_iter.h +10 -2
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +29 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +276 -21
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +35 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +187 -1
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +258 -0
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +258 -0
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +52 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +74 -1
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +134 -30
- package/deps/rocksdb/rocksdb/db/db_test2.cc +3 -0
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +11 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +5 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +12 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +337 -1
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/error_handler.cc +51 -34
- package/deps/rocksdb/rocksdb/db/error_handler.h +7 -6
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +58 -0
- package/deps/rocksdb/rocksdb/db/flush_job.cc +17 -19
- package/deps/rocksdb/rocksdb/db/flush_job.h +3 -3
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/memtable.cc +18 -70
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.h +11 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +330 -115
- package/deps/rocksdb/rocksdb/db/merge_helper.h +100 -12
- package/deps/rocksdb/rocksdb/db/merge_operator.cc +82 -0
- package/deps/rocksdb/rocksdb/db/merge_test.cc +267 -0
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +3 -0
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +4 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +4 -0
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +4 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +4 -3
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +454 -70
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +105 -69
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +83 -46
- package/deps/rocksdb/rocksdb/db/table_cache.cc +32 -19
- package/deps/rocksdb/rocksdb/db/table_cache.h +12 -6
- package/deps/rocksdb/rocksdb/db/version_edit.h +10 -4
- package/deps/rocksdb/rocksdb/db/version_set.cc +75 -73
- package/deps/rocksdb/rocksdb/db/version_set.h +8 -8
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +2 -5
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +22 -11
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +525 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +6 -22
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +0 -20
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +0 -29
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.cc +46 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.h +40 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper_test.cc +39 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +44 -20
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +4 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +4 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +88 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +15 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +108 -58
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +36 -14
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +34 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +195 -130
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +12 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.cc +51 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.h +27 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +3 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +14 -11
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +44 -38
- package/deps/rocksdb/rocksdb/env/env.cc +5 -0
- package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +1 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +50 -29
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +32 -2
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +513 -30
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +38 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +14 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +42 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +65 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +11 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +26 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +37 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +8 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +10 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +55 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +79 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +16 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +35 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +14 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +6 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +53 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +0 -2
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +2 -2
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/microbench/README.md +60 -0
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +6 -0
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +18 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +4 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -0
- package/deps/rocksdb/rocksdb/options/db_options.cc +47 -2
- package/deps/rocksdb/rocksdb/options/db_options.h +3 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +12 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +3 -1
- package/deps/rocksdb/rocksdb/options/options_test.cc +6 -1
- package/deps/rocksdb/rocksdb/plugin/README.md +43 -0
- package/deps/rocksdb/rocksdb/port/README +10 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.h +7 -4
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -0
- package/deps/rocksdb/rocksdb/port/win/port_win.h +5 -2
- package/deps/rocksdb/rocksdb/src.mk +7 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +275 -61
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +96 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +179 -62
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +35 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +12 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +14 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +26 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +10 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +39 -18
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -6
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +44 -26
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +10 -8
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +4 -0
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +6 -2
- package/deps/rocksdb/rocksdb/table/get_context.cc +52 -89
- package/deps/rocksdb/rocksdb/table/get_context.h +12 -3
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +11 -0
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +29 -1
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +12 -0
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +33 -6
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +1 -0
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +2 -4
- package/deps/rocksdb/rocksdb/table/table_reader.h +6 -0
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +31 -0
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +26 -43
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +213 -28
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +36 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +33 -10
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +32 -11
- package/deps/rocksdb/rocksdb/util/cast_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +26 -1
- package/deps/rocksdb/rocksdb/util/compression.h +9 -3
- package/deps/rocksdb/rocksdb/util/crc32c.cc +7 -1
- package/deps/rocksdb/rocksdb/util/distributed_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/util/overload.h +23 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +53 -18
- package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +6 -1
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +90 -19
- package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -0
- package/deps/rocksdb/rocksdb/util/status.cc +1 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +39 -0
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -0
- package/deps/rocksdb/rocksdb/util/udt_util.cc +42 -0
- package/deps/rocksdb/rocksdb/util/udt_util.h +19 -0
- package/deps/rocksdb/rocksdb/util/udt_util_test.cc +14 -0
- package/deps/rocksdb/rocksdb/util/xxhash.h +0 -3
- package/deps/rocksdb/rocksdb/util/xxph3.h +0 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +19 -15
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +11 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +5 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +3 -0
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +9 -0
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +7 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +13 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +41 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +15 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +155 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +81 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +2 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +7 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +3 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +57 -27
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +127 -120
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +129 -59
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +105 -8
- package/deps/rocksdb/rocksdb.gyp +4 -2
- package/index.js +0 -8
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +0 -7
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +0 -33
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +0 -26
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +0 -10
|
@@ -27,34 +27,39 @@ void ThreadBody(void* v) {
|
|
|
27
27
|
if (shared->AllInitialized()) {
|
|
28
28
|
shared->GetCondVar()->SignalAll();
|
|
29
29
|
}
|
|
30
|
-
while (!shared->Started()) {
|
|
31
|
-
shared->GetCondVar()->Wait();
|
|
32
|
-
}
|
|
33
30
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
shared->GetCondVar()->SignalAll();
|
|
31
|
+
if (!FLAGS_verification_only) {
|
|
32
|
+
{
|
|
33
|
+
MutexLock l(shared->GetMutex());
|
|
34
|
+
while (!shared->Started()) {
|
|
35
|
+
shared->GetCondVar()->Wait();
|
|
36
|
+
}
|
|
41
37
|
}
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
thread->shared->GetStressTest()->OperateDb(thread);
|
|
39
|
+
{
|
|
40
|
+
MutexLock l(shared->GetMutex());
|
|
41
|
+
shared->IncOperated();
|
|
42
|
+
if (shared->AllOperated()) {
|
|
43
|
+
shared->GetCondVar()->SignalAll();
|
|
44
|
+
}
|
|
45
|
+
while (!shared->VerifyStarted()) {
|
|
46
|
+
shared->GetCondVar()->Wait();
|
|
47
|
+
}
|
|
44
48
|
}
|
|
45
|
-
}
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
if (!FLAGS_skip_verifydb) {
|
|
51
|
+
thread->shared->GetStressTest()->VerifyDb(thread);
|
|
52
|
+
}
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
{
|
|
55
|
+
MutexLock l(shared->GetMutex());
|
|
56
|
+
shared->IncDone();
|
|
57
|
+
if (shared->AllDone()) {
|
|
58
|
+
shared->GetCondVar()->SignalAll();
|
|
59
|
+
}
|
|
56
60
|
}
|
|
57
61
|
}
|
|
62
|
+
|
|
58
63
|
ThreadStatusUtil::UnregisterThread();
|
|
59
64
|
}
|
|
60
65
|
bool RunStressTestImpl(SharedState* shared) {
|
|
@@ -76,12 +81,30 @@ bool RunStressTestImpl(SharedState* shared) {
|
|
|
76
81
|
stress->InitDb(shared);
|
|
77
82
|
stress->FinishInitDb(shared);
|
|
78
83
|
|
|
79
|
-
if (FLAGS_sync_fault_injection) {
|
|
80
|
-
fault_fs_guard->SetFilesystemDirectWritable(false);
|
|
81
|
-
}
|
|
82
84
|
if (FLAGS_write_fault_one_in) {
|
|
85
|
+
if (!FLAGS_sync_fault_injection) {
|
|
86
|
+
// unsynced WAL loss is not supported without sync_fault_injection
|
|
87
|
+
fault_fs_guard->SetDirectWritableTypes({kWalFile});
|
|
88
|
+
}
|
|
89
|
+
IOStatus error_msg;
|
|
90
|
+
if (FLAGS_inject_error_severity <= 1 || FLAGS_inject_error_severity > 2) {
|
|
91
|
+
error_msg = IOStatus::IOError("Retryable injected write error");
|
|
92
|
+
error_msg.SetRetryable(true);
|
|
93
|
+
} else if (FLAGS_inject_error_severity == 2) {
|
|
94
|
+
error_msg = IOStatus::IOError("Fatal injected write error");
|
|
95
|
+
error_msg.SetDataLoss(true);
|
|
96
|
+
}
|
|
97
|
+
// TODO: inject write error for other file types including
|
|
98
|
+
// MANIFEST, CURRENT, and WAL files.
|
|
99
|
+
fault_fs_guard->SetRandomWriteError(
|
|
100
|
+
shared->GetSeed(), FLAGS_write_fault_one_in, error_msg,
|
|
101
|
+
/*inject_for_all_file_types=*/false, {FileType::kTableFile});
|
|
102
|
+
fault_fs_guard->SetFilesystemDirectWritable(false);
|
|
83
103
|
fault_fs_guard->EnableWriteErrorInjection();
|
|
84
104
|
}
|
|
105
|
+
if (FLAGS_sync_fault_injection) {
|
|
106
|
+
fault_fs_guard->SetFilesystemDirectWritable(false);
|
|
107
|
+
}
|
|
85
108
|
|
|
86
109
|
uint32_t n = FLAGS_threads;
|
|
87
110
|
uint64_t now = clock->NowMicros();
|
|
@@ -98,6 +121,11 @@ bool RunStressTestImpl(SharedState* shared) {
|
|
|
98
121
|
shared->IncBgThreads();
|
|
99
122
|
}
|
|
100
123
|
|
|
124
|
+
if (FLAGS_compressed_secondary_cache_size > 0 ||
|
|
125
|
+
FLAGS_compressed_secondary_cache_ratio > 0.0) {
|
|
126
|
+
shared->IncBgThreads();
|
|
127
|
+
}
|
|
128
|
+
|
|
101
129
|
std::vector<ThreadState*> threads(n);
|
|
102
130
|
for (uint32_t i = 0; i < n; i++) {
|
|
103
131
|
threads[i] = new ThreadState(i, shared);
|
|
@@ -115,6 +143,13 @@ bool RunStressTestImpl(SharedState* shared) {
|
|
|
115
143
|
&continuous_verification_thread);
|
|
116
144
|
}
|
|
117
145
|
|
|
146
|
+
ThreadState compressed_cache_set_capacity_thread(0, shared);
|
|
147
|
+
if (FLAGS_compressed_secondary_cache_size > 0 ||
|
|
148
|
+
FLAGS_compressed_secondary_cache_ratio > 0.0) {
|
|
149
|
+
db_stress_env->StartThread(CompressedCacheSetCapacityThread,
|
|
150
|
+
&compressed_cache_set_capacity_thread);
|
|
151
|
+
}
|
|
152
|
+
|
|
118
153
|
// Each thread goes through the following states:
|
|
119
154
|
// initializing -> wait for others to init -> read/populate/depopulate
|
|
120
155
|
// wait for others to operate -> verify -> done
|
|
@@ -141,45 +176,55 @@ bool RunStressTestImpl(SharedState* shared) {
|
|
|
141
176
|
}
|
|
142
177
|
}
|
|
143
178
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
179
|
+
if (!FLAGS_verification_only) {
|
|
180
|
+
// This is after the verification step to avoid making all those `Get()`s
|
|
181
|
+
// and `MultiGet()`s contend on the DB-wide trace mutex.
|
|
182
|
+
if (!FLAGS_expected_values_dir.empty()) {
|
|
183
|
+
stress->TrackExpectedState(shared);
|
|
184
|
+
}
|
|
185
|
+
now = clock->NowMicros();
|
|
186
|
+
fprintf(stdout, "%s Starting database operations\n",
|
|
187
|
+
clock->TimeToString(now / 1000000).c_str());
|
|
153
188
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
189
|
+
shared->SetStart();
|
|
190
|
+
shared->GetCondVar()->SignalAll();
|
|
191
|
+
while (!shared->AllOperated()) {
|
|
192
|
+
shared->GetCondVar()->Wait();
|
|
193
|
+
}
|
|
159
194
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
195
|
+
now = clock->NowMicros();
|
|
196
|
+
if (FLAGS_test_batches_snapshots) {
|
|
197
|
+
fprintf(stdout, "%s Limited verification already done during gets\n",
|
|
198
|
+
clock->TimeToString((uint64_t)now / 1000000).c_str());
|
|
199
|
+
} else if (FLAGS_skip_verifydb) {
|
|
200
|
+
fprintf(stdout, "%s Verification skipped\n",
|
|
201
|
+
clock->TimeToString((uint64_t)now / 1000000).c_str());
|
|
202
|
+
} else {
|
|
203
|
+
fprintf(stdout, "%s Starting verification\n",
|
|
204
|
+
clock->TimeToString((uint64_t)now / 1000000).c_str());
|
|
205
|
+
}
|
|
171
206
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
207
|
+
shared->SetStartVerify();
|
|
208
|
+
shared->GetCondVar()->SignalAll();
|
|
209
|
+
while (!shared->AllDone()) {
|
|
210
|
+
shared->GetCondVar()->Wait();
|
|
211
|
+
}
|
|
176
212
|
}
|
|
177
213
|
}
|
|
178
214
|
|
|
179
|
-
|
|
180
|
-
|
|
215
|
+
// If we are running verification_only
|
|
216
|
+
// stats will be empty and trying to report them will
|
|
217
|
+
// emit no ops or writes error. To avoid this, merging and reporting stats
|
|
218
|
+
// are not executed when running with verification_only
|
|
219
|
+
// TODO: We need to create verification stats (e.g. how many keys
|
|
220
|
+
// are verified by which method) and report them here instead of operation
|
|
221
|
+
// stats.
|
|
222
|
+
if (!FLAGS_verification_only) {
|
|
223
|
+
for (unsigned int i = 1; i < n; i++) {
|
|
224
|
+
threads[0]->stats.Merge(threads[i]->stats);
|
|
225
|
+
}
|
|
226
|
+
threads[0]->stats.Report("Stress Test");
|
|
181
227
|
}
|
|
182
|
-
threads[0]->stats.Report("Stress Test");
|
|
183
228
|
|
|
184
229
|
for (unsigned int i = 0; i < n; i++) {
|
|
185
230
|
delete threads[i];
|
|
@@ -191,10 +236,15 @@ bool RunStressTestImpl(SharedState* shared) {
|
|
|
191
236
|
fprintf(stdout, "%s Verification successful\n",
|
|
192
237
|
clock->TimeToString(now / 1000000).c_str());
|
|
193
238
|
}
|
|
194
|
-
|
|
239
|
+
|
|
240
|
+
if (!FLAGS_verification_only) {
|
|
241
|
+
stress->PrintStatistics();
|
|
242
|
+
}
|
|
195
243
|
|
|
196
244
|
if (FLAGS_compaction_thread_pool_adjust_interval > 0 ||
|
|
197
|
-
FLAGS_continuous_verification_interval > 0
|
|
245
|
+
FLAGS_continuous_verification_interval > 0 ||
|
|
246
|
+
FLAGS_compressed_secondary_cache_size > 0 ||
|
|
247
|
+
FLAGS_compressed_secondary_cache_ratio > 0.0) {
|
|
198
248
|
MutexLock l(shared->GetMutex());
|
|
199
249
|
shared->SetShouldStopBgThread();
|
|
200
250
|
while (!shared->BgThreadsFinished()) {
|
|
@@ -136,6 +136,9 @@ DEFINE_uint64(db_write_buffer_size,
|
|
|
136
136
|
ROCKSDB_NAMESPACE::Options().db_write_buffer_size,
|
|
137
137
|
"Number of bytes to buffer in all memtables before compacting");
|
|
138
138
|
|
|
139
|
+
DEFINE_bool(use_write_buffer_manager, false,
|
|
140
|
+
"Charge WriteBufferManager memory to the block cache");
|
|
141
|
+
|
|
139
142
|
DEFINE_int32(
|
|
140
143
|
write_buffer_size,
|
|
141
144
|
static_cast<int32_t>(ROCKSDB_NAMESPACE::Options().write_buffer_size),
|
|
@@ -198,15 +201,23 @@ DEFINE_int32(open_files, ROCKSDB_NAMESPACE::Options().max_open_files,
|
|
|
198
201
|
"Maximum number of files to keep open at the same time "
|
|
199
202
|
"(use default if == 0)");
|
|
200
203
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
DEFINE_uint64(compressed_secondary_cache_size, 0,
|
|
205
|
+
"Number of bytes to use as a cache of compressed data."
|
|
206
|
+
" 0 means use default settings.");
|
|
204
207
|
|
|
205
|
-
DEFINE_int32(
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
DEFINE_int32(compressed_secondary_cache_numshardbits, -1,
|
|
209
|
+
"Number of shards for the compressed secondary cache is 2 ** "
|
|
210
|
+
"compressed_secondary_cache_numshardbits. "
|
|
211
|
+
"Negative value means default settings. This is applied only "
|
|
212
|
+
"if compressed_secondary_cache_size is greater than 0.");
|
|
213
|
+
|
|
214
|
+
DEFINE_double(compressed_secondary_cache_ratio, 0.0,
|
|
215
|
+
"Fraction of block cache memory budget to use for compressed "
|
|
216
|
+
"secondary cache");
|
|
217
|
+
|
|
218
|
+
DEFINE_int32(secondary_cache_update_interval, 30 * 1000 * 1000,
|
|
219
|
+
"Interval between modification of secondary cache parameters, in "
|
|
220
|
+
"microseconds");
|
|
210
221
|
|
|
211
222
|
DEFINE_int32(compaction_style, ROCKSDB_NAMESPACE::Options().compaction_style,
|
|
212
223
|
"");
|
|
@@ -526,10 +537,11 @@ DEFINE_double(bloom_bits, 10,
|
|
|
526
537
|
"Negative means use default settings.");
|
|
527
538
|
|
|
528
539
|
DEFINE_int32(
|
|
529
|
-
|
|
540
|
+
bloom_before_level, 999,
|
|
530
541
|
"Use Bloom filter on levels below specified and Ribbon beginning on level "
|
|
531
|
-
"specified. Flush is considered level -1.
|
|
532
|
-
"-> Ribbon except Bloom for flush.
|
|
542
|
+
"specified. Flush is considered level -1. Setting -1 -> always Ribbon. "
|
|
543
|
+
"0 -> Ribbon except Bloom for flush. INT_MAX (typically 2147483647) -> "
|
|
544
|
+
"always Bloom.");
|
|
533
545
|
|
|
534
546
|
DEFINE_bool(partition_filters, false,
|
|
535
547
|
"use partitioned filters "
|
|
@@ -1006,7 +1018,8 @@ DEFINE_string(file_checksum_impl, "none",
|
|
|
1006
1018
|
"\"none\" for null.");
|
|
1007
1019
|
|
|
1008
1020
|
DEFINE_int32(write_fault_one_in, 0,
|
|
1009
|
-
"On non-zero, enables fault injection on write"
|
|
1021
|
+
"On non-zero, enables fault injection on write. Currently only"
|
|
1022
|
+
"injects write error when writing to SST files.");
|
|
1010
1023
|
|
|
1011
1024
|
DEFINE_uint64(user_timestamp_size, 0,
|
|
1012
1025
|
"Number of bytes for a user-defined timestamp. Currently, only "
|
|
@@ -1021,14 +1034,17 @@ DEFINE_string(secondary_cache_uri, "",
|
|
|
1021
1034
|
DEFINE_int32(secondary_cache_fault_one_in, 0,
|
|
1022
1035
|
"On non-zero, enables fault injection in secondary cache inserts"
|
|
1023
1036
|
" and lookups");
|
|
1037
|
+
DEFINE_double(tiered_cache_percent_compressed, 0.0,
|
|
1038
|
+
"Percentage of total block cache budget to allocate to the "
|
|
1039
|
+
"compressed cache");
|
|
1024
1040
|
DEFINE_int32(open_write_fault_one_in, 0,
|
|
1025
1041
|
"On non-zero, enables fault injection on file writes "
|
|
1026
1042
|
"during DB reopen.");
|
|
1027
1043
|
DEFINE_int32(open_read_fault_one_in, 0,
|
|
1028
1044
|
"On non-zero, enables fault injection on file reads "
|
|
1029
1045
|
"during DB reopen.");
|
|
1030
|
-
DEFINE_int32(
|
|
1031
|
-
"The severity of the
|
|
1046
|
+
DEFINE_int32(inject_error_severity, 1,
|
|
1047
|
+
"The severity of the injected IO Error. 1 is soft error (e.g. "
|
|
1032
1048
|
"retryable error), 2 is fatal error, and the default is "
|
|
1033
1049
|
"retryable error.");
|
|
1034
1050
|
DEFINE_int32(prepopulate_block_cache,
|
|
@@ -1110,6 +1126,9 @@ DEFINE_uint64(stats_dump_period_sec,
|
|
|
1110
1126
|
"Gap between printing stats to log in seconds");
|
|
1111
1127
|
|
|
1112
1128
|
DEFINE_bool(use_io_uring, false, "Enable the use of IO uring on Posix");
|
|
1129
|
+
|
|
1130
|
+
DEFINE_bool(verification_only, false,
|
|
1131
|
+
"If true, tests will only execute verification step");
|
|
1113
1132
|
extern "C" bool RocksDbIOUringEnable() { return FLAGS_use_io_uring; }
|
|
1114
1133
|
|
|
1115
1134
|
DEFINE_uint32(memtable_max_range_deletions, 0,
|
|
@@ -1120,4 +1139,7 @@ DEFINE_uint32(bottommost_file_compaction_delay, 0,
|
|
|
1120
1139
|
"Delay kBottommostFiles compaction by this amount of seconds."
|
|
1121
1140
|
"See more in option comment.");
|
|
1122
1141
|
|
|
1142
|
+
DEFINE_bool(auto_readahead_size, false,
|
|
1143
|
+
"Does auto tuning of readahead_size when enabled during scans.");
|
|
1144
|
+
|
|
1123
1145
|
#endif // GFLAGS
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
#include <mutex>
|
|
10
10
|
#include <unordered_set>
|
|
11
11
|
|
|
12
|
+
#include "db_stress_tool/db_stress_shared_state.h"
|
|
12
13
|
#include "file/filename.h"
|
|
13
14
|
#include "file/writable_file_writer.h"
|
|
14
15
|
#include "rocksdb/db.h"
|
|
@@ -19,9 +20,12 @@
|
|
|
19
20
|
#include "rocksdb/unique_id.h"
|
|
20
21
|
#include "util/gflags_compat.h"
|
|
21
22
|
#include "util/random.h"
|
|
23
|
+
#include "utilities/fault_injection_fs.h"
|
|
22
24
|
|
|
23
25
|
DECLARE_int32(compact_files_one_in);
|
|
24
26
|
|
|
27
|
+
extern std::shared_ptr<ROCKSDB_NAMESPACE::FaultInjectionTestFS> fault_fs_guard;
|
|
28
|
+
|
|
25
29
|
namespace ROCKSDB_NAMESPACE {
|
|
26
30
|
|
|
27
31
|
// Verify across process executions that all seen IDs are unique
|
|
@@ -67,11 +71,23 @@ class DbStressListener : public EventListener {
|
|
|
67
71
|
VerifyFilePath(info.file_path);
|
|
68
72
|
// pretending doing some work here
|
|
69
73
|
RandomSleep();
|
|
74
|
+
if (FLAGS_read_fault_one_in) {
|
|
75
|
+
(void)fault_fs_guard->GetAndResetErrorCount();
|
|
76
|
+
fault_fs_guard->DisableErrorInjection();
|
|
77
|
+
}
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
void OnFlushBegin(DB* /*db*/,
|
|
73
81
|
const FlushJobInfo& /*flush_job_info*/) override {
|
|
74
82
|
RandomSleep();
|
|
83
|
+
if (FLAGS_read_fault_one_in) {
|
|
84
|
+
// Hardcoded to inject retryable error as a non-retryable error would put
|
|
85
|
+
// the DB in read-only mode and then it would crash on the next write.
|
|
86
|
+
fault_fs_guard->SetThreadLocalReadErrorContext(
|
|
87
|
+
static_cast<uint32_t>(FLAGS_seed), FLAGS_read_fault_one_in,
|
|
88
|
+
true /* retryable */);
|
|
89
|
+
fault_fs_guard->EnableErrorInjection();
|
|
90
|
+
}
|
|
75
91
|
}
|
|
76
92
|
|
|
77
93
|
void OnTableFileDeleted(const TableFileDeletionInfo& /*info*/) override {
|
|
@@ -95,6 +111,24 @@ class DbStressListener : public EventListener {
|
|
|
95
111
|
RandomSleep();
|
|
96
112
|
}
|
|
97
113
|
|
|
114
|
+
void OnSubcompactionBegin(const SubcompactionJobInfo& /* si */) override {
|
|
115
|
+
if (FLAGS_read_fault_one_in) {
|
|
116
|
+
// Hardcoded to inject retryable error as a non-retryable error would put
|
|
117
|
+
// the DB in read-only mode and then it would crash on the next write.
|
|
118
|
+
fault_fs_guard->SetThreadLocalReadErrorContext(
|
|
119
|
+
static_cast<uint32_t>(FLAGS_seed), FLAGS_read_fault_one_in,
|
|
120
|
+
true /* retryable */);
|
|
121
|
+
fault_fs_guard->EnableErrorInjection();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
void OnSubcompactionCompleted(const SubcompactionJobInfo& /* si */) override {
|
|
126
|
+
if (FLAGS_read_fault_one_in) {
|
|
127
|
+
(void)fault_fs_guard->GetAndResetErrorCount();
|
|
128
|
+
fault_fs_guard->DisableErrorInjection();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
98
132
|
void OnTableFileCreationStarted(
|
|
99
133
|
const TableFileCreationBriefInfo& /*info*/) override {
|
|
100
134
|
++num_pending_file_creations_;
|
|
@@ -35,7 +35,7 @@ DECLARE_int32(open_metadata_write_fault_one_in);
|
|
|
35
35
|
DECLARE_int32(open_write_fault_one_in);
|
|
36
36
|
DECLARE_int32(open_read_fault_one_in);
|
|
37
37
|
|
|
38
|
-
DECLARE_int32(
|
|
38
|
+
DECLARE_int32(inject_error_severity);
|
|
39
39
|
|
|
40
40
|
namespace ROCKSDB_NAMESPACE {
|
|
41
41
|
class StressTest;
|