@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
|
@@ -46,7 +46,7 @@ class CheckpointTest : public testing::Test {
|
|
|
46
46
|
std::string dbname_;
|
|
47
47
|
std::string alternative_wal_dir_;
|
|
48
48
|
Env* env_;
|
|
49
|
-
DB
|
|
49
|
+
std::unique_ptr<DB> db_;
|
|
50
50
|
Options last_options_;
|
|
51
51
|
std::vector<ColumnFamilyHandle*> handles_;
|
|
52
52
|
std::string snapshot_name_;
|
|
@@ -65,7 +65,7 @@ class CheckpointTest : public testing::Test {
|
|
|
65
65
|
EXPECT_OK(DestroyDB(dbname_, delete_options));
|
|
66
66
|
// Destroy it for not alternative WAL dir is used.
|
|
67
67
|
EXPECT_OK(DestroyDB(dbname_, options));
|
|
68
|
-
db_
|
|
68
|
+
db_.reset();
|
|
69
69
|
snapshot_name_ = test::PerThreadDBPath(env_, "snapshot");
|
|
70
70
|
std::string snapshot_tmp_name = snapshot_name_ + ".tmp";
|
|
71
71
|
EXPECT_OK(DestroyDB(snapshot_name_, options));
|
|
@@ -102,6 +102,8 @@ class CheckpointTest : public testing::Test {
|
|
|
102
102
|
DestroyDir(env_, export_path_).PermitUncheckedError();
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
DBImpl* dbfull() { return static_cast_with_check<DBImpl>(db_.get()); }
|
|
106
|
+
|
|
105
107
|
// Return the current option configuration.
|
|
106
108
|
Options CurrentOptions() {
|
|
107
109
|
Options options;
|
|
@@ -170,8 +172,7 @@ class CheckpointTest : public testing::Test {
|
|
|
170
172
|
delete h;
|
|
171
173
|
}
|
|
172
174
|
handles_.clear();
|
|
173
|
-
|
|
174
|
-
db_ = nullptr;
|
|
175
|
+
db_.reset();
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
void DestroyAndReopen(const Options& options) {
|
|
@@ -268,14 +269,12 @@ class CheckpointTest : public testing::Test {
|
|
|
268
269
|
TEST_F(CheckpointTest, GetSnapshotLink) {
|
|
269
270
|
for (uint64_t log_size_for_flush : {0, 1000000}) {
|
|
270
271
|
Options options;
|
|
271
|
-
DB* snapshotDB;
|
|
272
272
|
ReadOptions roptions;
|
|
273
273
|
std::string result;
|
|
274
274
|
Checkpoint* checkpoint;
|
|
275
275
|
|
|
276
276
|
options = CurrentOptions();
|
|
277
|
-
|
|
278
|
-
db_ = nullptr;
|
|
277
|
+
db_.reset();
|
|
279
278
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
280
279
|
|
|
281
280
|
// Create a database
|
|
@@ -284,7 +283,7 @@ TEST_F(CheckpointTest, GetSnapshotLink) {
|
|
|
284
283
|
std::string key = std::string("foo");
|
|
285
284
|
ASSERT_OK(Put(key, "v1"));
|
|
286
285
|
// Take a snapshot
|
|
287
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
286
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
288
287
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_, log_size_for_flush));
|
|
289
288
|
ASSERT_OK(Put(key, "v2"));
|
|
290
289
|
ASSERT_EQ("v2", Get(key));
|
|
@@ -292,13 +291,12 @@ TEST_F(CheckpointTest, GetSnapshotLink) {
|
|
|
292
291
|
ASSERT_EQ("v2", Get(key));
|
|
293
292
|
// Open snapshot and verify contents while DB is running
|
|
294
293
|
options.create_if_missing = false;
|
|
294
|
+
std::unique_ptr<DB> snapshotDB;
|
|
295
295
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshotDB));
|
|
296
296
|
ASSERT_OK(snapshotDB->Get(roptions, key, &result));
|
|
297
297
|
ASSERT_EQ("v1", result);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
delete db_;
|
|
301
|
-
db_ = nullptr;
|
|
298
|
+
snapshotDB.reset();
|
|
299
|
+
db_.reset();
|
|
302
300
|
|
|
303
301
|
// Destroy original DB
|
|
304
302
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
@@ -308,8 +306,7 @@ TEST_F(CheckpointTest, GetSnapshotLink) {
|
|
|
308
306
|
dbname_ = snapshot_name_;
|
|
309
307
|
ASSERT_OK(DB::Open(options, dbname_, &db_));
|
|
310
308
|
ASSERT_EQ("v1", Get(key));
|
|
311
|
-
|
|
312
|
-
db_ = nullptr;
|
|
309
|
+
db_.reset();
|
|
313
310
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
314
311
|
delete checkpoint;
|
|
315
312
|
|
|
@@ -335,7 +332,7 @@ TEST_F(CheckpointTest, CheckpointWithBlob) {
|
|
|
335
332
|
|
|
336
333
|
// Create a checkpoint
|
|
337
334
|
Checkpoint* checkpoint = nullptr;
|
|
338
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
335
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
339
336
|
|
|
340
337
|
std::unique_ptr<Checkpoint> checkpoint_guard(checkpoint);
|
|
341
338
|
|
|
@@ -360,11 +357,9 @@ TEST_F(CheckpointTest, CheckpointWithBlob) {
|
|
|
360
357
|
|
|
361
358
|
// Make sure the checkpoint can be opened and the blob value read
|
|
362
359
|
options.create_if_missing = false;
|
|
363
|
-
DB
|
|
360
|
+
std::unique_ptr<DB> checkpoint_db;
|
|
364
361
|
ASSERT_OK(DB::Open(options, snapshot_name_, &checkpoint_db));
|
|
365
362
|
|
|
366
|
-
std::unique_ptr<DB> checkpoint_db_guard(checkpoint_db);
|
|
367
|
-
|
|
368
363
|
PinnableSlice value;
|
|
369
364
|
ASSERT_OK(checkpoint_db->Get(
|
|
370
365
|
ReadOptions(), checkpoint_db->DefaultColumnFamily(), key, &value));
|
|
@@ -393,7 +388,7 @@ TEST_F(CheckpointTest, ExportColumnFamilyWithLinks) {
|
|
|
393
388
|
ASSERT_OK(Put(key, "v1"));
|
|
394
389
|
|
|
395
390
|
Checkpoint* checkpoint;
|
|
396
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
391
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
397
392
|
|
|
398
393
|
// Export the Tables and verify
|
|
399
394
|
ASSERT_OK(checkpoint->ExportColumnFamily(db_->DefaultColumnFamily(),
|
|
@@ -427,7 +422,7 @@ TEST_F(CheckpointTest, ExportColumnFamilyWithLinks) {
|
|
|
427
422
|
ASSERT_OK(db_->Put(WriteOptions(), cfh_reverse_comp_, key, "v1"));
|
|
428
423
|
|
|
429
424
|
Checkpoint* checkpoint;
|
|
430
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
425
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
431
426
|
|
|
432
427
|
// Export the Tables and verify
|
|
433
428
|
ASSERT_OK(checkpoint->ExportColumnFamily(cfh_reverse_comp_, export_path_,
|
|
@@ -439,6 +434,28 @@ TEST_F(CheckpointTest, ExportColumnFamilyWithLinks) {
|
|
|
439
434
|
}
|
|
440
435
|
}
|
|
441
436
|
|
|
437
|
+
TEST_F(CheckpointTest, ExportEmptyColumnFamily) {
|
|
438
|
+
// Verify that exporting a column family with no levels (empty CF) does not
|
|
439
|
+
// leak the allocated ExportImportFilesMetaData and correctly sets *metadata.
|
|
440
|
+
auto options = CurrentOptions();
|
|
441
|
+
options.create_if_missing = true;
|
|
442
|
+
CreateAndReopenWithCF({}, options);
|
|
443
|
+
|
|
444
|
+
// Do NOT put any data — the default CF has no levels.
|
|
445
|
+
|
|
446
|
+
Checkpoint* checkpoint;
|
|
447
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
448
|
+
|
|
449
|
+
ASSERT_OK(checkpoint->ExportColumnFamily(db_->DefaultColumnFamily(),
|
|
450
|
+
export_path_, &metadata_));
|
|
451
|
+
// metadata_ must be set even when the CF has no files.
|
|
452
|
+
ASSERT_NE(metadata_, nullptr);
|
|
453
|
+
ASSERT_EQ(metadata_->files.size(), 0);
|
|
454
|
+
ASSERT_EQ(metadata_->db_comparator_name, options.comparator->Name());
|
|
455
|
+
|
|
456
|
+
delete checkpoint;
|
|
457
|
+
}
|
|
458
|
+
|
|
442
459
|
TEST_F(CheckpointTest, ExportColumnFamilyNegativeTest) {
|
|
443
460
|
// Create a database
|
|
444
461
|
auto options = CurrentOptions();
|
|
@@ -449,7 +466,7 @@ TEST_F(CheckpointTest, ExportColumnFamilyNegativeTest) {
|
|
|
449
466
|
ASSERT_OK(Put(key, "v1"));
|
|
450
467
|
|
|
451
468
|
Checkpoint* checkpoint;
|
|
452
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
469
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
453
470
|
|
|
454
471
|
// Export onto existing directory
|
|
455
472
|
ASSERT_OK(env_->CreateDirIfMissing(export_path_));
|
|
@@ -482,7 +499,6 @@ TEST_F(CheckpointTest, CheckpointCF) {
|
|
|
482
499
|
ASSERT_OK(Put(4, "four", "four"));
|
|
483
500
|
ASSERT_OK(Put(5, "five", "five"));
|
|
484
501
|
|
|
485
|
-
DB* snapshotDB;
|
|
486
502
|
ReadOptions roptions;
|
|
487
503
|
std::string result;
|
|
488
504
|
std::vector<ColumnFamilyHandle*> cphandles;
|
|
@@ -490,7 +506,7 @@ TEST_F(CheckpointTest, CheckpointCF) {
|
|
|
490
506
|
// Take a snapshot
|
|
491
507
|
ROCKSDB_NAMESPACE::port::Thread t([&]() {
|
|
492
508
|
Checkpoint* checkpoint;
|
|
493
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
509
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
494
510
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
495
511
|
delete checkpoint;
|
|
496
512
|
});
|
|
@@ -519,6 +535,7 @@ TEST_F(CheckpointTest, CheckpointCF) {
|
|
|
519
535
|
for (size_t i = 0; i < cfs.size(); ++i) {
|
|
520
536
|
column_families.emplace_back(cfs[i], options);
|
|
521
537
|
}
|
|
538
|
+
std::unique_ptr<DB> snapshotDB;
|
|
522
539
|
ASSERT_OK(DB::Open(options, snapshot_name_, column_families, &cphandles,
|
|
523
540
|
&snapshotDB));
|
|
524
541
|
ASSERT_OK(snapshotDB->Get(roptions, cphandles[0], "Default", &result));
|
|
@@ -530,8 +547,7 @@ TEST_F(CheckpointTest, CheckpointCF) {
|
|
|
530
547
|
delete h;
|
|
531
548
|
}
|
|
532
549
|
cphandles.clear();
|
|
533
|
-
|
|
534
|
-
snapshotDB = nullptr;
|
|
550
|
+
snapshotDB.reset();
|
|
535
551
|
}
|
|
536
552
|
|
|
537
553
|
TEST_F(CheckpointTest, CheckpointCFNoFlush) {
|
|
@@ -545,7 +561,6 @@ TEST_F(CheckpointTest, CheckpointCFNoFlush) {
|
|
|
545
561
|
ASSERT_OK(Flush());
|
|
546
562
|
ASSERT_OK(Put(2, "two", "two"));
|
|
547
563
|
|
|
548
|
-
DB* snapshotDB;
|
|
549
564
|
ReadOptions roptions;
|
|
550
565
|
std::string result;
|
|
551
566
|
std::vector<ColumnFamilyHandle*> cphandles;
|
|
@@ -558,7 +573,7 @@ TEST_F(CheckpointTest, CheckpointCFNoFlush) {
|
|
|
558
573
|
});
|
|
559
574
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
560
575
|
Checkpoint* checkpoint;
|
|
561
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
576
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
562
577
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_, 1000000));
|
|
563
578
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
|
|
564
579
|
|
|
@@ -577,6 +592,7 @@ TEST_F(CheckpointTest, CheckpointCFNoFlush) {
|
|
|
577
592
|
for (size_t i = 0; i < cfs.size(); ++i) {
|
|
578
593
|
column_families.emplace_back(cfs[i], options);
|
|
579
594
|
}
|
|
595
|
+
std::unique_ptr<DB> snapshotDB;
|
|
580
596
|
ASSERT_OK(DB::Open(options, snapshot_name_, column_families, &cphandles,
|
|
581
597
|
&snapshotDB));
|
|
582
598
|
ASSERT_OK(snapshotDB->Get(roptions, cphandles[0], "Default", &result));
|
|
@@ -589,8 +605,7 @@ TEST_F(CheckpointTest, CheckpointCFNoFlush) {
|
|
|
589
605
|
delete h;
|
|
590
606
|
}
|
|
591
607
|
cphandles.clear();
|
|
592
|
-
|
|
593
|
-
snapshotDB = nullptr;
|
|
608
|
+
snapshotDB.reset();
|
|
594
609
|
}
|
|
595
610
|
|
|
596
611
|
TEST_F(CheckpointTest, CurrentFileModifiedWhileCheckpointing) {
|
|
@@ -615,7 +630,7 @@ TEST_F(CheckpointTest, CurrentFileModifiedWhileCheckpointing) {
|
|
|
615
630
|
|
|
616
631
|
ROCKSDB_NAMESPACE::port::Thread t([&]() {
|
|
617
632
|
Checkpoint* checkpoint;
|
|
618
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
633
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
619
634
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
620
635
|
delete checkpoint;
|
|
621
636
|
});
|
|
@@ -627,12 +642,10 @@ TEST_F(CheckpointTest, CurrentFileModifiedWhileCheckpointing) {
|
|
|
627
642
|
|
|
628
643
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
|
|
629
644
|
|
|
630
|
-
DB* snapshotDB;
|
|
631
645
|
// Successful Open() implies that CURRENT pointed to the manifest in the
|
|
632
646
|
// checkpoint.
|
|
647
|
+
std::unique_ptr<DB> snapshotDB;
|
|
633
648
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshotDB));
|
|
634
|
-
delete snapshotDB;
|
|
635
|
-
snapshotDB = nullptr;
|
|
636
649
|
}
|
|
637
650
|
|
|
638
651
|
TEST_F(CheckpointTest, CurrentFileModifiedWhileCheckpointing2PC) {
|
|
@@ -752,7 +765,7 @@ TEST_F(CheckpointTest, CurrentFileModifiedWhileCheckpointing2PC) {
|
|
|
752
765
|
TEST_F(CheckpointTest, CheckpointInvalidDirectoryName) {
|
|
753
766
|
for (std::string checkpoint_dir : {"", "/", "////"}) {
|
|
754
767
|
Checkpoint* checkpoint;
|
|
755
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
768
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
756
769
|
ASSERT_TRUE(
|
|
757
770
|
checkpoint->CreateCheckpoint(checkpoint_dir).IsInvalidArgument());
|
|
758
771
|
delete checkpoint;
|
|
@@ -765,7 +778,7 @@ TEST_F(CheckpointTest, CheckpointWithParallelWrites) {
|
|
|
765
778
|
ASSERT_OK(Put("key1", "val1"));
|
|
766
779
|
port::Thread thread([this]() { ASSERT_OK(Put("key2", "val2")); });
|
|
767
780
|
Checkpoint* checkpoint;
|
|
768
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
781
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
769
782
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
770
783
|
delete checkpoint;
|
|
771
784
|
thread.join();
|
|
@@ -816,24 +829,24 @@ TEST_P(CheckpointTestWithWalParams, CheckpointWithUnsyncedDataDropped) {
|
|
|
816
829
|
// * one active WAL, not synced
|
|
817
830
|
// with a single thread, so that we have at least one that can be hard
|
|
818
831
|
// linked, etc.
|
|
819
|
-
ASSERT_OK(
|
|
820
|
-
ASSERT_OK(
|
|
832
|
+
ASSERT_OK(dbfull()->PauseBackgroundWork());
|
|
833
|
+
ASSERT_OK(dbfull()->TEST_SwitchMemtable());
|
|
821
834
|
ASSERT_OK(db_->SyncWAL());
|
|
822
835
|
}
|
|
823
836
|
ASSERT_OK(Put("key2", "val2"));
|
|
824
837
|
if (GetLogSizeForFlush() > 0) {
|
|
825
|
-
ASSERT_OK(
|
|
838
|
+
ASSERT_OK(dbfull()->TEST_SwitchMemtable());
|
|
826
839
|
}
|
|
827
840
|
ASSERT_OK(Put("key3", "val3"));
|
|
828
841
|
Checkpoint* checkpoint;
|
|
829
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
842
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
830
843
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_, GetLogSizeForFlush()));
|
|
831
844
|
delete checkpoint;
|
|
832
845
|
ASSERT_OK(fault_fs->DropUnsyncedFileData());
|
|
833
846
|
// make sure it's openable even though whatever data that wasn't synced got
|
|
834
847
|
// dropped.
|
|
835
848
|
options.env = env_;
|
|
836
|
-
DB
|
|
849
|
+
std::unique_ptr<DB> snapshot_db;
|
|
837
850
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshot_db));
|
|
838
851
|
ReadOptions read_opts;
|
|
839
852
|
std::string get_result;
|
|
@@ -843,9 +856,8 @@ TEST_P(CheckpointTestWithWalParams, CheckpointWithUnsyncedDataDropped) {
|
|
|
843
856
|
ASSERT_EQ("val2", get_result);
|
|
844
857
|
ASSERT_OK(snapshot_db->Get(read_opts, "key3", &get_result));
|
|
845
858
|
ASSERT_EQ("val3", get_result);
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
db_ = nullptr;
|
|
859
|
+
snapshot_db.reset();
|
|
860
|
+
db_.reset();
|
|
849
861
|
}
|
|
850
862
|
|
|
851
863
|
TEST_F(CheckpointTest, CheckpointReadOnlyDB) {
|
|
@@ -855,18 +867,17 @@ TEST_F(CheckpointTest, CheckpointReadOnlyDB) {
|
|
|
855
867
|
Options options = CurrentOptions();
|
|
856
868
|
ASSERT_OK(ReadOnlyReopen(options));
|
|
857
869
|
Checkpoint* checkpoint = nullptr;
|
|
858
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
870
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
859
871
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
860
872
|
delete checkpoint;
|
|
861
873
|
checkpoint = nullptr;
|
|
862
874
|
Close();
|
|
863
|
-
DB
|
|
875
|
+
std::unique_ptr<DB> snapshot_db;
|
|
864
876
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshot_db));
|
|
865
877
|
ReadOptions read_opts;
|
|
866
878
|
std::string get_result;
|
|
867
879
|
ASSERT_OK(snapshot_db->Get(read_opts, "foo", &get_result));
|
|
868
880
|
ASSERT_EQ("foo_value", get_result);
|
|
869
|
-
delete snapshot_db;
|
|
870
881
|
}
|
|
871
882
|
|
|
872
883
|
TEST_F(CheckpointTest, CheckpointWithLockWAL) {
|
|
@@ -876,7 +887,7 @@ TEST_F(CheckpointTest, CheckpointWithLockWAL) {
|
|
|
876
887
|
ASSERT_OK(db_->LockWAL());
|
|
877
888
|
|
|
878
889
|
Checkpoint* checkpoint = nullptr;
|
|
879
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
890
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
880
891
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
881
892
|
delete checkpoint;
|
|
882
893
|
checkpoint = nullptr;
|
|
@@ -884,13 +895,12 @@ TEST_F(CheckpointTest, CheckpointWithLockWAL) {
|
|
|
884
895
|
ASSERT_OK(db_->UnlockWAL());
|
|
885
896
|
Close();
|
|
886
897
|
|
|
887
|
-
DB
|
|
898
|
+
std::unique_ptr<DB> snapshot_db;
|
|
888
899
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshot_db));
|
|
889
900
|
ReadOptions read_opts;
|
|
890
901
|
std::string get_result;
|
|
891
902
|
ASSERT_OK(snapshot_db->Get(read_opts, "foo", &get_result));
|
|
892
903
|
ASSERT_EQ("foo_value", get_result);
|
|
893
|
-
delete snapshot_db;
|
|
894
904
|
}
|
|
895
905
|
|
|
896
906
|
TEST_F(CheckpointTest, CheckpointReadOnlyDBWithMultipleColumnFamilies) {
|
|
@@ -905,7 +915,7 @@ TEST_F(CheckpointTest, CheckpointReadOnlyDBWithMultipleColumnFamilies) {
|
|
|
905
915
|
{kDefaultColumnFamilyName, "pikachu", "eevee"}, options);
|
|
906
916
|
ASSERT_OK(s);
|
|
907
917
|
Checkpoint* checkpoint = nullptr;
|
|
908
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
918
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
909
919
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
910
920
|
delete checkpoint;
|
|
911
921
|
checkpoint = nullptr;
|
|
@@ -915,7 +925,7 @@ TEST_F(CheckpointTest, CheckpointReadOnlyDBWithMultipleColumnFamilies) {
|
|
|
915
925
|
{kDefaultColumnFamilyName, options},
|
|
916
926
|
{"pikachu", options},
|
|
917
927
|
{"eevee", options}};
|
|
918
|
-
DB
|
|
928
|
+
std::unique_ptr<DB> snapshot_db;
|
|
919
929
|
std::vector<ColumnFamilyHandle*> snapshot_handles;
|
|
920
930
|
s = DB::Open(options, snapshot_name_, column_families, &snapshot_handles,
|
|
921
931
|
&snapshot_db);
|
|
@@ -932,7 +942,6 @@ TEST_F(CheckpointTest, CheckpointReadOnlyDBWithMultipleColumnFamilies) {
|
|
|
932
942
|
delete snapshot_h;
|
|
933
943
|
}
|
|
934
944
|
snapshot_handles.clear();
|
|
935
|
-
delete snapshot_db;
|
|
936
945
|
}
|
|
937
946
|
|
|
938
947
|
TEST_F(CheckpointTest, CheckpointWithDbPath) {
|
|
@@ -942,7 +951,7 @@ TEST_F(CheckpointTest, CheckpointWithDbPath) {
|
|
|
942
951
|
ASSERT_OK(Put("key1", "val1"));
|
|
943
952
|
ASSERT_OK(Flush());
|
|
944
953
|
Checkpoint* checkpoint;
|
|
945
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
954
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
946
955
|
// Currently not supported
|
|
947
956
|
ASSERT_TRUE(checkpoint->CreateCheckpoint(snapshot_name_).IsNotSupported());
|
|
948
957
|
delete checkpoint;
|
|
@@ -964,7 +973,7 @@ TEST_F(CheckpointTest, CheckpointWithArchievedLog) {
|
|
|
964
973
|
ASSERT_OK(Put("key2", std::string(1024, 'a')));
|
|
965
974
|
|
|
966
975
|
Checkpoint* checkpoint;
|
|
967
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
976
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
968
977
|
TEST_SYNC_POINT("CheckpointTest:CheckpointWithArchievedLog");
|
|
969
978
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_, 1024 * 1024));
|
|
970
979
|
// unflushed log size < 1024 * 1024 < total file size including archived log,
|
|
@@ -973,7 +982,7 @@ TEST_F(CheckpointTest, CheckpointWithArchievedLog) {
|
|
|
973
982
|
delete checkpoint;
|
|
974
983
|
checkpoint = nullptr;
|
|
975
984
|
|
|
976
|
-
DB
|
|
985
|
+
std::unique_ptr<DB> snapshot_db;
|
|
977
986
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshot_db));
|
|
978
987
|
ReadOptions read_opts;
|
|
979
988
|
std::string get_result;
|
|
@@ -982,7 +991,6 @@ TEST_F(CheckpointTest, CheckpointWithArchievedLog) {
|
|
|
982
991
|
get_result.clear();
|
|
983
992
|
ASSERT_OK(snapshot_db->Get(read_opts, "key2", &get_result));
|
|
984
993
|
ASSERT_EQ(std::string(1024, 'a'), get_result);
|
|
985
|
-
delete snapshot_db;
|
|
986
994
|
}
|
|
987
995
|
|
|
988
996
|
class CheckpointDestroyTest : public CheckpointTest,
|
|
@@ -1013,7 +1021,7 @@ TEST_P(CheckpointDestroyTest, DisableEnableSlowDeletion) {
|
|
|
1013
1021
|
ASSERT_EQ(NumTableFilesAtLevel(1), 2);
|
|
1014
1022
|
|
|
1015
1023
|
Checkpoint* checkpoint;
|
|
1016
|
-
ASSERT_OK(Checkpoint::Create(db_, &checkpoint));
|
|
1024
|
+
ASSERT_OK(Checkpoint::Create(db_.get(), &checkpoint));
|
|
1017
1025
|
ASSERT_OK(checkpoint->CreateCheckpoint(snapshot_name_));
|
|
1018
1026
|
|
|
1019
1027
|
delete checkpoint;
|
|
@@ -1023,7 +1031,7 @@ TEST_P(CheckpointDestroyTest, DisableEnableSlowDeletion) {
|
|
|
1023
1031
|
ASSERT_EQ(NumTableFilesAtLevel(0), 0);
|
|
1024
1032
|
ASSERT_EQ(NumTableFilesAtLevel(1), 2);
|
|
1025
1033
|
|
|
1026
|
-
DB
|
|
1034
|
+
std::unique_ptr<DB> snapshot_db;
|
|
1027
1035
|
ASSERT_OK(DB::Open(options, snapshot_name_, &snapshot_db));
|
|
1028
1036
|
ReadOptions read_opts;
|
|
1029
1037
|
std::string get_result;
|
|
@@ -1031,11 +1039,10 @@ TEST_P(CheckpointDestroyTest, DisableEnableSlowDeletion) {
|
|
|
1031
1039
|
ASSERT_EQ("a", get_result);
|
|
1032
1040
|
ASSERT_OK(snapshot_db->Get(read_opts, "bar", &get_result));
|
|
1033
1041
|
ASSERT_EQ("val9", get_result);
|
|
1034
|
-
|
|
1042
|
+
snapshot_db.reset();
|
|
1035
1043
|
|
|
1036
1044
|
// Make sure original obsolete files for hard linked files are all deleted.
|
|
1037
|
-
|
|
1038
|
-
db_impl->TEST_DeleteObsoleteFiles();
|
|
1045
|
+
dbfull()->TEST_DeleteObsoleteFiles();
|
|
1039
1046
|
auto sfm = static_cast_with_check<SstFileManagerImpl>(
|
|
1040
1047
|
options.sst_file_manager.get());
|
|
1041
1048
|
ASSERT_NE(nullptr, sfm);
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "db/db_impl/db_impl.h"
|
|
9
9
|
#include "rocksdb/utilities/options_type.h"
|
|
10
|
+
#include "util/cast_util.h"
|
|
10
11
|
|
|
11
12
|
namespace ROCKSDB_NAMESPACE {
|
|
12
13
|
|
|
@@ -77,7 +78,7 @@ Status GetAllKeyVersions(DB* db, ColumnFamilyHandle* cfh, OptSlice begin_key,
|
|
|
77
78
|
}
|
|
78
79
|
key_versions->clear();
|
|
79
80
|
|
|
80
|
-
DBImpl* idb =
|
|
81
|
+
DBImpl* idb = static_cast_with_check<DBImpl>(db->GetRootDB());
|
|
81
82
|
auto icmp = InternalKeyComparator(idb->GetOptions(cfh).comparator);
|
|
82
83
|
ReadOptions read_options;
|
|
83
84
|
Arena arena;
|