@nxtedition/rocksdb 15.4.0 → 15.5.0
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 +24 -19
- package/cache.js +1 -1
- package/chained-batch.js +12 -3
- package/deps/rocksdb/rocksdb/.clang-tidy +86 -0
- package/deps/rocksdb/rocksdb/BUCK +42 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +11 -0
- package/deps/rocksdb/rocksdb/Makefile +59 -32
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -5
- package/deps/rocksdb/rocksdb/cache/cache_entry_stats.h +9 -9
- package/deps/rocksdb/rocksdb/cache/cache_key.cc +3 -3
- package/deps/rocksdb/rocksdb/cache/cache_key.h +5 -5
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +16 -16
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +258 -294
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +98 -49
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +1 -5
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +18 -18
- package/deps/rocksdb/rocksdb/crash_test.mk +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +23 -22
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +6 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +14 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +38 -26
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +101 -18
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +12 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +6 -9
- package/deps/rocksdb/rocksdb/db/builder.cc +23 -0
- package/deps/rocksdb/rocksdb/db/builder.h +7 -0
- package/deps/rocksdb/rocksdb/db/c.cc +373 -57
- package/deps/rocksdb/rocksdb/db/c_test.c +101 -1
- package/deps/rocksdb/rocksdb/db/column_family.cc +31 -3
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +10 -13
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +35 -48
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +13 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +201 -39
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +15 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +2 -455
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +4 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +19 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +72 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +405 -83
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +25 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +23 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +1410 -106
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +12 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +19 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +505 -45
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +9 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +7 -9
- package/deps/rocksdb/rocksdb/db/convenience.cc +4 -4
- package/deps/rocksdb/rocksdb/db/convenience_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +60 -88
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +10 -12
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +471 -40
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +116 -2
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +5 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_abort_test.cc +993 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +329 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +155 -13
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +54 -31
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +232 -70
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +57 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +224 -31
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +4 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +164 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +47 -35
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +22 -9
- package/deps/rocksdb/rocksdb/db/db_iter.cc +9 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +371 -6
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +7 -5
- package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +22 -23
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +40 -0
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +32 -13
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +68 -15
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +2 -3
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -21
- package/deps/rocksdb/rocksdb/db/db_test.cc +644 -128
- package/deps/rocksdb/rocksdb/db/db_test2.cc +198 -81
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +35 -10
- package/deps/rocksdb/rocksdb/db/db_test_util.h +8 -2
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +36 -32
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +11 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +499 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +284 -20
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/dbformat.h +0 -5
- package/deps/rocksdb/rocksdb/db/error_handler.cc +24 -0
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +12 -14
- package/deps/rocksdb/rocksdb/db/experimental.cc +13 -10
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +22 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +21 -15
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +4 -6
- package/deps/rocksdb/rocksdb/db/flush_job.cc +11 -3
- package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +5 -6
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +4 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +17 -17
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +154 -27
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/memtable.cc +197 -51
- package/deps/rocksdb/rocksdb/db/memtable.h +6 -0
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/merge_test.cc +37 -35
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/options_file_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +9 -11
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +10 -1
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +292 -15
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +10 -17
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +6 -8
- package/deps/rocksdb/rocksdb/db/repair.cc +10 -10
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/table_cache.cc +142 -135
- package/deps/rocksdb/rocksdb/db/table_cache.h +30 -6
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_builder.cc +11 -50
- package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/version_edit.cc +51 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +91 -29
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_set.cc +211 -50
- package/deps/rocksdb/rocksdb/db/version_set.h +40 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +5 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +294 -21
- package/deps/rocksdb/rocksdb/db/version_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/version_util.h +24 -0
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +647 -31
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +219 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +549 -12
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +19 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +21 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +32 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +74 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +9 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -61
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +15 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +76 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +92 -72
- package/deps/rocksdb/rocksdb/env/env.cc +1 -0
- package/deps/rocksdb/rocksdb/env/env_test.cc +365 -2
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +31 -30
- package/deps/rocksdb/rocksdb/env/io_posix.cc +8 -11
- package/deps/rocksdb/rocksdb/env/io_posix.h +30 -1
- package/deps/rocksdb/rocksdb/env/io_posix_test.cc +43 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +108 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +32 -4
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +4 -4
- package/deps/rocksdb/rocksdb/file/file_util.cc +8 -2
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -1
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +331 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +52 -35
- package/deps/rocksdb/rocksdb/folly.mk +22 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +100 -54
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +67 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +149 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +78 -97
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/functor_wrapper.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/io_dispatcher.h +358 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +43 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +20 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +63 -21
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +10 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +2 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +49 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +77 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +16 -10
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/user_defined_index.h +106 -46
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +2 -2
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +226 -8
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +490 -0
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +3 -3
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +11 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +4 -12
- package/deps/rocksdb/rocksdb/microbench/ribbon_bench.cc +5 -5
- package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +21 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +9 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +21 -2
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +21 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/options/db_options.cc +26 -5
- package/deps/rocksdb/rocksdb/options/db_options.h +3 -1
- package/deps/rocksdb/rocksdb/options/options.cc +5 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +7 -2
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +109 -103
- package/deps/rocksdb/rocksdb/options/options_test.cc +14 -0
- package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +15 -17
- package/deps/rocksdb/rocksdb/port/lang.h +4 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +0 -23
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +36 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.h +9 -0
- package/deps/rocksdb/rocksdb/src.mk +12 -0
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +571 -292
- package/deps/rocksdb/rocksdb/table/block_based/block.h +143 -53
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +154 -90
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +5 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +51 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +147 -734
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +30 -233
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +178 -108
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +17 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +5 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +70 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +168 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +9 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +548 -169
- package/deps/rocksdb/rocksdb/table/block_based/block_type.h +30 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_util.h +156 -0
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.cc +73 -30
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.h +74 -7
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +20 -14
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +22 -12
- package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.cc +332 -0
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.h +133 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +4 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/user_defined_index_wrapper.h +126 -46
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +31 -3
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +3 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +25 -4
- package/deps/rocksdb/rocksdb/table/format.cc +27 -15
- package/deps/rocksdb/rocksdb/table/format.h +41 -15
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +22 -12
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +7 -21
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +88 -13
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +53 -42
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -12
- package/deps/rocksdb/rocksdb/table/table_builder.h +0 -4
- package/deps/rocksdb/rocksdb/table/table_properties.cc +18 -0
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +2 -3
- package/deps/rocksdb/rocksdb/table/table_test.cc +848 -172
- package/deps/rocksdb/rocksdb/table/unique_id.cc +24 -20
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +8 -8
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +5 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +2 -2
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +238 -120
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +2 -4
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +4 -8
- package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +2 -3
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +82 -20
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +41 -47
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +9 -0
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +5 -6
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +6 -5
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +1 -3
- package/deps/rocksdb/rocksdb/util/atomic.h +30 -23
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.cc +6 -7
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.h +3 -3
- package/deps/rocksdb/rocksdb/util/bit_fields.h +68 -46
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +16 -16
- package/deps/rocksdb/rocksdb/util/coding.h +14 -27
- package/deps/rocksdb/rocksdb/util/compression.cc +365 -207
- package/deps/rocksdb/rocksdb/util/compression.h +16 -1298
- package/deps/rocksdb/rocksdb/util/compression_test.cc +347 -61
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +8 -9
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +1 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +3 -3
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +18 -18
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +3 -3
- package/deps/rocksdb/rocksdb/util/hash_test.cc +19 -7
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.cc +1099 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.h +36 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_test.cc +1919 -0
- package/deps/rocksdb/rocksdb/util/math.h +3 -1
- package/deps/rocksdb/rocksdb/util/mutexlock.h +19 -19
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +25 -25
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +5 -7
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +4 -5
- package/deps/rocksdb/rocksdb/util/slice.cc +0 -10
- package/deps/rocksdb/rocksdb/util/slice_test.cc +35 -1
- package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +5 -7
- package/deps/rocksdb/rocksdb/util/status.cc +3 -1
- package/deps/rocksdb/rocksdb/util/stop_watch.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +123 -78
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +12 -93
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +0 -21
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +6 -48
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +94 -307
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +12 -58
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +2 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +2 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +205 -811
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +18 -9
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +2 -7
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +1 -9
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +17 -11
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +68 -61
- package/deps/rocksdb/rocksdb/utilities/debug.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +105 -59
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +274 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs_test.cc +94 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +13 -17
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +16 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +25 -25
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +40 -40
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +2 -5
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +17 -19
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +4 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_seqno_test.cc +431 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +91 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.cc +562 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.h +615 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.cc +2575 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.h +685 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_db_test.cc +2843 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.cc +567 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.h +275 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_test.cc +5183 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +3 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +93 -88
- package/deps/rocksdb/rocksdb.gyp +7 -0
- package/index.js +11 -2
- package/iterator.js +15 -7
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
|
@@ -73,6 +73,7 @@ struct PerfContextByLevelInt {
|
|
|
73
73
|
defCmd(compressed_sec_cache_compressed_bytes) \
|
|
74
74
|
defCmd(block_checksum_time) \
|
|
75
75
|
defCmd(block_decompress_time) \
|
|
76
|
+
defCmd(block_decompress_count) \
|
|
76
77
|
defCmd(get_read_bytes) \
|
|
77
78
|
defCmd(multiget_read_bytes) \
|
|
78
79
|
defCmd(iter_read_bytes) \
|
|
@@ -155,7 +156,12 @@ struct PerfContextByLevelInt {
|
|
|
155
156
|
defCmd(decrypt_data_nanos) \
|
|
156
157
|
defCmd(number_async_seek) \
|
|
157
158
|
defCmd(file_ingestion_nanos) \
|
|
158
|
-
defCmd(file_ingestion_blocking_live_writes_nanos)
|
|
159
|
+
defCmd(file_ingestion_blocking_live_writes_nanos)\
|
|
160
|
+
defCmd(data_block_read_byte) \
|
|
161
|
+
defCmd(index_block_read_byte) \
|
|
162
|
+
defCmd(filter_block_read_byte) \
|
|
163
|
+
defCmd(compression_dict_block_read_byte) \
|
|
164
|
+
defCmd(metadata_block_read_byte)
|
|
159
165
|
// clang-format on
|
|
160
166
|
|
|
161
167
|
struct PerfContextInt {
|
|
@@ -259,10 +265,10 @@ void PerfContext::Reset() {
|
|
|
259
265
|
#endif
|
|
260
266
|
}
|
|
261
267
|
|
|
262
|
-
void PerfContextByLevel::Reset(){
|
|
268
|
+
void PerfContextByLevel::Reset() {
|
|
263
269
|
#ifndef NPERF_CONTEXT
|
|
264
270
|
#define EMIT_FIELDS(x) x = 0;
|
|
265
|
-
|
|
271
|
+
DEF_PERF_CONTEXT_LEVEL_METRICS(EMIT_FIELDS)
|
|
266
272
|
#undef EMIT_FIELDS
|
|
267
273
|
#endif
|
|
268
274
|
}
|
|
@@ -93,6 +93,7 @@ const std::vector<std::pair<Tickers, std::string>> TickersNameMap = {
|
|
|
93
93
|
{COMPACTION_OPTIMIZED_DEL_DROP_OBSOLETE,
|
|
94
94
|
"rocksdb.compaction.optimized.del.drop.obsolete"},
|
|
95
95
|
{COMPACTION_CANCELLED, "rocksdb.compaction.cancelled"},
|
|
96
|
+
{COMPACTION_ABORTED, "rocksdb.compaction.aborted"},
|
|
96
97
|
{NUMBER_KEYS_WRITTEN, "rocksdb.number.keys.written"},
|
|
97
98
|
{NUMBER_KEYS_READ, "rocksdb.number.keys.read"},
|
|
98
99
|
{NUMBER_KEYS_UPDATED, "rocksdb.number.keys.updated"},
|
|
@@ -169,8 +170,8 @@ const std::vector<std::pair<Tickers, std::string>> TickersNameMap = {
|
|
|
169
170
|
{BLOB_DB_NUM_KEYS_READ, "rocksdb.blobdb.num.keys.read"},
|
|
170
171
|
{BLOB_DB_BYTES_WRITTEN, "rocksdb.blobdb.bytes.written"},
|
|
171
172
|
{BLOB_DB_BYTES_READ, "rocksdb.blobdb.bytes.read"},
|
|
172
|
-
{
|
|
173
|
-
{
|
|
173
|
+
{BLOB_DB_WRITE_INLINED_DEPRECATED, "rocksdb.blobdb.write.inlined"},
|
|
174
|
+
{BLOB_DB_WRITE_INLINED_TTL_DEPRECATED, "rocksdb.blobdb.write.inlined.ttl"},
|
|
174
175
|
{BLOB_DB_WRITE_BLOB, "rocksdb.blobdb.write.blob"},
|
|
175
176
|
{BLOB_DB_WRITE_BLOB_TTL, "rocksdb.blobdb.write.blob.ttl"},
|
|
176
177
|
{BLOB_DB_BLOB_FILE_BYTES_WRITTEN, "rocksdb.blobdb.blob.file.bytes.written"},
|
|
@@ -280,6 +281,21 @@ const std::vector<std::pair<Tickers, std::string>> TickersNameMap = {
|
|
|
280
281
|
{NUMBER_WBWI_INGEST, "rocksdb.number.wbwi.ingest"},
|
|
281
282
|
{SST_USER_DEFINED_INDEX_LOAD_FAIL_COUNT,
|
|
282
283
|
"rocksdb.sst.user.defined.index.load.fail.count"},
|
|
284
|
+
{MULTISCAN_PREPARE_CALLS, "rocksdb.multiscan.prepare.calls"},
|
|
285
|
+
{MULTISCAN_PREPARE_ERRORS, "rocksdb.multiscan.prepare.errors"},
|
|
286
|
+
{MULTISCAN_BLOCKS_PREFETCHED, "rocksdb.multiscan.blocks.prefetched"},
|
|
287
|
+
{MULTISCAN_BLOCKS_FROM_CACHE, "rocksdb.multiscan.blocks.from.cache"},
|
|
288
|
+
{MULTISCAN_PREFETCH_BYTES, "rocksdb.multiscan.prefetch.bytes"},
|
|
289
|
+
{MULTISCAN_PREFETCH_BLOCKS_WASTED,
|
|
290
|
+
"rocksdb.multiscan.prefetch.blocks.wasted"},
|
|
291
|
+
{MULTISCAN_IO_REQUESTS, "rocksdb.multiscan.io.requests"},
|
|
292
|
+
{MULTISCAN_IO_COALESCED_NONADJACENT,
|
|
293
|
+
"rocksdb.multiscan.io.coalesced.nonadjacent"},
|
|
294
|
+
{MULTISCAN_SEEK_ERRORS, "rocksdb.multiscan.seek.errors"},
|
|
295
|
+
{PREFETCH_MEMORY_BYTES_GRANTED, "rocksdb.prefetch.memory.bytes.granted"},
|
|
296
|
+
{PREFETCH_MEMORY_BYTES_RELEASED, "rocksdb.prefetch.memory.bytes.released"},
|
|
297
|
+
{PREFETCH_MEMORY_REQUESTS_BLOCKED,
|
|
298
|
+
"rocksdb.prefetch.memory.requests.blocked"},
|
|
283
299
|
};
|
|
284
300
|
|
|
285
301
|
const std::vector<std::pair<Histograms, std::string>> HistogramsNameMap = {
|
|
@@ -354,6 +370,9 @@ const std::vector<std::pair<Histograms, std::string>> HistogramsNameMap = {
|
|
|
354
370
|
{NUM_OP_PER_TRANSACTION, "rocksdb.num.op.per.transaction"},
|
|
355
371
|
{MULTISCAN_PREPARE_ITERATORS,
|
|
356
372
|
"rocksdb.multiscan.op.prepare.iterators.micros"},
|
|
373
|
+
{MULTISCAN_PREPARE_MICROS, "rocksdb.multiscan.prepare.micros"},
|
|
374
|
+
{MULTISCAN_BLOCKS_PER_PREPARE, "rocksdb.multiscan.blocks.per.prepare"},
|
|
375
|
+
{BLOCK_KEY_DISTRIBUTION_CV, "rocksdb.block.key.distribution.cv"},
|
|
357
376
|
};
|
|
358
377
|
|
|
359
378
|
std::shared_ptr<Statistics> CreateDBStatistics() {
|
|
@@ -185,7 +185,7 @@ TEST_F(StatsHistoryTest, GetStatsHistoryInMemory) {
|
|
|
185
185
|
|
|
186
186
|
TEST_F(StatsHistoryTest, InMemoryStatsHistoryPurging) {
|
|
187
187
|
constexpr int kPeriodSec = 1;
|
|
188
|
-
constexpr int kEstimatedOneSliceSize =
|
|
188
|
+
constexpr int kEstimatedOneSliceSize = 22100;
|
|
189
189
|
|
|
190
190
|
Options options;
|
|
191
191
|
options.create_if_missing = true;
|
|
@@ -277,7 +277,7 @@ TEST_F(StatsHistoryTest, InMemoryStatsHistoryPurging) {
|
|
|
277
277
|
// If `slice_count == 0` when new statistics are added, consider increasing
|
|
278
278
|
// `kEstimatedOneSliceSize`
|
|
279
279
|
ASSERT_EQ(slice_count, 1);
|
|
280
|
-
ASSERT_TRUE(stats_history_size_reopen <
|
|
280
|
+
ASSERT_TRUE(stats_history_size_reopen < kEstimatedOneSliceSize &&
|
|
281
281
|
stats_history_size_reopen > 0);
|
|
282
282
|
ASSERT_TRUE(stats_count_reopen < stats_count && stats_count_reopen > 0);
|
|
283
283
|
Close();
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
#include "rocksdb/utilities/object_registry.h"
|
|
31
31
|
#include "rocksdb/utilities/options_type.h"
|
|
32
32
|
#include "util/cast_util.h"
|
|
33
|
+
#include "util/string_util.h"
|
|
33
34
|
|
|
34
35
|
// NOTE: in this file, many option flags that were deprecated
|
|
35
36
|
// and removed from the rest of the code have to be kept here
|
|
@@ -310,6 +311,14 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
310
311
|
{"trivial_copy_buffer_size",
|
|
311
312
|
{offsetof(struct CompactionOptionsFIFO, trivial_copy_buffer_size),
|
|
312
313
|
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
314
|
+
OptionTypeFlags::kMutable}},
|
|
315
|
+
{"max_data_files_size",
|
|
316
|
+
{offsetof(struct CompactionOptionsFIFO, max_data_files_size),
|
|
317
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
318
|
+
OptionTypeFlags::kMutable}},
|
|
319
|
+
{"use_kv_ratio_compaction",
|
|
320
|
+
{offsetof(struct CompactionOptionsFIFO, use_kv_ratio_compaction),
|
|
321
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
313
322
|
OptionTypeFlags::kMutable}}};
|
|
314
323
|
|
|
315
324
|
static std::unordered_map<std::string, OptionTypeInfo>
|
|
@@ -910,6 +919,11 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
910
919
|
{offsetof(struct ImmutableCFOptions, cf_allow_ingest_behind),
|
|
911
920
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
912
921
|
OptionTypeFlags::kNone}},
|
|
922
|
+
{"memtable_batch_lookup_optimization",
|
|
923
|
+
{offsetof(struct ImmutableCFOptions,
|
|
924
|
+
memtable_batch_lookup_optimization),
|
|
925
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
926
|
+
OptionTypeFlags::kNone}},
|
|
913
927
|
};
|
|
914
928
|
|
|
915
929
|
const std::string OptionsHelper::kCFOptionsName = "ColumnFamilyOptions";
|
|
@@ -1050,7 +1064,9 @@ ImmutableCFOptions::ImmutableCFOptions(const ColumnFamilyOptions& cf_options)
|
|
|
1050
1064
|
blob_cache(cf_options.blob_cache),
|
|
1051
1065
|
persist_user_defined_timestamps(
|
|
1052
1066
|
cf_options.persist_user_defined_timestamps),
|
|
1053
|
-
cf_allow_ingest_behind(cf_options.cf_allow_ingest_behind)
|
|
1067
|
+
cf_allow_ingest_behind(cf_options.cf_allow_ingest_behind),
|
|
1068
|
+
memtable_batch_lookup_optimization(
|
|
1069
|
+
cf_options.memtable_batch_lookup_optimization) {}
|
|
1054
1070
|
|
|
1055
1071
|
ImmutableOptions::ImmutableOptions() : ImmutableOptions(Options()) {}
|
|
1056
1072
|
|
|
@@ -1259,6 +1275,10 @@ void MutableCFOptions::Dump(Logger* log) const {
|
|
|
1259
1275
|
compaction_options_fifo.max_table_files_size);
|
|
1260
1276
|
ROCKS_LOG_INFO(log, "compaction_options_fifo.allow_compaction : %d",
|
|
1261
1277
|
compaction_options_fifo.allow_compaction);
|
|
1278
|
+
ROCKS_LOG_INFO(log, "compaction_options_fifo.max_data_files_size : %" PRIu64,
|
|
1279
|
+
compaction_options_fifo.max_data_files_size);
|
|
1280
|
+
ROCKS_LOG_INFO(log, "compaction_options_fifo.use_kv_ratio_compaction : %d",
|
|
1281
|
+
compaction_options_fifo.use_kv_ratio_compaction);
|
|
1262
1282
|
|
|
1263
1283
|
// Blob file related options
|
|
1264
1284
|
ROCKS_LOG_INFO(log, " enable_blob_files: %s",
|
|
@@ -1281,8 +1281,6 @@ class MockSliceTransform : public SliceTransform {
|
|
|
1281
1281
|
Slice Transform(const Slice& /*key*/) const override { return Slice(); }
|
|
1282
1282
|
|
|
1283
1283
|
bool InDomain(const Slice& /*key*/) const override { return false; }
|
|
1284
|
-
|
|
1285
|
-
bool InRange(const Slice& /*key*/) const override { return false; }
|
|
1286
1284
|
};
|
|
1287
1285
|
|
|
1288
1286
|
class MockMemoryAllocator : public BaseMemoryAllocator {
|
|
@@ -136,6 +136,10 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
136
136
|
{offsetof(struct MutableDBOptions, manifest_preallocation_size),
|
|
137
137
|
OptionType::kSizeT, OptionVerificationType::kNormal,
|
|
138
138
|
OptionTypeFlags::kMutable}},
|
|
139
|
+
{"verify_manifest_content_on_close",
|
|
140
|
+
{offsetof(struct MutableDBOptions, verify_manifest_content_on_close),
|
|
141
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
142
|
+
OptionTypeFlags::kMutable}},
|
|
139
143
|
{"daily_offpeak_time_utc",
|
|
140
144
|
{offsetof(struct MutableDBOptions, daily_offpeak_time_utc),
|
|
141
145
|
OptionType::kString, OptionVerificationType::kNormal,
|
|
@@ -230,6 +234,10 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
230
234
|
{offsetof(struct ImmutableDBOptions, paranoid_checks),
|
|
231
235
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
232
236
|
OptionTypeFlags::kNone}},
|
|
237
|
+
{"open_files_async",
|
|
238
|
+
{offsetof(struct ImmutableDBOptions, open_files_async),
|
|
239
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
240
|
+
OptionTypeFlags::kNone}},
|
|
233
241
|
{"flush_verify_memtable_count",
|
|
234
242
|
{offsetof(struct ImmutableDBOptions, flush_verify_memtable_count),
|
|
235
243
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
@@ -259,9 +267,7 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
259
267
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
260
268
|
OptionTypeFlags::kNone}},
|
|
261
269
|
{"skip_checking_sst_file_sizes_on_db_open",
|
|
262
|
-
{
|
|
263
|
-
skip_checking_sst_file_sizes_on_db_open),
|
|
264
|
-
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
270
|
+
{0, OptionType::kBoolean, OptionVerificationType::kDeprecated,
|
|
265
271
|
OptionTypeFlags::kNone}},
|
|
266
272
|
{"new_table_reader_for_compaction_inputs",
|
|
267
273
|
{0, OptionType::kBoolean, OptionVerificationType::kDeprecated,
|
|
@@ -373,6 +379,11 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
373
379
|
{offsetof(struct ImmutableDBOptions, avoid_flush_during_recovery),
|
|
374
380
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
375
381
|
OptionTypeFlags::kNone}},
|
|
382
|
+
{"enforce_write_buffer_manager_during_recovery",
|
|
383
|
+
{offsetof(struct ImmutableDBOptions,
|
|
384
|
+
enforce_write_buffer_manager_during_recovery),
|
|
385
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
386
|
+
OptionTypeFlags::kNone}},
|
|
376
387
|
{"allow_ingest_behind",
|
|
377
388
|
{offsetof(struct ImmutableDBOptions, allow_ingest_behind),
|
|
378
389
|
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
@@ -719,6 +730,7 @@ ImmutableDBOptions::ImmutableDBOptions(const DBOptions& options)
|
|
|
719
730
|
create_missing_column_families(options.create_missing_column_families),
|
|
720
731
|
error_if_exists(options.error_if_exists),
|
|
721
732
|
paranoid_checks(options.paranoid_checks),
|
|
733
|
+
open_files_async(options.open_files_async),
|
|
722
734
|
flush_verify_memtable_count(options.flush_verify_memtable_count),
|
|
723
735
|
compaction_verify_record_count(options.compaction_verify_record_count),
|
|
724
736
|
track_and_verify_wals_in_manifest(
|
|
@@ -767,14 +779,14 @@ ImmutableDBOptions::ImmutableDBOptions(const DBOptions& options)
|
|
|
767
779
|
write_thread_max_yield_usec(options.write_thread_max_yield_usec),
|
|
768
780
|
write_thread_slow_yield_usec(options.write_thread_slow_yield_usec),
|
|
769
781
|
skip_stats_update_on_db_open(options.skip_stats_update_on_db_open),
|
|
770
|
-
skip_checking_sst_file_sizes_on_db_open(
|
|
771
|
-
options.skip_checking_sst_file_sizes_on_db_open),
|
|
772
782
|
wal_recovery_mode(options.wal_recovery_mode),
|
|
773
783
|
allow_2pc(options.allow_2pc),
|
|
774
784
|
row_cache(options.row_cache),
|
|
775
785
|
wal_filter(options.wal_filter),
|
|
776
786
|
dump_malloc_stats(options.dump_malloc_stats),
|
|
777
787
|
avoid_flush_during_recovery(options.avoid_flush_during_recovery),
|
|
788
|
+
enforce_write_buffer_manager_during_recovery(
|
|
789
|
+
options.enforce_write_buffer_manager_during_recovery),
|
|
778
790
|
allow_ingest_behind(options.allow_ingest_behind),
|
|
779
791
|
two_write_queues(options.two_write_queues),
|
|
780
792
|
manual_wal_flush(options.manual_wal_flush),
|
|
@@ -818,6 +830,8 @@ void ImmutableDBOptions::Dump(Logger* log) const {
|
|
|
818
830
|
create_if_missing);
|
|
819
831
|
ROCKS_LOG_HEADER(log, " Options.paranoid_checks: %d",
|
|
820
832
|
paranoid_checks);
|
|
833
|
+
ROCKS_LOG_HEADER(log, " Options.open_files_async: %d",
|
|
834
|
+
open_files_async);
|
|
821
835
|
ROCKS_LOG_HEADER(log, " Options.flush_verify_memtable_count: %d",
|
|
822
836
|
flush_verify_memtable_count);
|
|
823
837
|
ROCKS_LOG_HEADER(log, " Options.compaction_verify_record_count: %d",
|
|
@@ -939,6 +953,9 @@ void ImmutableDBOptions::Dump(Logger* log) const {
|
|
|
939
953
|
|
|
940
954
|
ROCKS_LOG_HEADER(log, " Options.avoid_flush_during_recovery: %d",
|
|
941
955
|
avoid_flush_during_recovery);
|
|
956
|
+
ROCKS_LOG_HEADER(
|
|
957
|
+
log, " Options.enforce_write_buffer_manager_during_recovery: %d",
|
|
958
|
+
enforce_write_buffer_manager_during_recovery);
|
|
942
959
|
ROCKS_LOG_HEADER(log, " Options.allow_ingest_behind: %d",
|
|
943
960
|
allow_ingest_behind);
|
|
944
961
|
ROCKS_LOG_HEADER(log, " Options.two_write_queues: %d",
|
|
@@ -1045,6 +1062,8 @@ MutableDBOptions::MutableDBOptions(const DBOptions& options)
|
|
|
1045
1062
|
max_manifest_file_size(options.max_manifest_file_size),
|
|
1046
1063
|
max_manifest_space_amp_pct(options.max_manifest_space_amp_pct),
|
|
1047
1064
|
manifest_preallocation_size(options.manifest_preallocation_size),
|
|
1065
|
+
verify_manifest_content_on_close(
|
|
1066
|
+
options.verify_manifest_content_on_close),
|
|
1048
1067
|
daily_offpeak_time_utc(options.daily_offpeak_time_utc) {}
|
|
1049
1068
|
|
|
1050
1069
|
void MutableDBOptions::Dump(Logger* log) const {
|
|
@@ -1098,6 +1117,8 @@ void MutableDBOptions::Dump(Logger* log) const {
|
|
|
1098
1117
|
ROCKS_LOG_HEADER(
|
|
1099
1118
|
log, " Options.manifest_preallocation_size: %" ROCKSDB_PRIszt,
|
|
1100
1119
|
manifest_preallocation_size);
|
|
1120
|
+
ROCKS_LOG_HEADER(log, " Options.verify_manifest_content_on_close: %d",
|
|
1121
|
+
verify_manifest_content_on_close);
|
|
1101
1122
|
ROCKS_LOG_HEADER(log, "Options.daily_offpeak_time_utc: %s",
|
|
1102
1123
|
daily_offpeak_time_utc.c_str());
|
|
1103
1124
|
}
|
|
@@ -24,6 +24,7 @@ struct ImmutableDBOptions {
|
|
|
24
24
|
bool create_missing_column_families;
|
|
25
25
|
bool error_if_exists;
|
|
26
26
|
bool paranoid_checks;
|
|
27
|
+
bool open_files_async;
|
|
27
28
|
bool flush_verify_memtable_count;
|
|
28
29
|
bool compaction_verify_record_count;
|
|
29
30
|
bool track_and_verify_wals_in_manifest;
|
|
@@ -70,13 +71,13 @@ struct ImmutableDBOptions {
|
|
|
70
71
|
uint64_t write_thread_max_yield_usec;
|
|
71
72
|
uint64_t write_thread_slow_yield_usec;
|
|
72
73
|
bool skip_stats_update_on_db_open;
|
|
73
|
-
bool skip_checking_sst_file_sizes_on_db_open;
|
|
74
74
|
WALRecoveryMode wal_recovery_mode;
|
|
75
75
|
bool allow_2pc;
|
|
76
76
|
std::shared_ptr<Cache> row_cache;
|
|
77
77
|
WalFilter* wal_filter;
|
|
78
78
|
bool dump_malloc_stats;
|
|
79
79
|
bool avoid_flush_during_recovery;
|
|
80
|
+
bool enforce_write_buffer_manager_during_recovery;
|
|
80
81
|
bool allow_ingest_behind;
|
|
81
82
|
bool two_write_queues;
|
|
82
83
|
bool manual_wal_flush;
|
|
@@ -147,6 +148,7 @@ struct MutableDBOptions {
|
|
|
147
148
|
uint64_t max_manifest_file_size;
|
|
148
149
|
int max_manifest_space_amp_pct;
|
|
149
150
|
size_t manifest_preallocation_size;
|
|
151
|
+
bool verify_manifest_content_on_close;
|
|
150
152
|
std::string daily_offpeak_time_utc;
|
|
151
153
|
};
|
|
152
154
|
|
|
@@ -115,7 +115,9 @@ AdvancedColumnFamilyOptions::AdvancedColumnFamilyOptions(const Options& options)
|
|
|
115
115
|
persist_user_defined_timestamps(options.persist_user_defined_timestamps),
|
|
116
116
|
memtable_op_scan_flush_trigger(options.memtable_op_scan_flush_trigger),
|
|
117
117
|
memtable_avg_op_scan_flush_trigger(
|
|
118
|
-
options.memtable_avg_op_scan_flush_trigger)
|
|
118
|
+
options.memtable_avg_op_scan_flush_trigger),
|
|
119
|
+
memtable_batch_lookup_optimization(
|
|
120
|
+
options.memtable_batch_lookup_optimization) {
|
|
119
121
|
assert(memtable_factory.get() != nullptr);
|
|
120
122
|
if (max_bytes_for_level_multiplier_additional.size() <
|
|
121
123
|
static_cast<unsigned int>(num_levels)) {
|
|
@@ -468,6 +470,8 @@ void ColumnFamilyOptions::Dump(Logger* log) const {
|
|
|
468
470
|
memtable_max_range_deletions);
|
|
469
471
|
ROCKS_LOG_HEADER(log, " Options.cf_allow_ingest_behind: %s",
|
|
470
472
|
cf_allow_ingest_behind ? "true" : "false");
|
|
473
|
+
ROCKS_LOG_HEADER(log, " Options.memtable_batch_lookup_optimization: %s",
|
|
474
|
+
memtable_batch_lookup_optimization ? "true" : "false");
|
|
471
475
|
} // ColumnFamilyOptions::Dump
|
|
472
476
|
|
|
473
477
|
void Options::Dump(Logger* log) const {
|
|
@@ -65,6 +65,7 @@ void BuildDBOptions(const ImmutableDBOptions& immutable_db_options,
|
|
|
65
65
|
immutable_db_options.create_missing_column_families;
|
|
66
66
|
options.error_if_exists = immutable_db_options.error_if_exists;
|
|
67
67
|
options.paranoid_checks = immutable_db_options.paranoid_checks;
|
|
68
|
+
options.open_files_async = immutable_db_options.open_files_async;
|
|
68
69
|
options.flush_verify_memtable_count =
|
|
69
70
|
immutable_db_options.flush_verify_memtable_count;
|
|
70
71
|
options.compaction_verify_record_count =
|
|
@@ -149,8 +150,6 @@ void BuildDBOptions(const ImmutableDBOptions& immutable_db_options,
|
|
|
149
150
|
immutable_db_options.write_thread_slow_yield_usec;
|
|
150
151
|
options.skip_stats_update_on_db_open =
|
|
151
152
|
immutable_db_options.skip_stats_update_on_db_open;
|
|
152
|
-
options.skip_checking_sst_file_sizes_on_db_open =
|
|
153
|
-
immutable_db_options.skip_checking_sst_file_sizes_on_db_open;
|
|
154
153
|
options.wal_recovery_mode = immutable_db_options.wal_recovery_mode;
|
|
155
154
|
options.allow_2pc = immutable_db_options.allow_2pc;
|
|
156
155
|
options.row_cache = immutable_db_options.row_cache;
|
|
@@ -158,6 +157,8 @@ void BuildDBOptions(const ImmutableDBOptions& immutable_db_options,
|
|
|
158
157
|
options.dump_malloc_stats = immutable_db_options.dump_malloc_stats;
|
|
159
158
|
options.avoid_flush_during_recovery =
|
|
160
159
|
immutable_db_options.avoid_flush_during_recovery;
|
|
160
|
+
options.enforce_write_buffer_manager_during_recovery =
|
|
161
|
+
immutable_db_options.enforce_write_buffer_manager_during_recovery;
|
|
161
162
|
options.avoid_flush_during_shutdown =
|
|
162
163
|
mutable_db_options.avoid_flush_during_shutdown;
|
|
163
164
|
options.allow_ingest_behind = immutable_db_options.allow_ingest_behind;
|
|
@@ -188,6 +189,8 @@ void BuildDBOptions(const ImmutableDBOptions& immutable_db_options,
|
|
|
188
189
|
options.lowest_used_cache_tier = immutable_db_options.lowest_used_cache_tier;
|
|
189
190
|
options.enforce_single_del_contracts =
|
|
190
191
|
immutable_db_options.enforce_single_del_contracts;
|
|
192
|
+
options.verify_manifest_content_on_close =
|
|
193
|
+
mutable_db_options.verify_manifest_content_on_close;
|
|
191
194
|
options.daily_offpeak_time_utc = mutable_db_options.daily_offpeak_time_utc;
|
|
192
195
|
options.follower_refresh_catchup_period_ms =
|
|
193
196
|
immutable_db_options.follower_refresh_catchup_period_ms;
|
|
@@ -348,6 +351,8 @@ void UpdateColumnFamilyOptions(const ImmutableCFOptions& ioptions,
|
|
|
348
351
|
ioptions.persist_user_defined_timestamps;
|
|
349
352
|
cf_opts->default_temperature = ioptions.default_temperature;
|
|
350
353
|
cf_opts->cf_allow_ingest_behind = ioptions.cf_allow_ingest_behind;
|
|
354
|
+
cf_opts->memtable_batch_lookup_optimization =
|
|
355
|
+
ioptions.memtable_batch_lookup_optimization;
|
|
351
356
|
|
|
352
357
|
// TODO(yhchiang): find some way to handle the following derived options
|
|
353
358
|
// * max_file_size
|