@nxtedition/rocksdb 15.4.1 → 16.0.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 +70 -23
- 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 +70 -10
- package/iterator.js +25 -3
- package/max_rev_operator.h +9 -5
- 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
|
@@ -390,8 +390,6 @@ ifdef COMPILE_WITH_TSAN
|
|
|
390
390
|
# Turn off -pg when enabling TSAN testing, because that induces
|
|
391
391
|
# a link failure. TODO: find the root cause
|
|
392
392
|
PROFILING_FLAGS =
|
|
393
|
-
# LUA is not supported under TSAN
|
|
394
|
-
LUA_PATH =
|
|
395
393
|
# Limit keys for crash test under TSAN to avoid error:
|
|
396
394
|
# "ThreadSanitizer: DenseSlabAllocator overflow. Dying."
|
|
397
395
|
CRASH_TEST_EXT_ARGS += --max_key=1000000
|
|
@@ -508,32 +506,6 @@ ifndef DISABLE_WARNING_AS_ERROR
|
|
|
508
506
|
endif
|
|
509
507
|
|
|
510
508
|
|
|
511
|
-
ifdef LUA_PATH
|
|
512
|
-
|
|
513
|
-
ifndef LUA_INCLUDE
|
|
514
|
-
LUA_INCLUDE=$(LUA_PATH)/include
|
|
515
|
-
endif
|
|
516
|
-
|
|
517
|
-
LUA_INCLUDE_FILE=$(LUA_INCLUDE)/lualib.h
|
|
518
|
-
|
|
519
|
-
ifeq ("$(wildcard $(LUA_INCLUDE_FILE))", "")
|
|
520
|
-
# LUA_INCLUDE_FILE does not exist
|
|
521
|
-
$(error Cannot find lualib.h under $(LUA_INCLUDE). Try to specify both LUA_PATH and LUA_INCLUDE manually)
|
|
522
|
-
endif
|
|
523
|
-
LUA_FLAGS = -I$(LUA_INCLUDE) -DLUA -DLUA_COMPAT_ALL
|
|
524
|
-
CFLAGS += $(LUA_FLAGS)
|
|
525
|
-
CXXFLAGS += $(LUA_FLAGS)
|
|
526
|
-
|
|
527
|
-
ifndef LUA_LIB
|
|
528
|
-
LUA_LIB = $(LUA_PATH)/lib/liblua.a
|
|
529
|
-
endif
|
|
530
|
-
ifeq ("$(wildcard $(LUA_LIB))", "") # LUA_LIB does not exist
|
|
531
|
-
$(error $(LUA_LIB) does not exist. Try to specify both LUA_PATH and LUA_LIB manually)
|
|
532
|
-
endif
|
|
533
|
-
EXEC_LDFLAGS += $(LUA_LIB)
|
|
534
|
-
|
|
535
|
-
endif
|
|
536
|
-
|
|
537
509
|
ifeq ($(NO_THREEWAY_CRC32C), 1)
|
|
538
510
|
CXXFLAGS += -DNO_THREEWAY_CRC32C
|
|
539
511
|
endif
|
|
@@ -604,8 +576,8 @@ ifneq ($(filter check-headers, $(MAKECMDGOALS)),)
|
|
|
604
576
|
# TODO: add/support JNI headers
|
|
605
577
|
DEV_HEADER_DIRS := $(sort include/ $(dir $(ALL_SOURCES)))
|
|
606
578
|
# Some headers like in port/ are platform-specific
|
|
607
|
-
DEV_HEADERS_TO_CHECK := $(shell $(FIND) $(DEV_HEADER_DIRS) -type f -name '*.h' | grep -E -v 'port/|plugin/|
|
|
608
|
-
PUBLIC_HEADERS_TO_CHECK := $(shell $(FIND) include/ -type f -name '*.h'
|
|
579
|
+
DEV_HEADERS_TO_CHECK := $(shell $(FIND) $(DEV_HEADER_DIRS) -type f -name '*.h' | grep -E -v 'port/|plugin/|range_tree/|secondary_index/')
|
|
580
|
+
PUBLIC_HEADERS_TO_CHECK := $(shell $(FIND) include/ -type f -name '*.h')
|
|
609
581
|
else
|
|
610
582
|
DEV_HEADERS_TO_CHECK :=
|
|
611
583
|
PUBLIC_HEADERS_TO_CHECK :=
|
|
@@ -655,11 +627,22 @@ ROCKSDBTESTS_SUBSET ?= $(TESTS)
|
|
|
655
627
|
# its various tests. Parallel can fill up your /dev/shm
|
|
656
628
|
# db_bloom_filter_test - serial because excessive space usage by instances
|
|
657
629
|
# of DBFilterConstructionReserveMemoryTestWithParam can fill up /dev/shm
|
|
630
|
+
# perf_context_test - 1GB write_buffer_size default, parallel can fill /dev/shm
|
|
631
|
+
# obsolete_files_test - ~1GB write_buffer_size/target_file_size_base
|
|
632
|
+
# backup_engine_test - 1GB write_buffer_size in FailOverwritingBackups
|
|
633
|
+
# prefetch_test - 1GB write_buffer_size in PrefetchWhenReseek parameterized test
|
|
634
|
+
# db_io_failure_test - 256MB write_buffer_size in FlushSstRangeSyncError and
|
|
635
|
+
# CompactionSstRangeSyncError
|
|
658
636
|
NON_PARALLEL_TEST = \
|
|
659
637
|
c_test \
|
|
660
638
|
env_test \
|
|
661
639
|
deletefile_test \
|
|
662
640
|
db_bloom_filter_test \
|
|
641
|
+
perf_context_test \
|
|
642
|
+
obsolete_files_test \
|
|
643
|
+
backup_engine_test \
|
|
644
|
+
prefetch_test \
|
|
645
|
+
db_io_failure_test \
|
|
663
646
|
$(PLUGIN_TESTS) \
|
|
664
647
|
|
|
665
648
|
PARALLEL_TEST = $(filter-out $(NON_PARALLEL_TEST), $(TESTS))
|
|
@@ -833,7 +816,7 @@ endif # PLATFORM_SHARED_EXT
|
|
|
833
816
|
.PHONY: check clean coverage ldb_tests package dbg gen-pc build_size \
|
|
834
817
|
release tags tags0 valgrind_check format static_lib shared_lib all \
|
|
835
818
|
rocksdbjavastatic rocksdbjava install install-static install-shared \
|
|
836
|
-
uninstall analyze tools tools_lib check-headers checkout_folly
|
|
819
|
+
uninstall analyze tools tools_lib check-headers checkout_folly clang-tidy
|
|
837
820
|
|
|
838
821
|
all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(TESTS)
|
|
839
822
|
|
|
@@ -912,6 +895,9 @@ $(parallel_tests):
|
|
|
912
895
|
"d=\$(TEST_TMPDIR)$$TEST_SCRIPT" \
|
|
913
896
|
'mkdir -p $$d' \
|
|
914
897
|
"TEST_TMPDIR=\$$d $(DRIVER) ./$$TEST_BINARY --gtest_filter=$$TEST_NAME" \
|
|
898
|
+
'test_retcode=$$?' \
|
|
899
|
+
'[ $$test_retcode -eq 0 ] && rm -rf $$d' \
|
|
900
|
+
'exit $$test_retcode' \
|
|
915
901
|
> $$TEST_SCRIPT; \
|
|
916
902
|
chmod a=rx $$TEST_SCRIPT; \
|
|
917
903
|
done
|
|
@@ -1021,9 +1007,19 @@ watch-log:
|
|
|
1021
1007
|
dump-log:
|
|
1022
1008
|
bash -c '$(quoted_perl_command)' < LOG
|
|
1023
1009
|
|
|
1010
|
+
# Machine-parseable progress output for automated monitoring (e.g., Claude Code)
|
|
1011
|
+
# Outputs JSON: {"status":"running","completed":45,"total":100,"failed":0,"percent":45,"eta_seconds":120}
|
|
1012
|
+
check-progress:
|
|
1013
|
+
@build_tools/check_progress.sh
|
|
1014
|
+
|
|
1024
1015
|
# If J != 1 and GNU parallel is installed, run the tests in parallel,
|
|
1025
1016
|
# via the check_0 rule above. Otherwise, run them sequentially.
|
|
1026
1017
|
check: all
|
|
1018
|
+
$(AM_V_at)echo "Cleaning up stale test directories older than 3 hours..."; \
|
|
1019
|
+
test_tmpdir_parent=$$(dirname $(TEST_TMPDIR)); \
|
|
1020
|
+
find $$test_tmpdir_parent -maxdepth 1 -name 'rocksdb.*' -type d \
|
|
1021
|
+
-mmin +180 -exec rm -rf {} + 2>/dev/null; \
|
|
1022
|
+
true
|
|
1027
1023
|
$(MAKE) gen_parallel_tests
|
|
1028
1024
|
$(AM_V_GEN)if test "$(J)" != 1 \
|
|
1029
1025
|
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
|
|
@@ -1232,6 +1228,10 @@ tags0:
|
|
|
1232
1228
|
format:
|
|
1233
1229
|
build_tools/format-diff.sh
|
|
1234
1230
|
|
|
1231
|
+
# Non-interactive format (auto-apply without prompts, for CI/automation/Claude Code)
|
|
1232
|
+
format-auto:
|
|
1233
|
+
build_tools/format-diff.sh -y
|
|
1234
|
+
|
|
1235
1235
|
check-format:
|
|
1236
1236
|
build_tools/format-diff.sh -c
|
|
1237
1237
|
|
|
@@ -1241,6 +1241,15 @@ check-buck-targets:
|
|
|
1241
1241
|
check-sources:
|
|
1242
1242
|
build_tools/check-sources.sh
|
|
1243
1243
|
|
|
1244
|
+
# Run clang-tidy on locally changed files, filtered to changed lines only.
|
|
1245
|
+
# Requires compile_commands.json (generate with cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON).
|
|
1246
|
+
# Override CLANG_TIDY_BINARY and CLANG_TIDY_JOBS as needed:
|
|
1247
|
+
# make clang-tidy CLANG_TIDY_BINARY=/usr/bin/clang-tidy CLANG_TIDY_JOBS=8
|
|
1248
|
+
CLANG_TIDY_BINARY ?= /opt/homebrew/opt/llvm/bin/clang-tidy
|
|
1249
|
+
CLANG_TIDY_JOBS ?= $(shell nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 4)
|
|
1250
|
+
clang-tidy:
|
|
1251
|
+
python3 tools/run_clang_tidy.py --clang-tidy-binary $(CLANG_TIDY_BINARY) -j $(CLANG_TIDY_JOBS)
|
|
1252
|
+
|
|
1244
1253
|
package:
|
|
1245
1254
|
bash build_tools/make_package.sh $(SHARED_MAJOR).$(SHARED_MINOR)
|
|
1246
1255
|
|
|
@@ -1470,6 +1479,9 @@ db_compaction_filter_test: $(OBJ_DIR)/db/db_compaction_filter_test.o $(TEST_LIBR
|
|
|
1470
1479
|
db_compaction_test: $(OBJ_DIR)/db/db_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1471
1480
|
$(AM_LINK)
|
|
1472
1481
|
|
|
1482
|
+
db_compaction_abort_test: $(OBJ_DIR)/db/db_compaction_abort_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1483
|
+
$(AM_LINK)
|
|
1484
|
+
|
|
1473
1485
|
db_clip_test: $(OBJ_DIR)/db/db_clip_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1474
1486
|
$(AM_LINK)
|
|
1475
1487
|
|
|
@@ -1596,6 +1608,12 @@ object_registry_test: $(OBJ_DIR)/utilities/object_registry_test.o $(TEST_LIBRARY
|
|
|
1596
1608
|
ttl_test: $(OBJ_DIR)/utilities/ttl/ttl_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1597
1609
|
$(AM_LINK)
|
|
1598
1610
|
|
|
1611
|
+
trie_index_db_test: $(OBJ_DIR)/utilities/trie_index/trie_index_db_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1612
|
+
$(AM_LINK)
|
|
1613
|
+
|
|
1614
|
+
trie_index_test: $(OBJ_DIR)/utilities/trie_index/trie_index_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1615
|
+
$(AM_LINK)
|
|
1616
|
+
|
|
1599
1617
|
types_util_test: $(OBJ_DIR)/utilities/types_util_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1600
1618
|
$(AM_LINK)
|
|
1601
1619
|
|
|
@@ -1647,6 +1665,9 @@ io_posix_test: $(OBJ_DIR)/env/io_posix_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
|
1647
1665
|
fault_injection_test: $(OBJ_DIR)/db/fault_injection_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1648
1666
|
$(AM_LINK)
|
|
1649
1667
|
|
|
1668
|
+
fault_injection_fs_test: $(OBJ_DIR)/utilities/fault_injection_fs_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1669
|
+
$(AM_LINK)
|
|
1670
|
+
|
|
1650
1671
|
rate_limiter_test: $(OBJ_DIR)/util/rate_limiter_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1651
1672
|
$(AM_LINK)
|
|
1652
1673
|
|
|
@@ -1845,6 +1866,9 @@ write_committed_transaction_ts_test: $(OBJ_DIR)/utilities/transactions/write_com
|
|
|
1845
1866
|
write_prepared_transaction_test: $(OBJ_DIR)/utilities/transactions/write_prepared_transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1846
1867
|
$(AM_LINK)
|
|
1847
1868
|
|
|
1869
|
+
write_prepared_transaction_seqno_test: $(OBJ_DIR)/utilities/transactions/write_prepared_transaction_seqno_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1870
|
+
$(AM_LINK)
|
|
1871
|
+
|
|
1848
1872
|
write_unprepared_transaction_test: $(OBJ_DIR)/utilities/transactions/write_unprepared_transaction_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1849
1873
|
$(AM_LINK)
|
|
1850
1874
|
|
|
@@ -1950,6 +1974,9 @@ blob_source_test: $(OBJ_DIR)/db/blob/blob_source_test.o $(TEST_LIBRARY) $(LIBRAR
|
|
|
1950
1974
|
blob_garbage_meter_test: $(OBJ_DIR)/db/blob/blob_garbage_meter_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1951
1975
|
$(AM_LINK)
|
|
1952
1976
|
|
|
1977
|
+
io_dispatcher_test: $(OBJ_DIR)/util/io_dispatcher_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1978
|
+
$(AM_LINK)
|
|
1979
|
+
|
|
1953
1980
|
timer_test: $(OBJ_DIR)/util/timer_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1954
1981
|
$(AM_LINK)
|
|
1955
1982
|
|
|
@@ -2562,7 +2589,7 @@ list_all_tests:
|
|
|
2562
2589
|
|
|
2563
2590
|
# Remove the rules for which dependencies should not be generated and see if any are left.
|
|
2564
2591
|
#If so, include the dependencies; if not, do not include the dependency files
|
|
2565
|
-
ROCKS_DEP_RULES=$(filter-out clean format check-format check-buck-targets check-headers check-sources jclean jtest package analyze tags rocksdbjavastatic% unity.% unity_test checkout_folly, $(MAKECMDGOALS))
|
|
2592
|
+
ROCKS_DEP_RULES=$(filter-out clean format check-format check-buck-targets check-headers check-sources clang-tidy jclean jtest package analyze tags rocksdbjavastatic% unity.% unity_test checkout_folly, $(MAKECMDGOALS))
|
|
2566
2593
|
ifneq ("$(ROCKS_DEP_RULES)", "")
|
|
2567
2594
|
-include $(DEPFILES)
|
|
2568
2595
|
endif
|
|
@@ -54,11 +54,6 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
54
54
|
{offsetof(struct CompressedSecondaryCacheOptions, compression_type),
|
|
55
55
|
OptionType::kCompressionType, OptionVerificationType::kNormal,
|
|
56
56
|
OptionTypeFlags::kMutable}},
|
|
57
|
-
{"compress_format_version",
|
|
58
|
-
{offsetof(struct CompressedSecondaryCacheOptions,
|
|
59
|
-
compress_format_version),
|
|
60
|
-
OptionType::kUInt32T, OptionVerificationType::kNormal,
|
|
61
|
-
OptionTypeFlags::kMutable}},
|
|
62
57
|
{"enable_custom_split_merge",
|
|
63
58
|
{offsetof(struct CompressedSecondaryCacheOptions,
|
|
64
59
|
enable_custom_split_merge),
|
|
@@ -101,23 +101,23 @@ class CacheEntryStatsCollector {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
// Gets saved stats, regardless of age
|
|
104
|
-
void GetStats(Stats
|
|
104
|
+
void GetStats(Stats* stats) {
|
|
105
105
|
std::lock_guard<std::mutex> lock(saved_mutex_);
|
|
106
106
|
*stats = saved_stats_;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
Cache
|
|
109
|
+
Cache* GetCache() const { return cache_; }
|
|
110
110
|
|
|
111
111
|
// Gets or creates a shared instance of CacheEntryStatsCollector in the
|
|
112
112
|
// cache itself, and saves into `ptr`. This shared_ptr will hold the
|
|
113
113
|
// entry in cache until all refs are destroyed.
|
|
114
|
-
static Status GetShared(Cache
|
|
115
|
-
std::shared_ptr<CacheEntryStatsCollector
|
|
114
|
+
static Status GetShared(Cache* raw_cache, SystemClock* clock,
|
|
115
|
+
std::shared_ptr<CacheEntryStatsCollector>* ptr) {
|
|
116
116
|
assert(raw_cache);
|
|
117
117
|
BasicTypedCacheInterface<CacheEntryStatsCollector, CacheEntryRole::kMisc>
|
|
118
118
|
cache{raw_cache};
|
|
119
119
|
|
|
120
|
-
const Slice
|
|
120
|
+
const Slice& cache_key = GetCacheKey();
|
|
121
121
|
auto h = cache.Lookup(cache_key);
|
|
122
122
|
if (h == nullptr) {
|
|
123
123
|
// Not yet in cache, but Cache doesn't provide a built-in way to
|
|
@@ -152,7 +152,7 @@ class CacheEntryStatsCollector {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
private:
|
|
155
|
-
explicit CacheEntryStatsCollector(Cache
|
|
155
|
+
explicit CacheEntryStatsCollector(Cache* cache, SystemClock* clock)
|
|
156
156
|
: saved_stats_(),
|
|
157
157
|
working_stats_(),
|
|
158
158
|
last_start_time_micros_(0),
|
|
@@ -160,7 +160,7 @@ class CacheEntryStatsCollector {
|
|
|
160
160
|
cache_(cache),
|
|
161
161
|
clock_(clock) {}
|
|
162
162
|
|
|
163
|
-
static const Slice
|
|
163
|
+
static const Slice& GetCacheKey() {
|
|
164
164
|
// For each template instantiation
|
|
165
165
|
static CacheKey ckey = CacheKey::CreateUniqueForProcessLifetime();
|
|
166
166
|
static Slice ckey_slice = ckey.AsSlice();
|
|
@@ -175,8 +175,8 @@ class CacheEntryStatsCollector {
|
|
|
175
175
|
uint64_t last_start_time_micros_;
|
|
176
176
|
uint64_t last_end_time_micros_;
|
|
177
177
|
|
|
178
|
-
Cache
|
|
179
|
-
SystemClock
|
|
178
|
+
Cache* const cache_;
|
|
179
|
+
SystemClock* const clock_;
|
|
180
180
|
};
|
|
181
181
|
|
|
182
182
|
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -24,7 +24,7 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
24
24
|
// 0 | >= 1<<63 | CreateUniqueForProcessLifetime
|
|
25
25
|
// > 0 | any | OffsetableCacheKey.WithOffset
|
|
26
26
|
|
|
27
|
-
CacheKey CacheKey::CreateUniqueForCacheLifetime(Cache
|
|
27
|
+
CacheKey CacheKey::CreateUniqueForCacheLifetime(Cache* cache) {
|
|
28
28
|
// +1 so that we can reserve all zeros for "unset" cache key
|
|
29
29
|
uint64_t id = cache->NewId() + 1;
|
|
30
30
|
// Ensure we don't collide with CreateUniqueForProcessLifetime
|
|
@@ -297,8 +297,8 @@ CacheKey CacheKey::CreateUniqueForProcessLifetime() {
|
|
|
297
297
|
//
|
|
298
298
|
// TODO: Nevertheless / regardless, an efficient way to detect (and thus
|
|
299
299
|
// quantify) block cache corruptions, including collisions, should be added.
|
|
300
|
-
OffsetableCacheKey::OffsetableCacheKey(const std::string
|
|
301
|
-
const std::string
|
|
300
|
+
OffsetableCacheKey::OffsetableCacheKey(const std::string& db_id,
|
|
301
|
+
const std::string& db_session_id,
|
|
302
302
|
uint64_t file_number) {
|
|
303
303
|
UniqueId64x2 internal_id;
|
|
304
304
|
Status s = GetSstInternalUniqueId(db_id, db_session_id, file_number,
|
|
@@ -44,13 +44,13 @@ class CacheKey {
|
|
|
44
44
|
inline Slice AsSlice() const {
|
|
45
45
|
static_assert(sizeof(*this) == 16, "Standardized on 16-byte cache key");
|
|
46
46
|
assert(!IsEmpty());
|
|
47
|
-
return Slice(reinterpret_cast<const char
|
|
47
|
+
return Slice(reinterpret_cast<const char*>(this), sizeof(*this));
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
// Create a CacheKey that is unique among others associated with this Cache
|
|
51
51
|
// instance. Depends on Cache::NewId. This is useful for block cache
|
|
52
52
|
// "reservations".
|
|
53
|
-
static CacheKey CreateUniqueForCacheLifetime(Cache
|
|
53
|
+
static CacheKey CreateUniqueForCacheLifetime(Cache* cache);
|
|
54
54
|
|
|
55
55
|
// Create a CacheKey that is unique among others for the lifetime of this
|
|
56
56
|
// process. This is useful for saving in a static data member so that
|
|
@@ -87,7 +87,7 @@ class OffsetableCacheKey : private CacheKey {
|
|
|
87
87
|
|
|
88
88
|
// Constructs an OffsetableCacheKey with the given information about a file.
|
|
89
89
|
// This constructor never generates an "empty" base key.
|
|
90
|
-
OffsetableCacheKey(const std::string
|
|
90
|
+
OffsetableCacheKey(const std::string& db_id, const std::string& db_session_id,
|
|
91
91
|
uint64_t file_number);
|
|
92
92
|
|
|
93
93
|
// Creates an OffsetableCacheKey from an SST unique ID, so that cache keys
|
|
@@ -134,9 +134,9 @@ class OffsetableCacheKey : private CacheKey {
|
|
|
134
134
|
static_assert(sizeof(file_num_etc64_) == kCommonPrefixSize,
|
|
135
135
|
"8 byte common prefix expected");
|
|
136
136
|
assert(!IsEmpty());
|
|
137
|
-
assert(&this->file_num_etc64_ == static_cast<const void
|
|
137
|
+
assert(&this->file_num_etc64_ == static_cast<const void*>(this));
|
|
138
138
|
|
|
139
|
-
return Slice(reinterpret_cast<const char
|
|
139
|
+
return Slice(reinterpret_cast<const char*>(this), kCommonPrefixSize);
|
|
140
140
|
}
|
|
141
141
|
};
|
|
142
142
|
|
|
@@ -44,8 +44,8 @@ class CacheReservationManager {
|
|
|
44
44
|
bool increase) = 0;
|
|
45
45
|
virtual Status MakeCacheReservation(
|
|
46
46
|
std::size_t incremental_memory_used,
|
|
47
|
-
std::unique_ptr<CacheReservationManager::CacheReservationHandle
|
|
48
|
-
|
|
47
|
+
std::unique_ptr<CacheReservationManager::CacheReservationHandle>*
|
|
48
|
+
handle) = 0;
|
|
49
49
|
virtual std::size_t GetTotalReservedCacheSize() = 0;
|
|
50
50
|
virtual std::size_t GetTotalMemoryUsed() = 0;
|
|
51
51
|
};
|
|
@@ -90,11 +90,11 @@ class CacheReservationManagerImpl
|
|
|
90
90
|
bool delayed_decrease = false);
|
|
91
91
|
|
|
92
92
|
// no copy constructor, copy assignment, move constructor, move assignment
|
|
93
|
-
CacheReservationManagerImpl(const CacheReservationManagerImpl
|
|
94
|
-
CacheReservationManagerImpl
|
|
93
|
+
CacheReservationManagerImpl(const CacheReservationManagerImpl&) = delete;
|
|
94
|
+
CacheReservationManagerImpl& operator=(const CacheReservationManagerImpl&) =
|
|
95
95
|
delete;
|
|
96
|
-
CacheReservationManagerImpl(CacheReservationManagerImpl
|
|
97
|
-
CacheReservationManagerImpl
|
|
96
|
+
CacheReservationManagerImpl(CacheReservationManagerImpl&&) = delete;
|
|
97
|
+
CacheReservationManagerImpl& operator=(CacheReservationManagerImpl&&) =
|
|
98
98
|
delete;
|
|
99
99
|
|
|
100
100
|
~CacheReservationManagerImpl() override;
|
|
@@ -178,7 +178,7 @@ class CacheReservationManagerImpl
|
|
|
178
178
|
// REQUIRES: handle != nullptr
|
|
179
179
|
Status MakeCacheReservation(
|
|
180
180
|
std::size_t incremental_memory_used,
|
|
181
|
-
std::unique_ptr<CacheReservationManager::CacheReservationHandle
|
|
181
|
+
std::unique_ptr<CacheReservationManager::CacheReservationHandle>* handle)
|
|
182
182
|
override;
|
|
183
183
|
|
|
184
184
|
// Return the size of the cache (which is a multiple of kSizeDummyEntry)
|
|
@@ -200,7 +200,7 @@ class CacheReservationManagerImpl
|
|
|
200
200
|
// For testing only - it is to help ensure the CacheItemHelperForRole<R>
|
|
201
201
|
// accessed from CacheReservationManagerImpl and the one accessed from the
|
|
202
202
|
// test are from the same translation units
|
|
203
|
-
static const Cache::CacheItemHelper
|
|
203
|
+
static const Cache::CacheItemHelper* TEST_GetCacheItemHelperForRole();
|
|
204
204
|
|
|
205
205
|
private:
|
|
206
206
|
static constexpr std::size_t kSizeDummyEntry = 256 * 1024;
|
|
@@ -216,7 +216,7 @@ class CacheReservationManagerImpl
|
|
|
216
216
|
bool delayed_decrease_;
|
|
217
217
|
std::atomic<std::size_t> cache_allocated_size_;
|
|
218
218
|
std::size_t memory_used_;
|
|
219
|
-
std::vector<Cache::Handle
|
|
219
|
+
std::vector<Cache::Handle*> dummy_handles_;
|
|
220
220
|
CacheKey cache_key_;
|
|
221
221
|
};
|
|
222
222
|
|
|
@@ -251,14 +251,14 @@ class ConcurrentCacheReservationManager
|
|
|
251
251
|
std::shared_ptr<CacheReservationManager> cache_res_mgr) {
|
|
252
252
|
cache_res_mgr_ = std::move(cache_res_mgr);
|
|
253
253
|
}
|
|
254
|
-
ConcurrentCacheReservationManager(const ConcurrentCacheReservationManager
|
|
254
|
+
ConcurrentCacheReservationManager(const ConcurrentCacheReservationManager&) =
|
|
255
255
|
delete;
|
|
256
|
-
ConcurrentCacheReservationManager
|
|
257
|
-
const ConcurrentCacheReservationManager
|
|
258
|
-
ConcurrentCacheReservationManager(ConcurrentCacheReservationManager
|
|
256
|
+
ConcurrentCacheReservationManager& operator=(
|
|
257
|
+
const ConcurrentCacheReservationManager&) = delete;
|
|
258
|
+
ConcurrentCacheReservationManager(ConcurrentCacheReservationManager&&) =
|
|
259
259
|
delete;
|
|
260
|
-
ConcurrentCacheReservationManager
|
|
261
|
-
ConcurrentCacheReservationManager
|
|
260
|
+
ConcurrentCacheReservationManager& operator=(
|
|
261
|
+
ConcurrentCacheReservationManager&&) = delete;
|
|
262
262
|
|
|
263
263
|
~ConcurrentCacheReservationManager() override {}
|
|
264
264
|
|
|
@@ -286,7 +286,7 @@ class ConcurrentCacheReservationManager
|
|
|
286
286
|
|
|
287
287
|
inline Status MakeCacheReservation(
|
|
288
288
|
std::size_t incremental_memory_used,
|
|
289
|
-
std::unique_ptr<CacheReservationManager::CacheReservationHandle
|
|
289
|
+
std::unique_ptr<CacheReservationManager::CacheReservationHandle>* handle)
|
|
290
290
|
override {
|
|
291
291
|
std::unique_ptr<CacheReservationManager::CacheReservationHandle>
|
|
292
292
|
wrapped_handle;
|
|
@@ -644,7 +644,7 @@ using TypedHandle = SharedCache::TypedHandle;
|
|
|
644
644
|
|
|
645
645
|
TEST_P(CacheTest, SetCapacity) {
|
|
646
646
|
if (IsHyperClock()) {
|
|
647
|
-
// TODO: update test & code for limited
|
|
647
|
+
// TODO: update test & code for limited support
|
|
648
648
|
ROCKSDB_GTEST_BYPASS(
|
|
649
649
|
"HyperClockCache doesn't support arbitrary capacity "
|
|
650
650
|
"adjustments.");
|