@nxtedition/rocksdb 8.2.0 → 8.2.2
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 +3 -3
- package/deps/rocksdb/rocksdb/CMakeLists.txt +16 -52
- package/deps/rocksdb/rocksdb/Makefile +10 -5
- package/deps/rocksdb/rocksdb/TARGETS +8 -345
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +92 -0
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +32 -32
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +12 -9
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +6 -43
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +3 -13
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +8 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +21 -47
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -8
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +44 -7
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +13 -14
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +2 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +17 -8
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +40 -21
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +41 -42
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +5 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.h +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +5 -3
- package/deps/rocksdb/rocksdb/db/builder.cc +7 -6
- package/deps/rocksdb/rocksdb/db/builder.h +2 -2
- package/deps/rocksdb/rocksdb/db/c.cc +76 -5
- package/deps/rocksdb/rocksdb/db/c_test.c +141 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +32 -0
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +5 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +8 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +12 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +21 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +3 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +77 -50
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +4 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +55 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +142 -56
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +21 -20
- package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +260 -220
- package/deps/rocksdb/rocksdb/db/db_clip_test.cc +142 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +333 -27
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +7 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +189 -27
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +23 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +134 -90
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +5 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +124 -16
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +10 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +7 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +15 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +11 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +7 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +54 -3
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +42 -0
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +116 -1
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +9 -8
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +142 -63
- package/deps/rocksdb/rocksdb/db/db_test.cc +28 -7
- package/deps/rocksdb/rocksdb/db/db_test2.cc +71 -131
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +18 -0
- package/deps/rocksdb/rocksdb/db/db_test_util.h +6 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +10 -10
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +25 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +88 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +67 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +5 -0
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +86 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +15 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/flush_job.cc +21 -14
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +14 -7
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +31 -8
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +21 -19
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +42 -12
- package/deps/rocksdb/rocksdb/db/internal_stats.h +1 -0
- package/deps/rocksdb/rocksdb/db/kv_checksum.h +92 -6
- package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/log_format.h +8 -4
- package/deps/rocksdb/rocksdb/db/log_reader.cc +129 -51
- package/deps/rocksdb/rocksdb/db/log_reader.h +16 -0
- package/deps/rocksdb/rocksdb/db/log_test.cc +125 -4
- package/deps/rocksdb/rocksdb/db/log_writer.cc +32 -2
- package/deps/rocksdb/rocksdb/db/log_writer.h +16 -0
- package/deps/rocksdb/rocksdb/db/memtable.cc +17 -46
- package/deps/rocksdb/rocksdb/db/memtable.h +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +8 -4
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +1 -1
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/repair.cc +38 -11
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/table_cache.cc +68 -51
- package/deps/rocksdb/rocksdb/db/table_cache.h +20 -10
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -1
- package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/version_builder.cc +9 -5
- package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +140 -120
- package/deps/rocksdb/rocksdb/db/version_edit.cc +14 -0
- package/deps/rocksdb/rocksdb/db/version_edit.h +12 -4
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +21 -13
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +26 -16
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +9 -9
- package/deps/rocksdb/rocksdb/db/version_set.cc +292 -96
- package/deps/rocksdb/rocksdb/db/version_set.h +53 -28
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +1 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +62 -22
- package/deps/rocksdb/rocksdb/db/version_util.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch.cc +3 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +119 -27
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +123 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +4 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +7 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +34 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +43 -33
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +29 -17
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +5 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +6 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +85 -50
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +96 -54
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.cc +122 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +206 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +9 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +9 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +322 -92
- package/deps/rocksdb/rocksdb/env/env_posix.cc +12 -8
- package/deps/rocksdb/rocksdb/env/env_test.cc +31 -0
- package/deps/rocksdb/rocksdb/env/mock_env.cc +1 -1
- package/deps/rocksdb/rocksdb/env/unique_id_gen.h +14 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +1 -1
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +5 -1
- package/deps/rocksdb/rocksdb/file/file_util.cc +3 -3
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +89 -0
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +22 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -2
- package/deps/rocksdb/rocksdb/file/readahead_raf.cc +1 -1
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +154 -74
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +27 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +107 -28
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +19 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +7 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +137 -152
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +61 -26
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +30 -26
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +33 -16
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +87 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +9 -2
- package/deps/rocksdb/rocksdb/logging/env_logger.h +2 -0
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +78 -42
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +14 -9
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +1 -0
- package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -0
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +4 -9
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +19 -11
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +211 -555
- package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +36 -2
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +17 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +10 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +19 -18
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +10 -2
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -0
- package/deps/rocksdb/rocksdb/options/cf_options.cc +35 -2
- package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +1 -1
- package/deps/rocksdb/rocksdb/options/options.cc +12 -53
- package/deps/rocksdb/rocksdb/options/options_helper.cc +4 -0
- package/deps/rocksdb/rocksdb/options/options_parser.cc +11 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +32 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +89 -5
- package/deps/rocksdb/rocksdb/port/lang.h +27 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +67 -24
- package/deps/rocksdb/rocksdb/src.mk +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +195 -35
- package/deps/rocksdb/rocksdb/table/block_based/block.h +197 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +71 -51
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +7 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +4 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +43 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +36 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +266 -166
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +44 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +63 -56
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +10 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +14 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +918 -2
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +10 -9
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -8
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +18 -23
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +8 -8
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +16 -32
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +7 -8
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +46 -53
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +12 -12
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -9
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +26 -23
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +3 -2
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +7 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +3 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +5 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +4 -2
- package/deps/rocksdb/rocksdb/table/format.cc +4 -4
- package/deps/rocksdb/rocksdb/table/format.h +1 -1
- package/deps/rocksdb/rocksdb/table/get_context.cc +1 -1
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +33 -22
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +4 -0
- package/deps/rocksdb/rocksdb/table/mock_table.cc +4 -2
- package/deps/rocksdb/rocksdb/table/persistent_cache_helper.h +1 -1
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +1 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +18 -10
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +4 -3
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +10 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +4 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +11 -0
- package/deps/rocksdb/rocksdb/table/table_builder.h +14 -5
- package/deps/rocksdb/rocksdb/table/table_properties.cc +2 -0
- package/deps/rocksdb/rocksdb/table/table_reader.h +6 -3
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/table/table_test.cc +291 -34
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +3 -1
- package/deps/rocksdb/rocksdb/test_util/testharness.h +5 -0
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +33 -17
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +3 -1
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +2 -2
- package/deps/rocksdb/rocksdb/util/compression.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c.cc +24 -83
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +7 -9
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +4 -1
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +9 -10
- package/deps/rocksdb/rocksdb/util/math.h +12 -7
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +16 -18
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +46 -2
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +6 -6
- package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +12 -7
- package/deps/rocksdb/rocksdb/util/stop_watch.h +31 -13
- package/deps/rocksdb/rocksdb/util/thread_list_test.cc +2 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.h +77 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +11 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +34 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +15 -0
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +5 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +29 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +6 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +10 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +6 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +5 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +5 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- /package/deps/rocksdb/rocksdb/memory/{memory_allocator.h → memory_allocator_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/monitoring/{statistics.h → statistics_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/table/block_based/{flush_block_policy.h → flush_block_policy_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/util/{rate_limiter.h → rate_limiter_impl.h} +0 -0
- /package/deps/rocksdb/rocksdb/utilities/agg_merge/{agg_merge.h → agg_merge_impl.h} +0 -0
|
@@ -238,6 +238,12 @@ bool VersionEdit::EncodeTo(std::string* dst) const {
|
|
|
238
238
|
f.compensated_range_deletion_size);
|
|
239
239
|
PutLengthPrefixedSlice(dst, Slice(compensated_range_deletion_size));
|
|
240
240
|
}
|
|
241
|
+
if (f.tail_size) {
|
|
242
|
+
PutVarint32(dst, NewFileCustomTag::kTailSize);
|
|
243
|
+
std::string varint_tail_size;
|
|
244
|
+
PutVarint64(&varint_tail_size, f.tail_size);
|
|
245
|
+
PutLengthPrefixedSlice(dst, Slice(varint_tail_size));
|
|
246
|
+
}
|
|
241
247
|
|
|
242
248
|
TEST_SYNC_POINT_CALLBACK("VersionEdit::EncodeTo:NewFile4:CustomizeFields",
|
|
243
249
|
dst);
|
|
@@ -416,6 +422,11 @@ const char* VersionEdit::DecodeNewFile4From(Slice* input) {
|
|
|
416
422
|
return "Invalid compensated range deletion size";
|
|
417
423
|
}
|
|
418
424
|
break;
|
|
425
|
+
case kTailSize:
|
|
426
|
+
if (!GetVarint64(&field, &f.tail_size)) {
|
|
427
|
+
return "invalid tail start offset";
|
|
428
|
+
}
|
|
429
|
+
break;
|
|
419
430
|
default:
|
|
420
431
|
if ((custom_tag & kCustomTagNonSafeIgnoreMask) != 0) {
|
|
421
432
|
// Should not proceed if cannot understand it
|
|
@@ -851,6 +862,8 @@ std::string VersionEdit::DebugString(bool hex_key) const {
|
|
|
851
862
|
InternalUniqueIdToExternal(&id);
|
|
852
863
|
r.append(UniqueIdToHumanString(EncodeUniqueIdBytes(&id)));
|
|
853
864
|
}
|
|
865
|
+
r.append(" tail size:");
|
|
866
|
+
AppendNumberTo(&r, f.tail_size);
|
|
854
867
|
}
|
|
855
868
|
|
|
856
869
|
for (const auto& blob_file_addition : blob_file_additions_) {
|
|
@@ -966,6 +979,7 @@ std::string VersionEdit::DebugJSON(int edit_num, bool hex_key) const {
|
|
|
966
979
|
// permanent
|
|
967
980
|
jw << "Temperature" << static_cast<int>(f.temperature);
|
|
968
981
|
}
|
|
982
|
+
jw << "TailSize" << f.tail_size;
|
|
969
983
|
jw.EndArrayedObject();
|
|
970
984
|
}
|
|
971
985
|
|
|
@@ -90,6 +90,7 @@ enum NewFileCustomTag : uint32_t {
|
|
|
90
90
|
kUniqueId = 12,
|
|
91
91
|
kEpochNumber = 13,
|
|
92
92
|
kCompensatedRangeDeletionSize = 14,
|
|
93
|
+
kTailSize = 15,
|
|
93
94
|
|
|
94
95
|
// If this bit for the custom tag is set, opening DB should fail if
|
|
95
96
|
// we don't know this field.
|
|
@@ -238,6 +239,10 @@ struct FileMetaData {
|
|
|
238
239
|
// SST unique id
|
|
239
240
|
UniqueId64x2 unique_id{};
|
|
240
241
|
|
|
242
|
+
// Size of the "tail" part of a SST file
|
|
243
|
+
// "Tail" refers to all blocks after data blocks till the end of the SST file
|
|
244
|
+
uint64_t tail_size = 0;
|
|
245
|
+
|
|
241
246
|
FileMetaData() = default;
|
|
242
247
|
|
|
243
248
|
FileMetaData(uint64_t file, uint32_t file_path_id, uint64_t file_size,
|
|
@@ -249,7 +254,8 @@ struct FileMetaData {
|
|
|
249
254
|
uint64_t _epoch_number, const std::string& _file_checksum,
|
|
250
255
|
const std::string& _file_checksum_func_name,
|
|
251
256
|
UniqueId64x2 _unique_id,
|
|
252
|
-
const uint64_t _compensated_range_deletion_size
|
|
257
|
+
const uint64_t _compensated_range_deletion_size,
|
|
258
|
+
uint64_t _tail_size)
|
|
253
259
|
: fd(file, file_path_id, file_size, smallest_seq, largest_seq),
|
|
254
260
|
smallest(smallest_key),
|
|
255
261
|
largest(largest_key),
|
|
@@ -262,7 +268,8 @@ struct FileMetaData {
|
|
|
262
268
|
epoch_number(_epoch_number),
|
|
263
269
|
file_checksum(_file_checksum),
|
|
264
270
|
file_checksum_func_name(_file_checksum_func_name),
|
|
265
|
-
unique_id(std::move(_unique_id))
|
|
271
|
+
unique_id(std::move(_unique_id)),
|
|
272
|
+
tail_size(_tail_size) {
|
|
266
273
|
TEST_SYNC_POINT_CALLBACK("FileMetaData::FileMetaData", this);
|
|
267
274
|
}
|
|
268
275
|
|
|
@@ -446,7 +453,8 @@ class VersionEdit {
|
|
|
446
453
|
uint64_t epoch_number, const std::string& file_checksum,
|
|
447
454
|
const std::string& file_checksum_func_name,
|
|
448
455
|
const UniqueId64x2& unique_id,
|
|
449
|
-
const uint64_t compensated_range_deletion_size
|
|
456
|
+
const uint64_t compensated_range_deletion_size,
|
|
457
|
+
uint64_t tail_size) {
|
|
450
458
|
assert(smallest_seqno <= largest_seqno);
|
|
451
459
|
new_files_.emplace_back(
|
|
452
460
|
level,
|
|
@@ -455,7 +463,7 @@ class VersionEdit {
|
|
|
455
463
|
temperature, oldest_blob_file_number, oldest_ancester_time,
|
|
456
464
|
file_creation_time, epoch_number, file_checksum,
|
|
457
465
|
file_checksum_func_name, unique_id,
|
|
458
|
-
compensated_range_deletion_size));
|
|
466
|
+
compensated_range_deletion_size, tail_size));
|
|
459
467
|
if (!HasLastSequence() || largest_seqno > GetLastSequence()) {
|
|
460
468
|
SetLastSequence(largest_seqno);
|
|
461
469
|
}
|
|
@@ -155,8 +155,9 @@ VersionEditHandler::VersionEditHandler(
|
|
|
155
155
|
bool read_only, std::vector<ColumnFamilyDescriptor> column_families,
|
|
156
156
|
VersionSet* version_set, bool track_missing_files,
|
|
157
157
|
bool no_error_if_files_missing, const std::shared_ptr<IOTracer>& io_tracer,
|
|
158
|
-
bool skip_load_table_files,
|
|
159
|
-
|
|
158
|
+
const ReadOptions& read_options, bool skip_load_table_files,
|
|
159
|
+
EpochNumberRequirement epoch_number_requirement)
|
|
160
|
+
: VersionEditHandlerBase(read_options),
|
|
160
161
|
read_only_(read_only),
|
|
161
162
|
column_families_(std::move(column_families)),
|
|
162
163
|
version_set_(version_set),
|
|
@@ -480,7 +481,8 @@ void VersionEditHandler::CheckIterationResult(const log::Reader& reader,
|
|
|
480
481
|
|
|
481
482
|
ColumnFamilyData* VersionEditHandler::CreateCfAndInit(
|
|
482
483
|
const ColumnFamilyOptions& cf_options, const VersionEdit& edit) {
|
|
483
|
-
ColumnFamilyData* cfd =
|
|
484
|
+
ColumnFamilyData* cfd =
|
|
485
|
+
version_set_->CreateColumnFamily(cf_options, read_options_, &edit);
|
|
484
486
|
assert(cfd != nullptr);
|
|
485
487
|
cfd->set_initialized();
|
|
486
488
|
assert(builders_.find(edit.column_family_) == builders_.end());
|
|
@@ -537,7 +539,7 @@ Status VersionEditHandler::MaybeCreateVersion(const VersionEdit& /*edit*/,
|
|
|
537
539
|
if (s.ok()) {
|
|
538
540
|
// Install new version
|
|
539
541
|
v->PrepareAppend(
|
|
540
|
-
*cfd->GetLatestMutableCFOptions(),
|
|
542
|
+
*cfd->GetLatestMutableCFOptions(), read_options_,
|
|
541
543
|
!(version_set_->db_options_->skip_stats_update_on_db_open));
|
|
542
544
|
version_set_->AppendVersion(cfd, v);
|
|
543
545
|
} else {
|
|
@@ -564,12 +566,13 @@ Status VersionEditHandler::LoadTables(ColumnFamilyData* cfd,
|
|
|
564
566
|
assert(builder_iter->second != nullptr);
|
|
565
567
|
VersionBuilder* builder = builder_iter->second->version_builder();
|
|
566
568
|
assert(builder);
|
|
569
|
+
const MutableCFOptions* moptions = cfd->GetLatestMutableCFOptions();
|
|
567
570
|
Status s = builder->LoadTableHandlers(
|
|
568
571
|
cfd->internal_stats(),
|
|
569
572
|
version_set_->db_options_->max_file_opening_threads,
|
|
570
573
|
prefetch_index_and_filter_in_cache, is_initial_load,
|
|
571
|
-
|
|
572
|
-
|
|
574
|
+
moptions->prefix_extractor, MaxFileSizeForL0MetaPin(*moptions),
|
|
575
|
+
read_options_, moptions->block_protection_bytes_per_key);
|
|
573
576
|
if ((s.IsPathNotFound() || s.IsCorruption()) && no_error_if_files_missing_) {
|
|
574
577
|
s = Status::OK();
|
|
575
578
|
}
|
|
@@ -647,11 +650,12 @@ Status VersionEditHandler::ExtractInfoFromVersionEdit(ColumnFamilyData* cfd,
|
|
|
647
650
|
VersionEditHandlerPointInTime::VersionEditHandlerPointInTime(
|
|
648
651
|
bool read_only, std::vector<ColumnFamilyDescriptor> column_families,
|
|
649
652
|
VersionSet* version_set, const std::shared_ptr<IOTracer>& io_tracer,
|
|
653
|
+
const ReadOptions& read_options,
|
|
650
654
|
EpochNumberRequirement epoch_number_requirement)
|
|
651
655
|
: VersionEditHandler(read_only, column_families, version_set,
|
|
652
656
|
/*track_missing_files=*/true,
|
|
653
657
|
/*no_error_if_files_missing=*/true, io_tracer,
|
|
654
|
-
epoch_number_requirement) {}
|
|
658
|
+
read_options, epoch_number_requirement) {}
|
|
655
659
|
|
|
656
660
|
VersionEditHandlerPointInTime::~VersionEditHandlerPointInTime() {
|
|
657
661
|
for (const auto& elem : versions_) {
|
|
@@ -808,15 +812,16 @@ Status VersionEditHandlerPointInTime::MaybeCreateVersion(
|
|
|
808
812
|
assert(builder);
|
|
809
813
|
}
|
|
810
814
|
|
|
815
|
+
const MutableCFOptions* cf_opts_ptr = cfd->GetLatestMutableCFOptions();
|
|
811
816
|
auto* version = new Version(cfd, version_set_, version_set_->file_options_,
|
|
812
|
-
*
|
|
817
|
+
*cf_opts_ptr, io_tracer_,
|
|
813
818
|
version_set_->current_version_number_++,
|
|
814
819
|
epoch_number_requirement_);
|
|
815
820
|
s = builder->LoadTableHandlers(
|
|
816
821
|
cfd->internal_stats(),
|
|
817
822
|
version_set_->db_options_->max_file_opening_threads, false, true,
|
|
818
|
-
|
|
819
|
-
|
|
823
|
+
cf_opts_ptr->prefix_extractor, MaxFileSizeForL0MetaPin(*cf_opts_ptr),
|
|
824
|
+
read_options_, cf_opts_ptr->block_protection_bytes_per_key);
|
|
820
825
|
if (!s.ok()) {
|
|
821
826
|
delete version;
|
|
822
827
|
if (s.IsCorruption()) {
|
|
@@ -827,7 +832,7 @@ Status VersionEditHandlerPointInTime::MaybeCreateVersion(
|
|
|
827
832
|
s = builder->SaveTo(version->storage_info());
|
|
828
833
|
if (s.ok()) {
|
|
829
834
|
version->PrepareAppend(
|
|
830
|
-
*cfd->GetLatestMutableCFOptions(),
|
|
835
|
+
*cfd->GetLatestMutableCFOptions(), read_options_,
|
|
831
836
|
!version_set_->db_options_->skip_stats_update_on_db_open);
|
|
832
837
|
auto v_iter = versions_.find(cfd->GetID());
|
|
833
838
|
if (v_iter != versions_.end()) {
|
|
@@ -847,7 +852,8 @@ Status VersionEditHandlerPointInTime::VerifyFile(ColumnFamilyData* cfd,
|
|
|
847
852
|
const std::string& fpath,
|
|
848
853
|
int level,
|
|
849
854
|
const FileMetaData& fmeta) {
|
|
850
|
-
return version_set_->VerifyFileMetadata(cfd, fpath, level,
|
|
855
|
+
return version_set_->VerifyFileMetadata(read_options_, cfd, fpath, level,
|
|
856
|
+
fmeta);
|
|
851
857
|
}
|
|
852
858
|
|
|
853
859
|
Status VersionEditHandlerPointInTime::VerifyBlobFile(
|
|
@@ -856,7 +862,9 @@ Status VersionEditHandlerPointInTime::VerifyBlobFile(
|
|
|
856
862
|
BlobSource* blob_source = cfd->blob_source();
|
|
857
863
|
assert(blob_source);
|
|
858
864
|
CacheHandleGuard<BlobFileReader> blob_file_reader;
|
|
859
|
-
|
|
865
|
+
|
|
866
|
+
Status s = blob_source->GetBlobFileReader(read_options_, blob_file_num,
|
|
867
|
+
&blob_file_reader);
|
|
860
868
|
if (!s.ok()) {
|
|
861
869
|
return s;
|
|
862
870
|
}
|
|
@@ -19,8 +19,9 @@ struct FileMetaData;
|
|
|
19
19
|
|
|
20
20
|
class VersionEditHandlerBase {
|
|
21
21
|
public:
|
|
22
|
-
explicit VersionEditHandlerBase()
|
|
23
|
-
:
|
|
22
|
+
explicit VersionEditHandlerBase(const ReadOptions& read_options)
|
|
23
|
+
: read_options_(read_options),
|
|
24
|
+
max_manifest_read_size_(std::numeric_limits<uint64_t>::max()) {}
|
|
24
25
|
|
|
25
26
|
virtual ~VersionEditHandlerBase() {}
|
|
26
27
|
|
|
@@ -31,8 +32,9 @@ class VersionEditHandlerBase {
|
|
|
31
32
|
AtomicGroupReadBuffer& GetReadBuffer() { return read_buffer_; }
|
|
32
33
|
|
|
33
34
|
protected:
|
|
34
|
-
explicit VersionEditHandlerBase(
|
|
35
|
-
|
|
35
|
+
explicit VersionEditHandlerBase(const ReadOptions& read_options,
|
|
36
|
+
uint64_t max_read_size)
|
|
37
|
+
: read_options_(read_options), max_manifest_read_size_(max_read_size) {}
|
|
36
38
|
virtual Status Initialize() { return Status::OK(); }
|
|
37
39
|
|
|
38
40
|
virtual Status ApplyVersionEdit(VersionEdit& edit,
|
|
@@ -45,6 +47,8 @@ class VersionEditHandlerBase {
|
|
|
45
47
|
|
|
46
48
|
Status status_;
|
|
47
49
|
|
|
50
|
+
const ReadOptions& read_options_;
|
|
51
|
+
|
|
48
52
|
private:
|
|
49
53
|
AtomicGroupReadBuffer read_buffer_;
|
|
50
54
|
const uint64_t max_manifest_read_size_;
|
|
@@ -52,7 +56,8 @@ class VersionEditHandlerBase {
|
|
|
52
56
|
|
|
53
57
|
class ListColumnFamiliesHandler : public VersionEditHandlerBase {
|
|
54
58
|
public:
|
|
55
|
-
ListColumnFamiliesHandler(
|
|
59
|
+
explicit ListColumnFamiliesHandler(const ReadOptions& read_options)
|
|
60
|
+
: VersionEditHandlerBase(read_options) {}
|
|
56
61
|
|
|
57
62
|
~ListColumnFamiliesHandler() override {}
|
|
58
63
|
|
|
@@ -72,9 +77,9 @@ class ListColumnFamiliesHandler : public VersionEditHandlerBase {
|
|
|
72
77
|
|
|
73
78
|
class FileChecksumRetriever : public VersionEditHandlerBase {
|
|
74
79
|
public:
|
|
75
|
-
FileChecksumRetriever(uint64_t max_read_size,
|
|
80
|
+
FileChecksumRetriever(const ReadOptions& read_options, uint64_t max_read_size,
|
|
76
81
|
FileChecksumList& file_checksum_list)
|
|
77
|
-
: VersionEditHandlerBase(max_read_size),
|
|
82
|
+
: VersionEditHandlerBase(read_options, max_read_size),
|
|
78
83
|
file_checksum_list_(file_checksum_list) {}
|
|
79
84
|
|
|
80
85
|
~FileChecksumRetriever() override {}
|
|
@@ -111,12 +116,13 @@ class VersionEditHandler : public VersionEditHandlerBase {
|
|
|
111
116
|
VersionSet* version_set, bool track_missing_files,
|
|
112
117
|
bool no_error_if_files_missing,
|
|
113
118
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
119
|
+
const ReadOptions& read_options,
|
|
114
120
|
EpochNumberRequirement epoch_number_requirement =
|
|
115
121
|
EpochNumberRequirement::kMustPresent)
|
|
116
|
-
: VersionEditHandler(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
: VersionEditHandler(
|
|
123
|
+
read_only, column_families, version_set, track_missing_files,
|
|
124
|
+
no_error_if_files_missing, io_tracer, read_options,
|
|
125
|
+
/*skip_load_table_files=*/false, epoch_number_requirement) {}
|
|
120
126
|
|
|
121
127
|
~VersionEditHandler() override {}
|
|
122
128
|
|
|
@@ -137,7 +143,8 @@ class VersionEditHandler : public VersionEditHandlerBase {
|
|
|
137
143
|
bool read_only, std::vector<ColumnFamilyDescriptor> column_families,
|
|
138
144
|
VersionSet* version_set, bool track_missing_files,
|
|
139
145
|
bool no_error_if_files_missing,
|
|
140
|
-
const std::shared_ptr<IOTracer>& io_tracer,
|
|
146
|
+
const std::shared_ptr<IOTracer>& io_tracer,
|
|
147
|
+
const ReadOptions& read_options, bool skip_load_table_files,
|
|
141
148
|
EpochNumberRequirement epoch_number_requirement =
|
|
142
149
|
EpochNumberRequirement::kMustPresent);
|
|
143
150
|
|
|
@@ -212,6 +219,7 @@ class VersionEditHandlerPointInTime : public VersionEditHandler {
|
|
|
212
219
|
VersionEditHandlerPointInTime(
|
|
213
220
|
bool read_only, std::vector<ColumnFamilyDescriptor> column_families,
|
|
214
221
|
VersionSet* version_set, const std::shared_ptr<IOTracer>& io_tracer,
|
|
222
|
+
const ReadOptions& read_options,
|
|
215
223
|
EpochNumberRequirement epoch_number_requirement =
|
|
216
224
|
EpochNumberRequirement::kMustPresent);
|
|
217
225
|
~VersionEditHandlerPointInTime() override;
|
|
@@ -238,10 +246,11 @@ class ManifestTailer : public VersionEditHandlerPointInTime {
|
|
|
238
246
|
explicit ManifestTailer(std::vector<ColumnFamilyDescriptor> column_families,
|
|
239
247
|
VersionSet* version_set,
|
|
240
248
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
249
|
+
const ReadOptions& read_options,
|
|
241
250
|
EpochNumberRequirement epoch_number_requirement =
|
|
242
251
|
EpochNumberRequirement::kMustPresent)
|
|
243
252
|
: VersionEditHandlerPointInTime(/*read_only=*/false, column_families,
|
|
244
|
-
version_set, io_tracer,
|
|
253
|
+
version_set, io_tracer, read_options,
|
|
245
254
|
epoch_number_requirement),
|
|
246
255
|
mode_(Mode::kRecovery) {}
|
|
247
256
|
|
|
@@ -281,12 +290,13 @@ class DumpManifestHandler : public VersionEditHandler {
|
|
|
281
290
|
public:
|
|
282
291
|
DumpManifestHandler(std::vector<ColumnFamilyDescriptor> column_families,
|
|
283
292
|
VersionSet* version_set,
|
|
284
|
-
const std::shared_ptr<IOTracer>& io_tracer,
|
|
285
|
-
bool
|
|
293
|
+
const std::shared_ptr<IOTracer>& io_tracer,
|
|
294
|
+
const ReadOptions& read_options, bool verbose, bool hex,
|
|
295
|
+
bool json)
|
|
286
296
|
: VersionEditHandler(
|
|
287
297
|
/*read_only=*/true, column_families, version_set,
|
|
288
298
|
/*track_missing_files=*/false,
|
|
289
|
-
/*no_error_if_files_missing=*/false, io_tracer,
|
|
299
|
+
/*no_error_if_files_missing=*/false, io_tracer, read_options,
|
|
290
300
|
/*skip_load_table_files=*/true),
|
|
291
301
|
verbose_(verbose),
|
|
292
302
|
hex_(hex),
|
|
@@ -45,7 +45,7 @@ TEST_F(VersionEditTest, EncodeDecode) {
|
|
|
45
45
|
kBig + 500 + i, kBig + 600 + i, false, Temperature::kUnknown,
|
|
46
46
|
kInvalidBlobFileNumber, 888, 678,
|
|
47
47
|
kBig + 300 + i /* epoch_number */, "234", "crc32c",
|
|
48
|
-
kNullUniqueId64x2, 0);
|
|
48
|
+
kNullUniqueId64x2, 0, 0);
|
|
49
49
|
edit.DeleteFile(4, kBig + 700 + i);
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -65,24 +65,24 @@ TEST_F(VersionEditTest, EncodeDecodeNewFile4) {
|
|
|
65
65
|
kBig + 600, true, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
66
66
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
67
67
|
300 /* epoch_number */, kUnknownFileChecksum,
|
|
68
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
68
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
69
69
|
edit.AddFile(4, 301, 3, 100, InternalKey("foo", kBig + 501, kTypeValue),
|
|
70
70
|
InternalKey("zoo", kBig + 601, kTypeDeletion), kBig + 501,
|
|
71
71
|
kBig + 601, false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
72
72
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
73
73
|
301 /* epoch_number */, kUnknownFileChecksum,
|
|
74
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
74
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
75
75
|
edit.AddFile(5, 302, 0, 100, InternalKey("foo", kBig + 502, kTypeValue),
|
|
76
76
|
InternalKey("zoo", kBig + 602, kTypeDeletion), kBig + 502,
|
|
77
77
|
kBig + 602, true, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
78
78
|
666, 888, 302 /* epoch_number */, kUnknownFileChecksum,
|
|
79
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
79
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
80
80
|
edit.AddFile(5, 303, 0, 100, InternalKey("foo", kBig + 503, kTypeBlobIndex),
|
|
81
81
|
InternalKey("zoo", kBig + 603, kTypeBlobIndex), kBig + 503,
|
|
82
82
|
kBig + 603, true, Temperature::kUnknown, 1001,
|
|
83
83
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
84
84
|
303 /* epoch_number */, kUnknownFileChecksum,
|
|
85
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
85
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
86
86
|
|
|
87
87
|
edit.DeleteFile(4, 700);
|
|
88
88
|
|
|
@@ -123,12 +123,12 @@ TEST_F(VersionEditTest, ForwardCompatibleNewFile4) {
|
|
|
123
123
|
kBig + 600, true, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
124
124
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
125
125
|
300 /* epoch_number */, kUnknownFileChecksum,
|
|
126
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
126
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
127
127
|
edit.AddFile(4, 301, 3, 100, InternalKey("foo", kBig + 501, kTypeValue),
|
|
128
128
|
InternalKey("zoo", kBig + 601, kTypeDeletion), kBig + 501,
|
|
129
129
|
kBig + 601, false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
130
130
|
686, 868, 301 /* epoch_number */, "234", "crc32c",
|
|
131
|
-
kNullUniqueId64x2, 0);
|
|
131
|
+
kNullUniqueId64x2, 0, 0);
|
|
132
132
|
edit.DeleteFile(4, 700);
|
|
133
133
|
|
|
134
134
|
edit.SetComparatorName("foo");
|
|
@@ -177,7 +177,7 @@ TEST_F(VersionEditTest, NewFile4NotSupportedField) {
|
|
|
177
177
|
kBig + 600, true, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
178
178
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
179
179
|
300 /* epoch_number */, kUnknownFileChecksum,
|
|
180
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
180
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
181
181
|
|
|
182
182
|
edit.SetComparatorName("foo");
|
|
183
183
|
edit.SetLogNumber(kBig + 100);
|
|
@@ -208,7 +208,7 @@ TEST_F(VersionEditTest, EncodeEmptyFile) {
|
|
|
208
208
|
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
209
209
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
210
210
|
1 /*epoch_number*/, kUnknownFileChecksum,
|
|
211
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
211
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
212
212
|
std::string buffer;
|
|
213
213
|
ASSERT_TRUE(!edit.EncodeTo(&buffer));
|
|
214
214
|
}
|