@nxtedition/rocksdb 15.4.1 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +24 -15
- package/deps/rocksdb/rocksdb/.clang-tidy +86 -0
- package/deps/rocksdb/rocksdb/BUCK +42 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +11 -0
- package/deps/rocksdb/rocksdb/Makefile +59 -32
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -5
- package/deps/rocksdb/rocksdb/cache/cache_entry_stats.h +9 -9
- package/deps/rocksdb/rocksdb/cache/cache_key.cc +3 -3
- package/deps/rocksdb/rocksdb/cache/cache_key.h +5 -5
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +16 -16
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +258 -294
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +98 -49
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +1 -5
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +18 -18
- package/deps/rocksdb/rocksdb/crash_test.mk +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +23 -22
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +6 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +14 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +38 -26
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +101 -18
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +12 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +6 -9
- package/deps/rocksdb/rocksdb/db/builder.cc +23 -0
- package/deps/rocksdb/rocksdb/db/builder.h +7 -0
- package/deps/rocksdb/rocksdb/db/c.cc +373 -57
- package/deps/rocksdb/rocksdb/db/c_test.c +101 -1
- package/deps/rocksdb/rocksdb/db/column_family.cc +31 -3
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +10 -13
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +35 -48
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +13 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +201 -39
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +15 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +2 -455
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +4 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +19 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +72 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +405 -83
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +25 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +23 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +1410 -106
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +12 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +19 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +505 -45
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +9 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +7 -9
- package/deps/rocksdb/rocksdb/db/convenience.cc +4 -4
- package/deps/rocksdb/rocksdb/db/convenience_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +60 -88
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +10 -12
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +471 -40
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +116 -2
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +5 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_abort_test.cc +993 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +329 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +155 -13
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +54 -31
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +232 -70
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +57 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +224 -31
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +4 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +164 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +47 -35
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +22 -9
- package/deps/rocksdb/rocksdb/db/db_iter.cc +9 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +371 -6
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +7 -5
- package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +22 -23
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +40 -0
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +32 -13
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +68 -15
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +2 -3
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -21
- package/deps/rocksdb/rocksdb/db/db_test.cc +644 -128
- package/deps/rocksdb/rocksdb/db/db_test2.cc +198 -81
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +35 -10
- package/deps/rocksdb/rocksdb/db/db_test_util.h +8 -2
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +36 -32
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +11 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +499 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +284 -20
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/dbformat.h +0 -5
- package/deps/rocksdb/rocksdb/db/error_handler.cc +24 -0
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +12 -14
- package/deps/rocksdb/rocksdb/db/experimental.cc +13 -10
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +22 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +21 -15
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +4 -6
- package/deps/rocksdb/rocksdb/db/flush_job.cc +11 -3
- package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +5 -6
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +4 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +17 -17
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +154 -27
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/memtable.cc +197 -51
- package/deps/rocksdb/rocksdb/db/memtable.h +6 -0
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/merge_test.cc +37 -35
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/options_file_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +9 -11
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +10 -1
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +292 -15
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +10 -17
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +6 -8
- package/deps/rocksdb/rocksdb/db/repair.cc +10 -10
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/table_cache.cc +142 -135
- package/deps/rocksdb/rocksdb/db/table_cache.h +30 -6
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_builder.cc +11 -50
- package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/version_edit.cc +51 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +91 -29
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -7
- package/deps/rocksdb/rocksdb/db/version_set.cc +211 -50
- package/deps/rocksdb/rocksdb/db/version_set.h +40 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +5 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +294 -21
- package/deps/rocksdb/rocksdb/db/version_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/version_util.h +24 -0
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +647 -31
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +219 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +549 -12
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +19 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +21 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +32 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +74 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +9 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -61
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +15 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +76 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +92 -72
- package/deps/rocksdb/rocksdb/env/env.cc +1 -0
- package/deps/rocksdb/rocksdb/env/env_test.cc +365 -2
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +31 -30
- package/deps/rocksdb/rocksdb/env/io_posix.cc +8 -11
- package/deps/rocksdb/rocksdb/env/io_posix.h +30 -1
- package/deps/rocksdb/rocksdb/env/io_posix_test.cc +43 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +108 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +32 -4
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +4 -4
- package/deps/rocksdb/rocksdb/file/file_util.cc +8 -2
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -1
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +331 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +52 -35
- package/deps/rocksdb/rocksdb/folly.mk +22 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +100 -54
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +67 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +149 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +78 -97
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/functor_wrapper.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/io_dispatcher.h +358 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +43 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +20 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +63 -21
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +10 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +2 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +49 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +77 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +16 -10
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/user_defined_index.h +106 -46
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +2 -2
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +226 -8
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +490 -0
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +3 -3
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +11 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +4 -12
- package/deps/rocksdb/rocksdb/microbench/ribbon_bench.cc +5 -5
- package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +21 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +9 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +21 -2
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +21 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -2
- package/deps/rocksdb/rocksdb/options/db_options.cc +26 -5
- package/deps/rocksdb/rocksdb/options/db_options.h +3 -1
- package/deps/rocksdb/rocksdb/options/options.cc +5 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +7 -2
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +109 -103
- package/deps/rocksdb/rocksdb/options/options_test.cc +14 -0
- package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +15 -17
- package/deps/rocksdb/rocksdb/port/lang.h +4 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +0 -23
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +36 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.h +9 -0
- package/deps/rocksdb/rocksdb/src.mk +12 -0
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +571 -292
- package/deps/rocksdb/rocksdb/table/block_based/block.h +143 -53
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +154 -90
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +5 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +51 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +147 -734
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +30 -233
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +178 -108
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +17 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +5 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +70 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +168 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +9 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +548 -169
- package/deps/rocksdb/rocksdb/table/block_based/block_type.h +30 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_util.h +156 -0
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.cc +73 -30
- package/deps/rocksdb/rocksdb/table/block_based/data_block_footer.h +74 -7
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +20 -14
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +22 -12
- package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.cc +332 -0
- package/deps/rocksdb/rocksdb/table/block_based/multi_scan_index_iterator.h +133 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +4 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/user_defined_index_wrapper.h +126 -46
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +31 -3
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +3 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +25 -4
- package/deps/rocksdb/rocksdb/table/format.cc +27 -15
- package/deps/rocksdb/rocksdb/table/format.h +41 -15
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +22 -12
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +7 -21
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +88 -13
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +53 -42
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -12
- package/deps/rocksdb/rocksdb/table/table_builder.h +0 -4
- package/deps/rocksdb/rocksdb/table/table_properties.cc +18 -0
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +2 -3
- package/deps/rocksdb/rocksdb/table/table_test.cc +848 -172
- package/deps/rocksdb/rocksdb/table/unique_id.cc +24 -20
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +8 -8
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +5 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +2 -2
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +238 -120
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +2 -4
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +4 -8
- package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +2 -3
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +82 -20
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +41 -47
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +9 -0
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +5 -6
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +6 -5
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +1 -3
- package/deps/rocksdb/rocksdb/util/atomic.h +30 -23
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.cc +6 -7
- package/deps/rocksdb/rocksdb/util/auto_tune_compressor.h +3 -3
- package/deps/rocksdb/rocksdb/util/bit_fields.h +68 -46
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +16 -16
- package/deps/rocksdb/rocksdb/util/coding.h +14 -27
- package/deps/rocksdb/rocksdb/util/compression.cc +365 -207
- package/deps/rocksdb/rocksdb/util/compression.h +16 -1298
- package/deps/rocksdb/rocksdb/util/compression_test.cc +347 -61
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +8 -9
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +1 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +3 -3
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +18 -18
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +3 -3
- package/deps/rocksdb/rocksdb/util/hash_test.cc +19 -7
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.cc +1099 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_imp.h +36 -0
- package/deps/rocksdb/rocksdb/util/io_dispatcher_test.cc +1919 -0
- package/deps/rocksdb/rocksdb/util/math.h +3 -1
- package/deps/rocksdb/rocksdb/util/mutexlock.h +19 -19
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +25 -25
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +5 -7
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +4 -5
- package/deps/rocksdb/rocksdb/util/slice.cc +0 -10
- package/deps/rocksdb/rocksdb/util/slice_test.cc +35 -1
- package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +5 -7
- package/deps/rocksdb/rocksdb/util/status.cc +3 -1
- package/deps/rocksdb/rocksdb/util/stop_watch.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +123 -78
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +12 -93
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +0 -21
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +6 -48
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +94 -307
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +12 -58
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +2 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +2 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +205 -811
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +18 -9
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +2 -7
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +1 -9
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +17 -11
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +68 -61
- package/deps/rocksdb/rocksdb/utilities/debug.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +105 -59
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +274 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs_test.cc +94 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +13 -17
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +16 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +25 -25
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +40 -40
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +2 -5
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +17 -19
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +4 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_seqno_test.cc +431 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +91 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.cc +562 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/bitvector.h +615 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.cc +2575 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/louds_trie.h +685 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_db_test.cc +2843 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.cc +567 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_factory.h +275 -0
- package/deps/rocksdb/rocksdb/utilities/trie_index/trie_index_test.cc +5183 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +3 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +93 -88
- package/deps/rocksdb/rocksdb.gyp +7 -0
- package/iterator.js +2 -2
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
|
@@ -95,6 +95,14 @@ class SubcompactionState {
|
|
|
95
95
|
proximal_level_outputs_.RemoveLastEmptyOutput();
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
// Cleanup output builders for abandoning in-progress files.
|
|
99
|
+
void CleanupOutputs() {
|
|
100
|
+
compaction_outputs_.Cleanup();
|
|
101
|
+
if (compaction->SupportsPerKeyPlacement()) {
|
|
102
|
+
proximal_level_outputs_.Cleanup();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
98
106
|
void BuildSubcompactionJobInfo(
|
|
99
107
|
SubcompactionJobInfo& subcompaction_job_info) const {
|
|
100
108
|
const Compaction* c = compaction;
|
|
@@ -162,7 +170,7 @@ class SubcompactionState {
|
|
|
162
170
|
}
|
|
163
171
|
}
|
|
164
172
|
|
|
165
|
-
void Cleanup(Cache* cache);
|
|
173
|
+
void Cleanup(Cache* cache, const Status& overall_status);
|
|
166
174
|
|
|
167
175
|
void AggregateCompactionOutputStats(
|
|
168
176
|
InternalStats::CompactionStatsFull& internal_stats) const;
|
|
@@ -1717,8 +1717,8 @@ TEST_P(PrecludeLastLevelTest, MigrationFromPreserveTimePartial) {
|
|
|
1717
1717
|
ASSERT_EQ("0,0,0,0,0,0,1", FilesPerLevel());
|
|
1718
1718
|
|
|
1719
1719
|
std::vector<KeyVersion> key_versions;
|
|
1720
|
-
ASSERT_OK(GetAllKeyVersions(
|
|
1721
|
-
|
|
1720
|
+
ASSERT_OK(GetAllKeyVersions(
|
|
1721
|
+
db_.get(), {}, {}, std::numeric_limits<size_t>::max(), &key_versions));
|
|
1722
1722
|
|
|
1723
1723
|
// make sure there're more than 300 keys and first 100 keys are having seqno
|
|
1724
1724
|
// zeroed out, the last 100 key seqno not zeroed out
|
|
@@ -2319,8 +2319,8 @@ TEST_P(PrecludeLastLevelTest, LastLevelOnlyCompactionPartial) {
|
|
|
2319
2319
|
ASSERT_GT(GetSstSizeHelper(Temperature::kUnknown), 0);
|
|
2320
2320
|
|
|
2321
2321
|
std::vector<KeyVersion> key_versions;
|
|
2322
|
-
ASSERT_OK(GetAllKeyVersions(
|
|
2323
|
-
|
|
2322
|
+
ASSERT_OK(GetAllKeyVersions(
|
|
2323
|
+
db_.get(), {}, {}, std::numeric_limits<size_t>::max(), &key_versions));
|
|
2324
2324
|
|
|
2325
2325
|
// make sure there're more than 300 keys and first 100 keys are having seqno
|
|
2326
2326
|
// zeroed out, the last 100 key seqno not zeroed out
|
|
@@ -258,12 +258,12 @@ class ComparatorDBTest
|
|
|
258
258
|
private:
|
|
259
259
|
std::string dbname_;
|
|
260
260
|
Env* env_;
|
|
261
|
-
DB
|
|
261
|
+
std::unique_ptr<DB> db_;
|
|
262
262
|
Options last_options_;
|
|
263
263
|
std::unique_ptr<const Comparator> comparator_guard;
|
|
264
264
|
|
|
265
265
|
public:
|
|
266
|
-
ComparatorDBTest() : env_(Env::Default())
|
|
266
|
+
ComparatorDBTest() : env_(Env::Default()) {
|
|
267
267
|
kTestComparator = BytewiseComparator();
|
|
268
268
|
dbname_ = test::PerThreadDBPath("comparator_db_test");
|
|
269
269
|
BlockBasedTableOptions toptions;
|
|
@@ -274,12 +274,12 @@ class ComparatorDBTest
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
~ComparatorDBTest() override {
|
|
277
|
-
|
|
277
|
+
db_.reset();
|
|
278
278
|
EXPECT_OK(DestroyDB(dbname_, last_options_));
|
|
279
279
|
kTestComparator = BytewiseComparator();
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
-
DB* GetDB() { return db_; }
|
|
282
|
+
DB* GetDB() { return db_.get(); }
|
|
283
283
|
|
|
284
284
|
void SetOwnedComparator(const Comparator* cmp, bool owner = true) {
|
|
285
285
|
if (owner) {
|
|
@@ -301,14 +301,12 @@ class ComparatorDBTest
|
|
|
301
301
|
}
|
|
302
302
|
|
|
303
303
|
void Destroy() {
|
|
304
|
-
|
|
305
|
-
db_ = nullptr;
|
|
304
|
+
db_.reset();
|
|
306
305
|
ASSERT_OK(DestroyDB(dbname_, last_options_));
|
|
307
306
|
}
|
|
308
307
|
|
|
309
308
|
Status TryReopen() {
|
|
310
|
-
|
|
311
|
-
db_ = nullptr;
|
|
309
|
+
db_.reset();
|
|
312
310
|
last_options_.create_if_missing = true;
|
|
313
311
|
|
|
314
312
|
return DB::Open(last_options_, dbname_, &db_);
|
|
@@ -318,7 +316,7 @@ class ComparatorDBTest
|
|
|
318
316
|
INSTANTIATE_TEST_CASE_P(FormatDef, ComparatorDBTest,
|
|
319
317
|
testing::Values(test::kDefaultFormatVersion));
|
|
320
318
|
INSTANTIATE_TEST_CASE_P(FormatLatest, ComparatorDBTest,
|
|
321
|
-
testing::Values(
|
|
319
|
+
testing::Values(kLatestBbtFormatVersion));
|
|
322
320
|
|
|
323
321
|
TEST_P(ComparatorDBTest, Bytewise) {
|
|
324
322
|
for (int rand_seed = 301; rand_seed < 306; rand_seed++) {
|
|
@@ -65,7 +65,7 @@ Status VerifySstFileChecksum(const Options& options,
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
Status VerifySstFileChecksumInternal(const Options& options,
|
|
68
|
-
const
|
|
68
|
+
const FileOptions& file_options,
|
|
69
69
|
const ReadOptions& read_options,
|
|
70
70
|
const std::string& file_path,
|
|
71
71
|
const SequenceNumber& largest_seqno) {
|
|
@@ -74,8 +74,8 @@ Status VerifySstFileChecksumInternal(const Options& options,
|
|
|
74
74
|
InternalKeyComparator internal_comparator(options.comparator);
|
|
75
75
|
ImmutableOptions ioptions(options);
|
|
76
76
|
|
|
77
|
-
Status s =
|
|
78
|
-
file_path,
|
|
77
|
+
Status s =
|
|
78
|
+
ioptions.fs->NewRandomAccessFile(file_path, file_options, &file, nullptr);
|
|
79
79
|
if (s.ok()) {
|
|
80
80
|
s = ioptions.fs->GetFileSize(file_path, IOOptions(), &file_size, nullptr);
|
|
81
81
|
} else {
|
|
@@ -94,7 +94,7 @@ Status VerifySstFileChecksumInternal(const Options& options,
|
|
|
94
94
|
const bool kImmortal = true;
|
|
95
95
|
auto reader_options = TableReaderOptions(
|
|
96
96
|
ioptions, options.prefix_extractor, options.compression_manager.get(),
|
|
97
|
-
|
|
97
|
+
file_options, internal_comparator, options.block_protection_bytes_per_key,
|
|
98
98
|
false /* skip_filters */, !kImmortal, false /* force_direct_prefetch */,
|
|
99
99
|
-1 /* level */);
|
|
100
100
|
reader_options.largest_seqno = largest_seqno;
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
#pragma once
|
|
7
7
|
#include "rocksdb/db.h"
|
|
8
|
+
#include "rocksdb/file_system.h"
|
|
8
9
|
|
|
9
10
|
namespace ROCKSDB_NAMESPACE {
|
|
10
11
|
Status VerifySstFileChecksumInternal(const Options& options,
|
|
11
|
-
const
|
|
12
|
+
const FileOptions& file_options,
|
|
12
13
|
const ReadOptions& read_options,
|
|
13
14
|
const std::string& file_path,
|
|
14
15
|
const SequenceNumber& largest_seqno = 0);
|
|
@@ -73,7 +73,7 @@ class CorruptionTest : public testing::Test {
|
|
|
73
73
|
std::string dbname_;
|
|
74
74
|
std::shared_ptr<Cache> tiny_cache_;
|
|
75
75
|
Options options_;
|
|
76
|
-
DB
|
|
76
|
+
std::unique_ptr<DB> db_;
|
|
77
77
|
|
|
78
78
|
CorruptionTest() {
|
|
79
79
|
// If LRU cache shard bit is smaller than 2 (or -1 which will automatically
|
|
@@ -105,8 +105,7 @@ class CorruptionTest : public testing::Test {
|
|
|
105
105
|
SyncPoint::GetInstance()->DisableProcessing();
|
|
106
106
|
SyncPoint::GetInstance()->LoadDependency({});
|
|
107
107
|
SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
108
|
-
|
|
109
|
-
db_ = nullptr;
|
|
108
|
+
db_.reset();
|
|
110
109
|
if (getenv("KEEP_DB")) {
|
|
111
110
|
fprintf(stdout, "db is still at %s\n", dbname_.c_str());
|
|
112
111
|
} else {
|
|
@@ -116,14 +115,12 @@ class CorruptionTest : public testing::Test {
|
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
|
|
119
|
-
void CloseDb() {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
118
|
+
void CloseDb() { db_.reset(); }
|
|
119
|
+
|
|
120
|
+
DBImpl* dbfull() { return static_cast_with_check<DBImpl>(db_.get()); }
|
|
123
121
|
|
|
124
122
|
Status TryReopen(Options* options = nullptr) {
|
|
125
|
-
|
|
126
|
-
db_ = nullptr;
|
|
123
|
+
db_.reset();
|
|
127
124
|
Options opt = (options ? *options : options_);
|
|
128
125
|
if (opt.env == Options().env) {
|
|
129
126
|
// If env is not overridden, replace it with ErrorEnv.
|
|
@@ -141,8 +138,7 @@ class CorruptionTest : public testing::Test {
|
|
|
141
138
|
void Reopen(Options* options = nullptr) { ASSERT_OK(TryReopen(options)); }
|
|
142
139
|
|
|
143
140
|
void RepairDB() {
|
|
144
|
-
|
|
145
|
-
db_ = nullptr;
|
|
141
|
+
db_.reset();
|
|
146
142
|
ASSERT_OK(::ROCKSDB_NAMESPACE::RepairDB(dbname_, options_));
|
|
147
143
|
}
|
|
148
144
|
|
|
@@ -151,8 +147,7 @@ class CorruptionTest : public testing::Test {
|
|
|
151
147
|
WriteBatch batch;
|
|
152
148
|
for (int i = 0; i < n; i++) {
|
|
153
149
|
if (flush_every != 0 && i != 0 && i % flush_every == 0) {
|
|
154
|
-
|
|
155
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
150
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
156
151
|
}
|
|
157
152
|
// if ((i % 100) == 0) fprintf(stderr, "@ %d of %d\n", i, n);
|
|
158
153
|
Slice key = Key(i + start, &key_space);
|
|
@@ -436,14 +431,14 @@ TEST_F(CorruptionTest, NewFileErrorDuringWrite) {
|
|
|
436
431
|
|
|
437
432
|
TEST_F(CorruptionTest, TableFile) {
|
|
438
433
|
Build(100);
|
|
439
|
-
DBImpl* dbi =
|
|
434
|
+
DBImpl* dbi = dbfull();
|
|
440
435
|
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
441
436
|
ASSERT_OK(dbi->TEST_CompactRange(0, nullptr, nullptr));
|
|
442
437
|
ASSERT_OK(dbi->TEST_CompactRange(1, nullptr, nullptr));
|
|
443
438
|
|
|
444
439
|
Corrupt(kTableFile, 100, 1);
|
|
445
440
|
Check(99, 99);
|
|
446
|
-
ASSERT_NOK(
|
|
441
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
447
442
|
}
|
|
448
443
|
|
|
449
444
|
TEST_F(CorruptionTest, VerifyChecksumReadahead) {
|
|
@@ -460,14 +455,14 @@ TEST_F(CorruptionTest, VerifyChecksumReadahead) {
|
|
|
460
455
|
Reopen(&options);
|
|
461
456
|
|
|
462
457
|
Build(10000);
|
|
463
|
-
DBImpl* dbi =
|
|
458
|
+
DBImpl* dbi = dbfull();
|
|
464
459
|
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
465
460
|
ASSERT_OK(dbi->TEST_CompactRange(0, nullptr, nullptr));
|
|
466
461
|
ASSERT_OK(dbi->TEST_CompactRange(1, nullptr, nullptr));
|
|
467
462
|
|
|
468
463
|
senv.count_random_reads_ = true;
|
|
469
464
|
senv.random_read_counter_.Reset();
|
|
470
|
-
ASSERT_OK(
|
|
465
|
+
ASSERT_OK(db_->VerifyChecksum());
|
|
471
466
|
|
|
472
467
|
// Make sure the counter is enabled.
|
|
473
468
|
ASSERT_GT(senv.random_read_counter_.Read(), 0);
|
|
@@ -480,7 +475,7 @@ TEST_F(CorruptionTest, VerifyChecksumReadahead) {
|
|
|
480
475
|
senv.random_read_bytes_counter_ = 0;
|
|
481
476
|
ReadOptions ro;
|
|
482
477
|
ro.readahead_size = size_t{32 * 1024};
|
|
483
|
-
ASSERT_OK(
|
|
478
|
+
ASSERT_OK(db_->VerifyChecksum(ro));
|
|
484
479
|
// The SST file is about 10MB. We set readahead size to 32KB.
|
|
485
480
|
// Give 0 to 20 reads for metadata blocks, and allow real read
|
|
486
481
|
// to range from 24KB to 48KB. The lower bound would be:
|
|
@@ -494,8 +489,7 @@ TEST_F(CorruptionTest, VerifyChecksumReadahead) {
|
|
|
494
489
|
// disabled).
|
|
495
490
|
options.allow_mmap_reads = true;
|
|
496
491
|
Reopen(&options);
|
|
497
|
-
|
|
498
|
-
ASSERT_OK(dbi->VerifyChecksum(ro));
|
|
492
|
+
ASSERT_OK(db_->VerifyChecksum(ro));
|
|
499
493
|
|
|
500
494
|
CloseDb();
|
|
501
495
|
}
|
|
@@ -508,18 +502,16 @@ TEST_F(CorruptionTest, TableFileIndexData) {
|
|
|
508
502
|
Reopen(&options);
|
|
509
503
|
// build 2 tables, flush at 5000
|
|
510
504
|
Build(10000, 5000);
|
|
511
|
-
|
|
512
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
505
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
513
506
|
|
|
514
507
|
// corrupt an index block of an entire file
|
|
515
508
|
Corrupt(kTableFile, -2000, 500);
|
|
516
509
|
options.paranoid_checks = false;
|
|
517
510
|
Reopen(&options);
|
|
518
|
-
dbi = static_cast_with_check<DBImpl>(db_);
|
|
519
511
|
// one full file may be readable, since only one was corrupted
|
|
520
512
|
// the other file should be fully non-readable, since index was corrupted
|
|
521
513
|
Check(0, 5000, ReadOptions(true, true));
|
|
522
|
-
ASSERT_NOK(
|
|
514
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
523
515
|
|
|
524
516
|
// In paranoid mode, the db cannot be opened due to the corrupted file.
|
|
525
517
|
ASSERT_TRUE(TryReopen().IsCorruption());
|
|
@@ -527,8 +519,7 @@ TEST_F(CorruptionTest, TableFileIndexData) {
|
|
|
527
519
|
|
|
528
520
|
TEST_F(CorruptionTest, TableFileFooterMagic) {
|
|
529
521
|
Build(100);
|
|
530
|
-
|
|
531
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
522
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
532
523
|
Check(100, 100);
|
|
533
524
|
// Corrupt the whole footer
|
|
534
525
|
Corrupt(kTableFile, -100, 100);
|
|
@@ -543,8 +534,7 @@ TEST_F(CorruptionTest, TableFileFooterMagic) {
|
|
|
543
534
|
|
|
544
535
|
TEST_F(CorruptionTest, TableFileFooterNotMagic) {
|
|
545
536
|
Build(100);
|
|
546
|
-
|
|
547
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
537
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
548
538
|
Check(100, 100);
|
|
549
539
|
// Corrupt footer except magic number
|
|
550
540
|
Corrupt(kTableFile, -100, 92);
|
|
@@ -579,8 +569,7 @@ TEST_F(CorruptionTest, DBOpenWithWrongFileSize) {
|
|
|
579
569
|
for (auto* cfh : cfhs) {
|
|
580
570
|
delete cfh;
|
|
581
571
|
}
|
|
582
|
-
|
|
583
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
572
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
584
573
|
|
|
585
574
|
// ********************************************
|
|
586
575
|
// Corrupt the file by making the file bigger
|
|
@@ -601,7 +590,8 @@ TEST_F(CorruptionTest, DBOpenWithWrongFileSize) {
|
|
|
601
590
|
// true
|
|
602
591
|
options_.paranoid_checks = true;
|
|
603
592
|
std::vector<ColumnFamilyHandle*> cfhs;
|
|
604
|
-
|
|
593
|
+
Status s;
|
|
594
|
+
s = DB::Open(options_, dbname_, cf_descs, &cfhs, &db_);
|
|
605
595
|
ASSERT_TRUE(s.IsCorruption());
|
|
606
596
|
ASSERT_TRUE(s.ToString().find("file size mismatch") != std::string::npos);
|
|
607
597
|
|
|
@@ -626,8 +616,7 @@ TEST_F(CorruptionTest, DBOpenWithWrongFileSize) {
|
|
|
626
616
|
|
|
627
617
|
TEST_F(CorruptionTest, TableFileWrongSize) {
|
|
628
618
|
Build(100);
|
|
629
|
-
|
|
630
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
619
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
631
620
|
Check(100, 100);
|
|
632
621
|
|
|
633
622
|
// ********************************************
|
|
@@ -710,12 +699,11 @@ TEST_F(CorruptionTest, SequenceNumberRecovery) {
|
|
|
710
699
|
|
|
711
700
|
TEST_F(CorruptionTest, CorruptedDescriptor) {
|
|
712
701
|
ASSERT_OK(db_->Put(WriteOptions(), "foo", "hello"));
|
|
713
|
-
|
|
714
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
702
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
715
703
|
CompactRangeOptions cro;
|
|
716
704
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
717
705
|
ASSERT_OK(
|
|
718
|
-
|
|
706
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr));
|
|
719
707
|
|
|
720
708
|
Corrupt(kDescriptorFile, 0, 1000);
|
|
721
709
|
Status s = TryReopen();
|
|
@@ -734,7 +722,7 @@ TEST_F(CorruptionTest, CompactionInputError) {
|
|
|
734
722
|
options.env = env_.get();
|
|
735
723
|
Reopen(&options);
|
|
736
724
|
Build(10);
|
|
737
|
-
DBImpl* dbi =
|
|
725
|
+
DBImpl* dbi = dbfull();
|
|
738
726
|
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
739
727
|
ASSERT_OK(dbi->TEST_CompactRange(0, nullptr, nullptr));
|
|
740
728
|
ASSERT_OK(dbi->TEST_CompactRange(1, nullptr, nullptr));
|
|
@@ -742,12 +730,12 @@ TEST_F(CorruptionTest, CompactionInputError) {
|
|
|
742
730
|
|
|
743
731
|
Corrupt(kTableFile, 100, 1);
|
|
744
732
|
Check(9, 9);
|
|
745
|
-
ASSERT_NOK(
|
|
733
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
746
734
|
|
|
747
735
|
// Force compactions by writing lots of values
|
|
748
736
|
Build(10000);
|
|
749
737
|
Check(10000, 10000);
|
|
750
|
-
ASSERT_NOK(
|
|
738
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
751
739
|
}
|
|
752
740
|
|
|
753
741
|
TEST_F(CorruptionTest, CompactionInputErrorParanoid) {
|
|
@@ -758,14 +746,14 @@ TEST_F(CorruptionTest, CompactionInputErrorParanoid) {
|
|
|
758
746
|
options.write_buffer_size = 131072;
|
|
759
747
|
options.max_write_buffer_number = 2;
|
|
760
748
|
Reopen(&options);
|
|
761
|
-
DBImpl* dbi =
|
|
749
|
+
DBImpl* dbi = dbfull();
|
|
762
750
|
|
|
763
751
|
// Fill levels >= 1
|
|
764
|
-
for (int level = 1; level <
|
|
765
|
-
ASSERT_OK(
|
|
766
|
-
ASSERT_OK(
|
|
752
|
+
for (int level = 1; level < db_->NumberLevels(); level++) {
|
|
753
|
+
ASSERT_OK(db_->Put(WriteOptions(), "", "begin"));
|
|
754
|
+
ASSERT_OK(db_->Put(WriteOptions(), "~", "end"));
|
|
767
755
|
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
768
|
-
for (int comp_level = 0; comp_level <
|
|
756
|
+
for (int comp_level = 0; comp_level < db_->NumberLevels() - level;
|
|
769
757
|
++comp_level) {
|
|
770
758
|
ASSERT_OK(dbi->TEST_CompactRange(comp_level, nullptr, nullptr));
|
|
771
759
|
}
|
|
@@ -773,7 +761,7 @@ TEST_F(CorruptionTest, CompactionInputErrorParanoid) {
|
|
|
773
761
|
|
|
774
762
|
Reopen(&options);
|
|
775
763
|
|
|
776
|
-
dbi =
|
|
764
|
+
dbi = dbfull();
|
|
777
765
|
Build(10);
|
|
778
766
|
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
779
767
|
ASSERT_OK(dbi->TEST_WaitForCompact());
|
|
@@ -781,7 +769,7 @@ TEST_F(CorruptionTest, CompactionInputErrorParanoid) {
|
|
|
781
769
|
|
|
782
770
|
CorruptTableFileAtLevel(0, 100, 1);
|
|
783
771
|
Check(9, 9);
|
|
784
|
-
ASSERT_NOK(
|
|
772
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
785
773
|
|
|
786
774
|
// Write must eventually fail because of corrupted table
|
|
787
775
|
Status s;
|
|
@@ -800,17 +788,16 @@ TEST_F(CorruptionTest, CompactionInputErrorParanoid) {
|
|
|
800
788
|
|
|
801
789
|
TEST_F(CorruptionTest, UnrelatedKeys) {
|
|
802
790
|
Build(10);
|
|
803
|
-
|
|
804
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
791
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
805
792
|
Corrupt(kTableFile, 100, 1);
|
|
806
|
-
ASSERT_NOK(
|
|
793
|
+
ASSERT_NOK(db_->VerifyChecksum());
|
|
807
794
|
|
|
808
795
|
std::string tmp1, tmp2;
|
|
809
796
|
ASSERT_OK(db_->Put(WriteOptions(), Key(1000, &tmp1), Value(1000, &tmp2)));
|
|
810
797
|
std::string v;
|
|
811
798
|
ASSERT_OK(db_->Get(ReadOptions(), Key(1000, &tmp1), &v));
|
|
812
799
|
ASSERT_EQ(Value(1000, &tmp2).ToString(), v);
|
|
813
|
-
ASSERT_OK(
|
|
800
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
814
801
|
ASSERT_OK(db_->Get(ReadOptions(), Key(1000, &tmp1), &v));
|
|
815
802
|
ASSERT_EQ(Value(1000, &tmp2).ToString(), v);
|
|
816
803
|
}
|
|
@@ -857,14 +844,12 @@ TEST_F(CorruptionTest, FileSystemStateCorrupted) {
|
|
|
857
844
|
Reopen(&options);
|
|
858
845
|
Build(10);
|
|
859
846
|
ASSERT_OK(db_->Flush(FlushOptions()));
|
|
860
|
-
DBImpl* dbi = static_cast_with_check<DBImpl>(db_);
|
|
861
847
|
std::vector<LiveFileMetaData> metadata;
|
|
862
|
-
|
|
848
|
+
db_->GetLiveFilesMetaData(&metadata);
|
|
863
849
|
ASSERT_GT(metadata.size(), 0);
|
|
864
850
|
std::string filename = dbname_ + metadata[0].name;
|
|
865
851
|
|
|
866
|
-
|
|
867
|
-
db_ = nullptr;
|
|
852
|
+
db_.reset();
|
|
868
853
|
|
|
869
854
|
if (iter == 0) { // corrupt file size
|
|
870
855
|
std::unique_ptr<WritableFile> file;
|
|
@@ -896,8 +881,7 @@ TEST_F(CorruptionTest, ParanoidFileChecksOnFlush) {
|
|
|
896
881
|
options.create_if_missing = true;
|
|
897
882
|
Status s;
|
|
898
883
|
for (const auto& mode : corruption_modes) {
|
|
899
|
-
|
|
900
|
-
db_ = nullptr;
|
|
884
|
+
db_.reset();
|
|
901
885
|
s = DestroyDB(dbname_, options);
|
|
902
886
|
ASSERT_OK(s);
|
|
903
887
|
std::shared_ptr<mock::MockTableFactory> mock =
|
|
@@ -924,8 +908,7 @@ TEST_F(CorruptionTest, ParanoidFileChecksOnCompact) {
|
|
|
924
908
|
options.create_if_missing = true;
|
|
925
909
|
Status s;
|
|
926
910
|
for (const auto& mode : corruption_modes) {
|
|
927
|
-
|
|
928
|
-
db_ = nullptr;
|
|
911
|
+
db_.reset();
|
|
929
912
|
s = DestroyDB(dbname_, options);
|
|
930
913
|
ASSERT_OK(s);
|
|
931
914
|
std::shared_ptr<mock::MockTableFactory> mock =
|
|
@@ -934,12 +917,11 @@ TEST_F(CorruptionTest, ParanoidFileChecksOnCompact) {
|
|
|
934
917
|
ASSERT_OK(DB::Open(options, dbname_, &db_));
|
|
935
918
|
assert(db_ != nullptr); // suppress false clang-analyze report
|
|
936
919
|
Build(100, 2);
|
|
937
|
-
|
|
938
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
920
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
939
921
|
mock->SetCorruptionMode(mode);
|
|
940
922
|
CompactRangeOptions cro;
|
|
941
923
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
942
|
-
s =
|
|
924
|
+
s = db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr);
|
|
943
925
|
if (mode == mock::MockTableFactory::kCorruptNone) {
|
|
944
926
|
ASSERT_OK(s);
|
|
945
927
|
} else {
|
|
@@ -955,8 +937,7 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRangeFirst) {
|
|
|
955
937
|
options.paranoid_file_checks = true;
|
|
956
938
|
options.create_if_missing = true;
|
|
957
939
|
for (bool do_flush : {true, false}) {
|
|
958
|
-
|
|
959
|
-
db_ = nullptr;
|
|
940
|
+
db_.reset();
|
|
960
941
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
961
942
|
ASSERT_OK(DB::Open(options, dbname_, &db_));
|
|
962
943
|
std::string start, end;
|
|
@@ -973,12 +954,11 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRangeFirst) {
|
|
|
973
954
|
if (do_flush) {
|
|
974
955
|
ASSERT_OK(db_->Flush(FlushOptions()));
|
|
975
956
|
} else {
|
|
976
|
-
|
|
977
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
957
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
978
958
|
CompactRangeOptions cro;
|
|
979
959
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
980
960
|
ASSERT_OK(
|
|
981
|
-
|
|
961
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr));
|
|
982
962
|
}
|
|
983
963
|
db_->ReleaseSnapshot(snap);
|
|
984
964
|
}
|
|
@@ -991,8 +971,7 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRange) {
|
|
|
991
971
|
options.paranoid_file_checks = true;
|
|
992
972
|
options.create_if_missing = true;
|
|
993
973
|
for (bool do_flush : {true, false}) {
|
|
994
|
-
|
|
995
|
-
db_ = nullptr;
|
|
974
|
+
db_.reset();
|
|
996
975
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
997
976
|
ASSERT_OK(DB::Open(options, dbname_, &db_));
|
|
998
977
|
assert(db_ != nullptr); // suppress false clang-analyze report
|
|
@@ -1012,12 +991,11 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRange) {
|
|
|
1012
991
|
if (do_flush) {
|
|
1013
992
|
ASSERT_OK(db_->Flush(FlushOptions()));
|
|
1014
993
|
} else {
|
|
1015
|
-
|
|
1016
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
994
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
1017
995
|
CompactRangeOptions cro;
|
|
1018
996
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
1019
997
|
ASSERT_OK(
|
|
1020
|
-
|
|
998
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr));
|
|
1021
999
|
}
|
|
1022
1000
|
db_->ReleaseSnapshot(snap);
|
|
1023
1001
|
}
|
|
@@ -1030,8 +1008,7 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRangeLast) {
|
|
|
1030
1008
|
options.paranoid_file_checks = true;
|
|
1031
1009
|
options.create_if_missing = true;
|
|
1032
1010
|
for (bool do_flush : {true, false}) {
|
|
1033
|
-
|
|
1034
|
-
db_ = nullptr;
|
|
1011
|
+
db_.reset();
|
|
1035
1012
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
1036
1013
|
ASSERT_OK(DB::Open(options, dbname_, &db_));
|
|
1037
1014
|
assert(db_ != nullptr); // suppress false clang-analyze report
|
|
@@ -1048,12 +1025,11 @@ TEST_F(CorruptionTest, ParanoidFileChecksWithDeleteRangeLast) {
|
|
|
1048
1025
|
if (do_flush) {
|
|
1049
1026
|
ASSERT_OK(db_->Flush(FlushOptions()));
|
|
1050
1027
|
} else {
|
|
1051
|
-
|
|
1052
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
1028
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
1053
1029
|
CompactRangeOptions cro;
|
|
1054
1030
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
1055
1031
|
ASSERT_OK(
|
|
1056
|
-
|
|
1032
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr));
|
|
1057
1033
|
}
|
|
1058
1034
|
db_->ReleaseSnapshot(snap);
|
|
1059
1035
|
}
|
|
@@ -1066,8 +1042,7 @@ TEST_F(CorruptionTest, LogCorruptionErrorsInCompactionIterator) {
|
|
|
1066
1042
|
options.create_if_missing = true;
|
|
1067
1043
|
options.allow_data_in_errors = true;
|
|
1068
1044
|
auto mode = mock::MockTableFactory::kCorruptKey;
|
|
1069
|
-
|
|
1070
|
-
db_ = nullptr;
|
|
1045
|
+
db_.reset();
|
|
1071
1046
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
1072
1047
|
|
|
1073
1048
|
std::shared_ptr<mock::MockTableFactory> mock =
|
|
@@ -1079,12 +1054,11 @@ TEST_F(CorruptionTest, LogCorruptionErrorsInCompactionIterator) {
|
|
|
1079
1054
|
assert(db_ != nullptr); // suppress false clang-analyze report
|
|
1080
1055
|
Build(100, 2);
|
|
1081
1056
|
|
|
1082
|
-
|
|
1083
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
1057
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
1084
1058
|
CompactRangeOptions cro;
|
|
1085
1059
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
1086
1060
|
Status s =
|
|
1087
|
-
|
|
1061
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr);
|
|
1088
1062
|
ASSERT_NOK(s);
|
|
1089
1063
|
ASSERT_TRUE(s.IsCorruption());
|
|
1090
1064
|
}
|
|
@@ -1095,8 +1069,7 @@ TEST_F(CorruptionTest, CompactionKeyOrderCheck) {
|
|
|
1095
1069
|
options.env = env_.get();
|
|
1096
1070
|
options.paranoid_file_checks = false;
|
|
1097
1071
|
options.create_if_missing = true;
|
|
1098
|
-
|
|
1099
|
-
db_ = nullptr;
|
|
1072
|
+
db_.reset();
|
|
1100
1073
|
ASSERT_OK(DestroyDB(dbname_, options));
|
|
1101
1074
|
std::shared_ptr<mock::MockTableFactory> mock =
|
|
1102
1075
|
std::make_shared<mock::MockTableFactory>();
|
|
@@ -1105,14 +1078,13 @@ TEST_F(CorruptionTest, CompactionKeyOrderCheck) {
|
|
|
1105
1078
|
assert(db_ != nullptr); // suppress false clang-analyze report
|
|
1106
1079
|
mock->SetCorruptionMode(mock::MockTableFactory::kCorruptReorderKey);
|
|
1107
1080
|
Build(100, 2);
|
|
1108
|
-
|
|
1109
|
-
ASSERT_OK(dbi->TEST_FlushMemTable());
|
|
1081
|
+
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
1110
1082
|
|
|
1111
1083
|
mock->SetCorruptionMode(mock::MockTableFactory::kCorruptNone);
|
|
1112
1084
|
CompactRangeOptions cro;
|
|
1113
1085
|
cro.bottommost_level_compaction = BottommostLevelCompaction::kForce;
|
|
1114
1086
|
ASSERT_NOK(
|
|
1115
|
-
|
|
1087
|
+
db_->CompactRange(cro, db_->DefaultColumnFamily(), nullptr, nullptr));
|
|
1116
1088
|
}
|
|
1117
1089
|
|
|
1118
1090
|
TEST_F(CorruptionTest, FlushKeyOrderCheck) {
|
|
@@ -1139,7 +1111,7 @@ TEST_F(CorruptionTest, FlushKeyOrderCheck) {
|
|
|
1139
1111
|
}
|
|
1140
1112
|
});
|
|
1141
1113
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
1142
|
-
Status s =
|
|
1114
|
+
Status s = dbfull()->TEST_FlushMemTable();
|
|
1143
1115
|
ASSERT_NOK(s);
|
|
1144
1116
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
|
|
1145
1117
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
@@ -1263,7 +1235,7 @@ TEST_P(CrashDuringRecoveryWithCorruptionTest, CrashDuringRecovery) {
|
|
|
1263
1235
|
// while other don't.
|
|
1264
1236
|
{
|
|
1265
1237
|
ASSERT_OK(DB::Open(options, dbname_, cf_descs, &handles, &db_));
|
|
1266
|
-
auto* dbimpl =
|
|
1238
|
+
auto* dbimpl = dbfull();
|
|
1267
1239
|
assert(dbimpl);
|
|
1268
1240
|
|
|
1269
1241
|
// Write one key to test_cf.
|