@nxtedition/rocksdb 15.4.1 → 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 -15
- 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/iterator.js +2 -2
- 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
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
#include "rocksdb/utilities/db_ttl.h"
|
|
20
20
|
#include "rocksdb/wide_columns.h"
|
|
21
21
|
#include "test_util/testharness.h"
|
|
22
|
+
#include "util/cast_util.h"
|
|
22
23
|
#include "util/coding.h"
|
|
23
24
|
#include "utilities/merge_operators.h"
|
|
24
25
|
|
|
@@ -96,9 +97,9 @@ class EnvMergeTest : public EnvWrapper {
|
|
|
96
97
|
uint64_t EnvMergeTest::now_nanos_count_{0};
|
|
97
98
|
std::unique_ptr<EnvMergeTest> EnvMergeTest::singleton_;
|
|
98
99
|
|
|
99
|
-
std::
|
|
100
|
+
std::unique_ptr<DB> OpenDb(const std::string& dbname, const bool ttl = false,
|
|
100
101
|
const size_t max_successive_merges = 0) {
|
|
101
|
-
DB
|
|
102
|
+
std::unique_ptr<DB> db;
|
|
102
103
|
Options options;
|
|
103
104
|
options.create_if_missing = true;
|
|
104
105
|
options.merge_operator = std::make_shared<CountMergeOperator>();
|
|
@@ -109,7 +110,7 @@ std::shared_ptr<DB> OpenDb(const std::string& dbname, const bool ttl = false,
|
|
|
109
110
|
if (ttl) {
|
|
110
111
|
DBWithTTL* db_with_ttl;
|
|
111
112
|
s = DBWithTTL::Open(options, dbname, &db_with_ttl);
|
|
112
|
-
db
|
|
113
|
+
db.reset(db_with_ttl);
|
|
113
114
|
} else {
|
|
114
115
|
s = DB::Open(options, dbname, &db);
|
|
115
116
|
}
|
|
@@ -118,7 +119,7 @@ std::shared_ptr<DB> OpenDb(const std::string& dbname, const bool ttl = false,
|
|
|
118
119
|
// Allowed to call NowNanos during DB creation (in GenerateRawUniqueId() for
|
|
119
120
|
// session ID)
|
|
120
121
|
EnvMergeTest::now_nanos_count_ = 0;
|
|
121
|
-
return
|
|
122
|
+
return db;
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
// Imagine we are maintaining a set of uint64 counters.
|
|
@@ -128,7 +129,7 @@ std::shared_ptr<DB> OpenDb(const std::string& dbname, const bool ttl = false,
|
|
|
128
129
|
// This is a quick implementation without a Merge operation.
|
|
129
130
|
class Counters {
|
|
130
131
|
protected:
|
|
131
|
-
|
|
132
|
+
UnownedPtr<DB> db_;
|
|
132
133
|
|
|
133
134
|
WriteOptions put_option_;
|
|
134
135
|
ReadOptions get_option_;
|
|
@@ -137,7 +138,7 @@ class Counters {
|
|
|
137
138
|
uint64_t default_;
|
|
138
139
|
|
|
139
140
|
public:
|
|
140
|
-
explicit Counters(
|
|
141
|
+
explicit Counters(UnownedPtr<DB> db, uint64_t defaultCount = 0)
|
|
141
142
|
: db_(db),
|
|
142
143
|
put_option_(),
|
|
143
144
|
get_option_(),
|
|
@@ -242,7 +243,7 @@ class MergeBasedCounters : public Counters {
|
|
|
242
243
|
WriteOptions merge_option_; // for merge
|
|
243
244
|
|
|
244
245
|
public:
|
|
245
|
-
explicit MergeBasedCounters(
|
|
246
|
+
explicit MergeBasedCounters(UnownedPtr<DB> db, uint64_t defaultCount = 0)
|
|
246
247
|
: Counters(db, defaultCount), merge_option_() {}
|
|
247
248
|
|
|
248
249
|
// mapped to a rocksdb Merge operation
|
|
@@ -261,7 +262,7 @@ class MergeBasedCounters : public Counters {
|
|
|
261
262
|
}
|
|
262
263
|
};
|
|
263
264
|
|
|
264
|
-
void dumpDb(DB
|
|
265
|
+
void dumpDb(const std::unique_ptr<DB>& db) {
|
|
265
266
|
auto it = std::unique_ptr<Iterator>(db->NewIterator(ReadOptions()));
|
|
266
267
|
for (it->SeekToFirst(); it->Valid(); it->Next()) {
|
|
267
268
|
// uint64_t value = DecodeFixed64(it->value().data());
|
|
@@ -270,7 +271,8 @@ void dumpDb(DB* db) {
|
|
|
270
271
|
assert(it->status().ok()); // Check for any errors found during the scan
|
|
271
272
|
}
|
|
272
273
|
|
|
273
|
-
void testCounters(Counters& counters, DB
|
|
274
|
+
void testCounters(Counters& counters, const std::unique_ptr<DB>& db,
|
|
275
|
+
bool test_compaction) {
|
|
274
276
|
FlushOptions o;
|
|
275
277
|
o.wait = true;
|
|
276
278
|
|
|
@@ -320,7 +322,8 @@ void testCounters(Counters& counters, DB* db, bool test_compaction) {
|
|
|
320
322
|
}
|
|
321
323
|
}
|
|
322
324
|
|
|
323
|
-
void testCountersWithFlushAndCompaction(Counters& counters,
|
|
325
|
+
void testCountersWithFlushAndCompaction(Counters& counters,
|
|
326
|
+
const std::unique_ptr<DB>& db) {
|
|
324
327
|
ASSERT_OK(db->Put({}, "1", "1"));
|
|
325
328
|
ASSERT_OK(db->Flush(FlushOptions()));
|
|
326
329
|
|
|
@@ -388,12 +391,12 @@ void testCountersWithFlushAndCompaction(Counters& counters, DB* db) {
|
|
|
388
391
|
SyncPoint::GetInstance()->EnableProcessing();
|
|
389
392
|
|
|
390
393
|
port::Thread set_options_thread([&]() {
|
|
391
|
-
ASSERT_OK(
|
|
394
|
+
ASSERT_OK(static_cast_with_check<DBImpl>(db.get())->SetOptions(
|
|
392
395
|
{{"disable_auto_compactions", "false"}}));
|
|
393
396
|
});
|
|
394
397
|
TEST_SYNC_POINT("testCountersWithCompactionAndFlush:BeforeCompact");
|
|
395
398
|
port::Thread compact_thread([&]() {
|
|
396
|
-
ASSERT_OK(
|
|
399
|
+
ASSERT_OK(static_cast_with_check<DBImpl>(db.get())->CompactRange(
|
|
397
400
|
CompactRangeOptions(), db->DefaultColumnFamily(), nullptr, nullptr));
|
|
398
401
|
});
|
|
399
402
|
|
|
@@ -440,8 +443,8 @@ void testSuccessiveMerge(Counters& counters, size_t max_num_merges,
|
|
|
440
443
|
}
|
|
441
444
|
}
|
|
442
445
|
|
|
443
|
-
void testPartialMerge(Counters* counters, DB
|
|
444
|
-
size_t min_merge, size_t count) {
|
|
446
|
+
void testPartialMerge(Counters* counters, const std::unique_ptr<DB>& db,
|
|
447
|
+
size_t max_merge, size_t min_merge, size_t count) {
|
|
445
448
|
FlushOptions o;
|
|
446
449
|
o.wait = true;
|
|
447
450
|
|
|
@@ -481,8 +484,8 @@ void testPartialMerge(Counters* counters, DB* db, size_t max_merge,
|
|
|
481
484
|
ASSERT_EQ(EnvMergeTest::now_nanos_count_, 0U);
|
|
482
485
|
}
|
|
483
486
|
|
|
484
|
-
void testSingleBatchSuccessiveMerge(DB
|
|
485
|
-
size_t num_merges) {
|
|
487
|
+
void testSingleBatchSuccessiveMerge(const std::unique_ptr<DB>& db,
|
|
488
|
+
size_t max_num_merges, size_t num_merges) {
|
|
486
489
|
ASSERT_GT(num_merges, max_num_merges);
|
|
487
490
|
|
|
488
491
|
Slice key("BatchSuccessiveMerge");
|
|
@@ -520,13 +523,13 @@ void runTest(const std::string& dbname, const bool use_ttl = false) {
|
|
|
520
523
|
auto db = OpenDb(dbname, use_ttl);
|
|
521
524
|
|
|
522
525
|
{
|
|
523
|
-
Counters counters(db, 0);
|
|
524
|
-
testCounters(counters, db
|
|
526
|
+
Counters counters(db.get(), 0);
|
|
527
|
+
testCounters(counters, db, true);
|
|
525
528
|
}
|
|
526
529
|
|
|
527
530
|
{
|
|
528
|
-
MergeBasedCounters counters(db, 0);
|
|
529
|
-
testCounters(counters, db
|
|
531
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
532
|
+
testCounters(counters, db, use_compression);
|
|
530
533
|
}
|
|
531
534
|
}
|
|
532
535
|
|
|
@@ -535,10 +538,10 @@ void runTest(const std::string& dbname, const bool use_ttl = false) {
|
|
|
535
538
|
{
|
|
536
539
|
size_t max_merge = 5;
|
|
537
540
|
auto db = OpenDb(dbname, use_ttl, max_merge);
|
|
538
|
-
MergeBasedCounters counters(db, 0);
|
|
539
|
-
testCounters(counters, db
|
|
541
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
542
|
+
testCounters(counters, db, use_compression);
|
|
540
543
|
testSuccessiveMerge(counters, max_merge, max_merge * 2);
|
|
541
|
-
testSingleBatchSuccessiveMerge(db
|
|
544
|
+
testSingleBatchSuccessiveMerge(db, 5, 7);
|
|
542
545
|
ASSERT_OK(db->Close());
|
|
543
546
|
ASSERT_OK(DestroyDB(dbname, Options()));
|
|
544
547
|
}
|
|
@@ -549,16 +552,15 @@ void runTest(const std::string& dbname, const bool use_ttl = false) {
|
|
|
549
552
|
uint32_t min_merge = 2;
|
|
550
553
|
for (uint32_t count = min_merge - 1; count <= min_merge + 1; count++) {
|
|
551
554
|
auto db = OpenDb(dbname, use_ttl, max_merge);
|
|
552
|
-
MergeBasedCounters counters(db, 0);
|
|
553
|
-
testPartialMerge(&counters, db
|
|
555
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
556
|
+
testPartialMerge(&counters, db, max_merge, min_merge, count);
|
|
554
557
|
ASSERT_OK(db->Close());
|
|
555
558
|
ASSERT_OK(DestroyDB(dbname, Options()));
|
|
556
559
|
}
|
|
557
560
|
{
|
|
558
561
|
auto db = OpenDb(dbname, use_ttl, max_merge);
|
|
559
|
-
MergeBasedCounters counters(db, 0);
|
|
560
|
-
testPartialMerge(&counters, db
|
|
561
|
-
min_merge * 10);
|
|
562
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
563
|
+
testPartialMerge(&counters, db, max_merge, min_merge, min_merge * 10);
|
|
562
564
|
ASSERT_OK(db->Close());
|
|
563
565
|
ASSERT_OK(DestroyDB(dbname, Options()));
|
|
564
566
|
}
|
|
@@ -567,18 +569,18 @@ void runTest(const std::string& dbname, const bool use_ttl = false) {
|
|
|
567
569
|
{
|
|
568
570
|
{
|
|
569
571
|
auto db = OpenDb(dbname);
|
|
570
|
-
MergeBasedCounters counters(db, 0);
|
|
572
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
571
573
|
counters.add("test-key", 1);
|
|
572
574
|
counters.add("test-key", 1);
|
|
573
575
|
counters.add("test-key", 1);
|
|
574
576
|
ASSERT_OK(db->CompactRange(CompactRangeOptions(), nullptr, nullptr));
|
|
575
577
|
}
|
|
576
578
|
|
|
577
|
-
DB
|
|
579
|
+
std::unique_ptr<DB> reopen_db;
|
|
578
580
|
ASSERT_OK(DB::Open(Options(), dbname, &reopen_db));
|
|
579
581
|
std::string value;
|
|
580
582
|
ASSERT_NOK(reopen_db->Get(ReadOptions(), "test-key", &value));
|
|
581
|
-
|
|
583
|
+
reopen_db.reset();
|
|
582
584
|
ASSERT_OK(DestroyDB(dbname, Options()));
|
|
583
585
|
}
|
|
584
586
|
|
|
@@ -587,13 +589,13 @@ void runTest(const std::string& dbname, const bool use_ttl = false) {
|
|
|
587
589
|
std::cout << "Test merge-operator not set after reopen (recovery case)\n";
|
|
588
590
|
{
|
|
589
591
|
auto db = OpenDb(dbname);
|
|
590
|
-
MergeBasedCounters counters(db, 0);
|
|
592
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
591
593
|
counters.add("test-key", 1);
|
|
592
594
|
counters.add("test-key", 1);
|
|
593
595
|
counters.add("test-key", 1);
|
|
594
596
|
}
|
|
595
597
|
|
|
596
|
-
DB
|
|
598
|
+
std::unique_ptr<DB> reopen_db;
|
|
597
599
|
ASSERT_TRUE(DB::Open(Options(), dbname, &reopen_db).IsInvalidArgument());
|
|
598
600
|
}
|
|
599
601
|
*/
|
|
@@ -614,8 +616,8 @@ TEST_F(MergeTest, MergeWithCompactionAndFlush) {
|
|
|
614
616
|
{
|
|
615
617
|
auto db = OpenDb(dbname);
|
|
616
618
|
{
|
|
617
|
-
MergeBasedCounters counters(db, 0);
|
|
618
|
-
testCountersWithFlushAndCompaction(counters, db
|
|
619
|
+
MergeBasedCounters counters(db.get(), 0);
|
|
620
|
+
testCountersWithFlushAndCompaction(counters, db);
|
|
619
621
|
}
|
|
620
622
|
}
|
|
621
623
|
ASSERT_OK(DestroyDB(dbname, Options()));
|
|
@@ -309,7 +309,8 @@ TEST_F(ObsoleteFilesTest, GetSortedWalFilesHangsAfterNoopPurge) {
|
|
|
309
309
|
|
|
310
310
|
// Grab an iterator and flush to switch the super version. That way, when the
|
|
311
311
|
// iterator is destroyed, it will go through the purge path.
|
|
312
|
-
DB* db =
|
|
312
|
+
DB* db =
|
|
313
|
+
db_.get(); // Only using `db` makes it clear we only use DB-level APIs.
|
|
313
314
|
ASSERT_OK(db->Put(WriteOptions(), "key", "value"));
|
|
314
315
|
std::unique_ptr<Iterator> iter(db->NewIterator(ReadOptions()));
|
|
315
316
|
ASSERT_OK(db->Flush(FlushOptions()));
|
|
@@ -66,16 +66,16 @@ TEST_F(OptionsFileTest, NumberOfOptionsFiles) {
|
|
|
66
66
|
opt.create_if_missing = true;
|
|
67
67
|
ASSERT_OK(DestroyDB(dbname_, opt));
|
|
68
68
|
std::unordered_set<std::string> filename_history;
|
|
69
|
-
DB
|
|
69
|
+
std::unique_ptr<DB> db;
|
|
70
70
|
for (int i = 0; i < kReopenCount; ++i) {
|
|
71
71
|
ASSERT_OK(DB::Open(opt, dbname_, &db));
|
|
72
72
|
int num_options_files = 0;
|
|
73
|
-
UpdateOptionsFiles(db, &filename_history, &num_options_files);
|
|
73
|
+
UpdateOptionsFiles(db.get(), &filename_history, &num_options_files);
|
|
74
74
|
ASSERT_GT(num_options_files, 0);
|
|
75
75
|
ASSERT_LE(num_options_files, 2);
|
|
76
76
|
// Make sure we always keep the latest option files.
|
|
77
|
-
VerifyOptionsFileName(db, filename_history);
|
|
78
|
-
|
|
77
|
+
VerifyOptionsFileName(db.get(), filename_history);
|
|
78
|
+
db.reset();
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -38,8 +38,8 @@ const std::string kDbName =
|
|
|
38
38
|
|
|
39
39
|
namespace ROCKSDB_NAMESPACE {
|
|
40
40
|
|
|
41
|
-
std::
|
|
42
|
-
DB
|
|
41
|
+
std::unique_ptr<DB> OpenDb(bool read_only = false) {
|
|
42
|
+
std::unique_ptr<DB> db;
|
|
43
43
|
Options options;
|
|
44
44
|
options.create_if_missing = true;
|
|
45
45
|
options.max_open_files = -1;
|
|
@@ -61,7 +61,7 @@ std::shared_ptr<DB> OpenDb(bool read_only = false) {
|
|
|
61
61
|
s = DB::OpenForReadOnly(options, kDbName, &db);
|
|
62
62
|
}
|
|
63
63
|
EXPECT_OK(s);
|
|
64
|
-
return
|
|
64
|
+
return db;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
class PerfContextTest : public testing::Test {};
|
|
@@ -659,12 +659,11 @@ TEST_F(PerfContextTest, ToString) {
|
|
|
659
659
|
|
|
660
660
|
TEST_F(PerfContextTest, MergeOperatorTime) {
|
|
661
661
|
ASSERT_OK(DestroyDB(kDbName, Options()));
|
|
662
|
-
DB
|
|
662
|
+
std::unique_ptr<DB> db;
|
|
663
663
|
Options options;
|
|
664
664
|
options.create_if_missing = true;
|
|
665
665
|
options.merge_operator = MergeOperators::CreateStringAppendOperator();
|
|
666
|
-
|
|
667
|
-
EXPECT_OK(s);
|
|
666
|
+
EXPECT_OK(DB::Open(options, kDbName, &db));
|
|
668
667
|
|
|
669
668
|
std::string val;
|
|
670
669
|
ASSERT_OK(db->Merge(WriteOptions(), "k1", "val1"));
|
|
@@ -704,7 +703,7 @@ TEST_F(PerfContextTest, MergeOperatorTime) {
|
|
|
704
703
|
#endif
|
|
705
704
|
EXPECT_GT(get_perf_context()->merge_operator_time_nanos, 0);
|
|
706
705
|
|
|
707
|
-
|
|
706
|
+
db.reset();
|
|
708
707
|
}
|
|
709
708
|
|
|
710
709
|
TEST_F(PerfContextTest, CopyAndMove) {
|
|
@@ -972,13 +971,12 @@ TEST_F(PerfContextTest, CPUTimer) {
|
|
|
972
971
|
TEST_F(PerfContextTest, MergeOperandCount) {
|
|
973
972
|
ASSERT_OK(DestroyDB(kDbName, Options()));
|
|
974
973
|
|
|
975
|
-
DB* db = nullptr;
|
|
976
974
|
Options options;
|
|
977
975
|
options.create_if_missing = true;
|
|
978
976
|
options.merge_operator = MergeOperators::CreateStringAppendOperator();
|
|
979
977
|
|
|
978
|
+
std::unique_ptr<DB> db;
|
|
980
979
|
ASSERT_OK(DB::Open(options, kDbName, &db));
|
|
981
|
-
std::unique_ptr<DB> db_guard(db);
|
|
982
980
|
|
|
983
981
|
constexpr size_t num_keys = 3;
|
|
984
982
|
const std::string key_prefix("key");
|
|
@@ -1007,7 +1005,7 @@ TEST_F(PerfContextTest, MergeOperandCount) {
|
|
|
1007
1005
|
for (size_t j = 0; j <= i; ++j) {
|
|
1008
1006
|
// Take a snapshot before each Merge so they are preserved and not
|
|
1009
1007
|
// collapsed during flush.
|
|
1010
|
-
snapshots.emplace_back(db);
|
|
1008
|
+
snapshots.emplace_back(db.get());
|
|
1011
1009
|
|
|
1012
1010
|
ASSERT_OK(db->Merge(WriteOptions(), keys[i], value + std::to_string(j)));
|
|
1013
1011
|
}
|
|
@@ -1124,7 +1122,7 @@ TEST_F(PerfContextTest, MergeOperandCount) {
|
|
|
1124
1122
|
TEST_F(PerfContextTest, WriteMemtableTimePerfLevel) {
|
|
1125
1123
|
// Write and check time
|
|
1126
1124
|
ASSERT_OK(DestroyDB(kDbName, Options()));
|
|
1127
|
-
|
|
1125
|
+
auto db = OpenDb();
|
|
1128
1126
|
|
|
1129
1127
|
SetPerfLevel(PerfLevel::kEnableWait);
|
|
1130
1128
|
PerfContext* perf_ctx = get_perf_context();
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include "db/periodic_task_scheduler.h"
|
|
8
8
|
|
|
9
9
|
#include "rocksdb/system_clock.h"
|
|
10
|
+
#include "test_util/sync_point.h"
|
|
10
11
|
|
|
11
12
|
namespace ROCKSDB_NAMESPACE {
|
|
12
13
|
|
|
@@ -26,7 +27,7 @@ static const std::map<PeriodicTaskType, uint64_t> kDefaultPeriodSeconds = {
|
|
|
26
27
|
{PeriodicTaskType::kPersistStats, kInvalidPeriodSec},
|
|
27
28
|
{PeriodicTaskType::kFlushInfoLog, 10},
|
|
28
29
|
{PeriodicTaskType::kRecordSeqnoTime, kInvalidPeriodSec},
|
|
29
|
-
{PeriodicTaskType::kTriggerCompaction,
|
|
30
|
+
{PeriodicTaskType::kTriggerCompaction, kInvalidPeriodSec},
|
|
30
31
|
};
|
|
31
32
|
|
|
32
33
|
static const std::map<PeriodicTaskType, std::string> kPeriodicTaskTypeNames = {
|
|
@@ -85,6 +86,14 @@ Status PeriodicTaskScheduler::Register(PeriodicTaskType task_type,
|
|
|
85
86
|
if (!result.second) {
|
|
86
87
|
return Status::Aborted("Failed to add periodic task");
|
|
87
88
|
}
|
|
89
|
+
#ifndef NDEBUG
|
|
90
|
+
{
|
|
91
|
+
std::pair<PeriodicTaskType, uint64_t> task_info{task_type,
|
|
92
|
+
repeat_period_seconds};
|
|
93
|
+
TEST_SYNC_POINT_CALLBACK("PeriodicTaskScheduler::Register:TaskRegistered",
|
|
94
|
+
&task_info);
|
|
95
|
+
}
|
|
96
|
+
#endif // NDEBUG
|
|
88
97
|
return Status::OK();
|
|
89
98
|
}
|
|
90
99
|
|