@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
|
@@ -96,6 +96,7 @@ class TableCache {
|
|
|
96
96
|
size_t max_file_size_for_l0_meta_pin,
|
|
97
97
|
const InternalKey* smallest_compaction_key,
|
|
98
98
|
const InternalKey* largest_compaction_key, bool allow_unprepared_value,
|
|
99
|
+
uint8_t protection_bytes_per_key,
|
|
99
100
|
TruncatedRangeDelIterator** range_del_iter = nullptr);
|
|
100
101
|
|
|
101
102
|
// If a seek to internal key "k" in specified file finds an entry,
|
|
@@ -112,6 +113,7 @@ class TableCache {
|
|
|
112
113
|
const ReadOptions& options,
|
|
113
114
|
const InternalKeyComparator& internal_comparator,
|
|
114
115
|
const FileMetaData& file_meta, const Slice& k, GetContext* get_context,
|
|
116
|
+
uint8_t block_protection_bytes_per_key,
|
|
115
117
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
|
|
116
118
|
HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
|
|
117
119
|
int level = -1, size_t max_file_size_for_l0_meta_pin = 0);
|
|
@@ -121,7 +123,7 @@ class TableCache {
|
|
|
121
123
|
Status GetRangeTombstoneIterator(
|
|
122
124
|
const ReadOptions& options,
|
|
123
125
|
const InternalKeyComparator& internal_comparator,
|
|
124
|
-
const FileMetaData& file_meta,
|
|
126
|
+
const FileMetaData& file_meta, uint8_t block_protection_bytes_per_key,
|
|
125
127
|
std::unique_ptr<FragmentedRangeTombstoneIterator>* out_iter);
|
|
126
128
|
|
|
127
129
|
// Call table reader's MultiGetFilter to use the bloom filter to filter out
|
|
@@ -135,7 +137,8 @@ class TableCache {
|
|
|
135
137
|
const FileMetaData& file_meta,
|
|
136
138
|
const std::shared_ptr<const SliceTransform>& prefix_extractor,
|
|
137
139
|
HistogramImpl* file_read_hist, int level,
|
|
138
|
-
MultiGetContext::Range* mget_range, TypedHandle** table_handle
|
|
140
|
+
MultiGetContext::Range* mget_range, TypedHandle** table_handle,
|
|
141
|
+
uint8_t block_protection_bytes_per_key);
|
|
139
142
|
|
|
140
143
|
// If a seek to internal key "k" in specified file finds an entry,
|
|
141
144
|
// call get_context->SaveValue() repeatedly until
|
|
@@ -150,6 +153,7 @@ class TableCache {
|
|
|
150
153
|
Status, MultiGet, const ReadOptions& options,
|
|
151
154
|
const InternalKeyComparator& internal_comparator,
|
|
152
155
|
const FileMetaData& file_meta, const MultiGetContext::Range* mget_range,
|
|
156
|
+
uint8_t block_protection_bytes_per_key,
|
|
153
157
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
|
|
154
158
|
HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
|
|
155
159
|
bool skip_range_deletions = false, int level = -1,
|
|
@@ -165,6 +169,7 @@ class TableCache {
|
|
|
165
169
|
const ReadOptions& ro, const FileOptions& toptions,
|
|
166
170
|
const InternalKeyComparator& internal_comparator,
|
|
167
171
|
const FileMetaData& file_meta, TypedHandle**,
|
|
172
|
+
uint8_t block_protection_bytes_per_key,
|
|
168
173
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
|
|
169
174
|
const bool no_io = false, bool record_read_stats = true,
|
|
170
175
|
HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
|
|
@@ -179,38 +184,43 @@ class TableCache {
|
|
|
179
184
|
// return Status::Incomplete() if table is not present in cache and
|
|
180
185
|
// we set `no_io` to be true.
|
|
181
186
|
Status GetTableProperties(
|
|
182
|
-
const FileOptions& toptions,
|
|
187
|
+
const FileOptions& toptions, const ReadOptions& read_options,
|
|
183
188
|
const InternalKeyComparator& internal_comparator,
|
|
184
189
|
const FileMetaData& file_meta,
|
|
185
190
|
std::shared_ptr<const TableProperties>* properties,
|
|
191
|
+
uint8_t block_protection_bytes_per_key,
|
|
186
192
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
|
|
187
193
|
bool no_io = false);
|
|
188
194
|
|
|
189
195
|
Status ApproximateKeyAnchors(const ReadOptions& ro,
|
|
190
196
|
const InternalKeyComparator& internal_comparator,
|
|
191
197
|
const FileMetaData& file_meta,
|
|
198
|
+
uint8_t block_protection_bytes_per_key,
|
|
192
199
|
std::vector<TableReader::Anchor>& anchors);
|
|
193
200
|
|
|
194
201
|
// Return total memory usage of the table reader of the file.
|
|
195
202
|
// 0 if table reader of the file is not loaded.
|
|
196
203
|
size_t GetMemoryUsageByTableReader(
|
|
197
|
-
const FileOptions& toptions,
|
|
204
|
+
const FileOptions& toptions, const ReadOptions& read_options,
|
|
198
205
|
const InternalKeyComparator& internal_comparator,
|
|
199
|
-
const FileMetaData& file_meta,
|
|
206
|
+
const FileMetaData& file_meta, uint8_t block_protection_bytes_per_key,
|
|
200
207
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
|
|
201
208
|
|
|
202
209
|
// Returns approximated offset of a key in a file represented by fd.
|
|
203
210
|
uint64_t ApproximateOffsetOf(
|
|
204
|
-
const
|
|
211
|
+
const ReadOptions& read_options, const Slice& key,
|
|
212
|
+
const FileMetaData& file_meta, TableReaderCaller caller,
|
|
205
213
|
const InternalKeyComparator& internal_comparator,
|
|
214
|
+
uint8_t block_protection_bytes_per_key,
|
|
206
215
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
|
|
207
216
|
|
|
208
217
|
// Returns approximated data size between start and end keys in a file
|
|
209
218
|
// represented by fd (the start key must not be greater than the end key).
|
|
210
219
|
uint64_t ApproximateSize(
|
|
211
|
-
const
|
|
212
|
-
TableReaderCaller caller,
|
|
220
|
+
const ReadOptions& read_options, const Slice& start, const Slice& end,
|
|
221
|
+
const FileMetaData& file_meta, TableReaderCaller caller,
|
|
213
222
|
const InternalKeyComparator& internal_comparator,
|
|
223
|
+
uint8_t block_protection_bytes_per_key,
|
|
214
224
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
|
|
215
225
|
|
|
216
226
|
CacheInterface& get_cache() { return cache_; }
|
|
@@ -233,8 +243,8 @@ class TableCache {
|
|
|
233
243
|
const ReadOptions& ro, const FileOptions& file_options,
|
|
234
244
|
const InternalKeyComparator& internal_comparator,
|
|
235
245
|
const FileMetaData& file_meta, bool sequential_mode,
|
|
236
|
-
bool record_read_stats,
|
|
237
|
-
std::unique_ptr<TableReader>* table_reader,
|
|
246
|
+
bool record_read_stats, uint8_t block_protection_bytes_per_key,
|
|
247
|
+
HistogramImpl* file_read_hist, std::unique_ptr<TableReader>* table_reader,
|
|
238
248
|
const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
|
|
239
249
|
bool skip_filters = false, int level = -1,
|
|
240
250
|
bool prefetch_index_and_filter_in_cache = true,
|
|
@@ -17,6 +17,7 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
17
17
|
DEFINE_SYNC_AND_ASYNC(Status, TableCache::MultiGet)
|
|
18
18
|
(const ReadOptions& options, const InternalKeyComparator& internal_comparator,
|
|
19
19
|
const FileMetaData& file_meta, const MultiGetContext::Range* mget_range,
|
|
20
|
+
uint8_t block_protection_bytes_per_key,
|
|
20
21
|
const std::shared_ptr<const SliceTransform>& prefix_extractor,
|
|
21
22
|
HistogramImpl* file_read_hist, bool skip_filters, bool skip_range_deletions,
|
|
22
23
|
int level, TypedHandle* handle) {
|
|
@@ -65,7 +66,7 @@ DEFINE_SYNC_AND_ASYNC(Status, TableCache::MultiGet)
|
|
|
65
66
|
if (t == nullptr) {
|
|
66
67
|
assert(handle == nullptr);
|
|
67
68
|
s = FindTable(options, file_options_, internal_comparator, file_meta,
|
|
68
|
-
&handle, prefix_extractor,
|
|
69
|
+
&handle, block_protection_bytes_per_key, prefix_extractor,
|
|
69
70
|
options.read_tier == kBlockCacheTier /* no_io */,
|
|
70
71
|
true /* record_read_stats */, file_read_hist, skip_filters,
|
|
71
72
|
level, true /* prefetch_index_and_filter_in_cache */,
|
|
@@ -292,8 +292,9 @@ void TestCustomizedTablePropertiesCollector(
|
|
|
292
292
|
new RandomAccessFileReader(std::move(source), "test"));
|
|
293
293
|
|
|
294
294
|
std::unique_ptr<TableProperties> props;
|
|
295
|
+
const ReadOptions read_options;
|
|
295
296
|
Status s = ReadTableProperties(fake_file_reader.get(), fwf->contents().size(),
|
|
296
|
-
magic_number, ioptions, &props);
|
|
297
|
+
magic_number, ioptions, read_options, &props);
|
|
297
298
|
ASSERT_OK(s);
|
|
298
299
|
|
|
299
300
|
auto user_collected = props->user_collected_properties;
|
|
@@ -429,8 +430,10 @@ void TestInternalKeyPropertiesCollector(
|
|
|
429
430
|
new RandomAccessFileReader(std::move(source), "test"));
|
|
430
431
|
|
|
431
432
|
std::unique_ptr<TableProperties> props;
|
|
432
|
-
|
|
433
|
-
|
|
433
|
+
const ReadOptions read_options;
|
|
434
|
+
Status s =
|
|
435
|
+
ReadTableProperties(reader.get(), fwf->contents().size(), magic_number,
|
|
436
|
+
ioptions, read_options, &props);
|
|
434
437
|
ASSERT_OK(s);
|
|
435
438
|
|
|
436
439
|
auto user_collected = props->user_collected_properties;
|
|
@@ -1257,7 +1257,8 @@ class VersionBuilder::Rep {
|
|
|
1257
1257
|
InternalStats* internal_stats, int max_threads,
|
|
1258
1258
|
bool prefetch_index_and_filter_in_cache, bool is_initial_load,
|
|
1259
1259
|
const std::shared_ptr<const SliceTransform>& prefix_extractor,
|
|
1260
|
-
size_t max_file_size_for_l0_meta_pin
|
|
1260
|
+
size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
|
|
1261
|
+
uint8_t block_protection_bytes_per_key) {
|
|
1261
1262
|
assert(table_cache_ != nullptr);
|
|
1262
1263
|
|
|
1263
1264
|
size_t table_cache_capacity =
|
|
@@ -1324,9 +1325,10 @@ class VersionBuilder::Rep {
|
|
|
1324
1325
|
int level = files_meta[file_idx].second;
|
|
1325
1326
|
TableCache::TypedHandle* handle = nullptr;
|
|
1326
1327
|
statuses[file_idx] = table_cache_->FindTable(
|
|
1327
|
-
|
|
1328
|
+
read_options, file_options_,
|
|
1328
1329
|
*(base_vstorage_->InternalComparator()), *file_meta, &handle,
|
|
1329
|
-
prefix_extractor, false /*no_io */,
|
|
1330
|
+
block_protection_bytes_per_key, prefix_extractor, false /*no_io */,
|
|
1331
|
+
true /* record_read_stats */,
|
|
1330
1332
|
internal_stats->GetFileReadHist(level), false, level,
|
|
1331
1333
|
prefetch_index_and_filter_in_cache, max_file_size_for_l0_meta_pin,
|
|
1332
1334
|
file_meta->temperature);
|
|
@@ -1384,10 +1386,12 @@ Status VersionBuilder::LoadTableHandlers(
|
|
|
1384
1386
|
InternalStats* internal_stats, int max_threads,
|
|
1385
1387
|
bool prefetch_index_and_filter_in_cache, bool is_initial_load,
|
|
1386
1388
|
const std::shared_ptr<const SliceTransform>& prefix_extractor,
|
|
1387
|
-
size_t max_file_size_for_l0_meta_pin
|
|
1389
|
+
size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
|
|
1390
|
+
uint8_t block_protection_bytes_per_key) {
|
|
1388
1391
|
return rep_->LoadTableHandlers(
|
|
1389
1392
|
internal_stats, max_threads, prefetch_index_and_filter_in_cache,
|
|
1390
|
-
is_initial_load, prefix_extractor, max_file_size_for_l0_meta_pin
|
|
1393
|
+
is_initial_load, prefix_extractor, max_file_size_for_l0_meta_pin,
|
|
1394
|
+
read_options, block_protection_bytes_per_key);
|
|
1391
1395
|
}
|
|
1392
1396
|
|
|
1393
1397
|
uint64_t VersionBuilder::GetMinOldestBlobFileNumber() const {
|
|
@@ -48,7 +48,8 @@ class VersionBuilder {
|
|
|
48
48
|
InternalStats* internal_stats, int max_threads,
|
|
49
49
|
bool prefetch_index_and_filter_in_cache, bool is_initial_load,
|
|
50
50
|
const std::shared_ptr<const SliceTransform>& prefix_extractor,
|
|
51
|
-
size_t max_file_size_for_l0_meta_pin
|
|
51
|
+
size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
|
|
52
|
+
uint8_t block_protection_bytes_per_key);
|
|
52
53
|
uint64_t GetMinOldestBlobFileNumber() const;
|
|
53
54
|
|
|
54
55
|
private:
|
|
@@ -73,7 +73,7 @@ class VersionBuilderTest : public testing::Test {
|
|
|
73
73
|
/* marked_for_compact */ false, Temperature::kUnknown,
|
|
74
74
|
oldest_blob_file_number, kUnknownOldestAncesterTime,
|
|
75
75
|
kUnknownFileCreationTime, epoch_number, kUnknownFileChecksum,
|
|
76
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
76
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
77
77
|
f->compensated_file_size = file_size;
|
|
78
78
|
f->num_entries = num_entries;
|
|
79
79
|
f->num_deletions = num_deletions;
|
|
@@ -136,7 +136,7 @@ class VersionBuilderTest : public testing::Test {
|
|
|
136
136
|
Temperature::kUnknown, blob_file_number,
|
|
137
137
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
138
138
|
epoch_number, kUnknownFileChecksum,
|
|
139
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
139
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
void UpdateVersionStorageInfo(VersionStorageInfo* vstorage) {
|
|
@@ -183,11 +183,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
|
|
|
183
183
|
UpdateVersionStorageInfo();
|
|
184
184
|
|
|
185
185
|
VersionEdit version_edit;
|
|
186
|
-
version_edit.AddFile(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
186
|
+
version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
|
|
187
|
+
GetInternalKey("350"), 200, 200, false,
|
|
188
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
189
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
190
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
191
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
191
192
|
version_edit.DeleteFile(3, 27U);
|
|
192
193
|
|
|
193
194
|
EnvOptions env_options;
|
|
@@ -230,11 +231,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
|
|
|
230
231
|
UpdateVersionStorageInfo();
|
|
231
232
|
|
|
232
233
|
VersionEdit version_edit;
|
|
233
|
-
version_edit.AddFile(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
234
|
+
version_edit.AddFile(3, 666, 0, 100U, GetInternalKey("301"),
|
|
235
|
+
GetInternalKey("350"), 200, 200, false,
|
|
236
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
237
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
238
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
239
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
238
240
|
|
|
239
241
|
version_edit.DeleteFile(0, 1U);
|
|
240
242
|
version_edit.DeleteFile(0, 88U);
|
|
@@ -281,11 +283,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
|
|
|
281
283
|
UpdateVersionStorageInfo();
|
|
282
284
|
|
|
283
285
|
VersionEdit version_edit;
|
|
284
|
-
version_edit.AddFile(
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
286
|
+
version_edit.AddFile(4, 666, 0, 100U, GetInternalKey("301"),
|
|
287
|
+
GetInternalKey("350"), 200, 200, false,
|
|
288
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
289
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
290
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
291
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
289
292
|
version_edit.DeleteFile(0, 1U);
|
|
290
293
|
version_edit.DeleteFile(0, 88U);
|
|
291
294
|
version_edit.DeleteFile(4, 6U);
|
|
@@ -317,31 +320,36 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
|
|
|
317
320
|
UpdateVersionStorageInfo();
|
|
318
321
|
|
|
319
322
|
VersionEdit version_edit;
|
|
320
|
-
version_edit.AddFile(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
323
|
+
version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
|
|
324
|
+
GetInternalKey("350"), 200, 200, false,
|
|
325
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
326
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
327
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
328
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
329
|
+
version_edit.AddFile(2, 676, 0, 100U, GetInternalKey("401"),
|
|
330
|
+
GetInternalKey("450"), 200, 200, false,
|
|
331
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
332
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
333
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
334
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
335
|
+
version_edit.AddFile(2, 636, 0, 100U, GetInternalKey("601"),
|
|
336
|
+
GetInternalKey("650"), 200, 200, false,
|
|
337
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
338
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
339
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
340
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
341
|
+
version_edit.AddFile(2, 616, 0, 100U, GetInternalKey("501"),
|
|
342
|
+
GetInternalKey("550"), 200, 200, false,
|
|
343
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
344
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
345
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
346
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
347
|
+
version_edit.AddFile(2, 606, 0, 100U, GetInternalKey("701"),
|
|
348
|
+
GetInternalKey("750"), 200, 200, false,
|
|
349
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
350
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
351
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
352
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
345
353
|
|
|
346
354
|
EnvOptions env_options;
|
|
347
355
|
constexpr TableCache* table_cache = nullptr;
|
|
@@ -376,46 +384,53 @@ TEST_F(VersionBuilderTest, ApplyDeleteAndSaveTo) {
|
|
|
376
384
|
kCompactionStyleLevel, nullptr, false);
|
|
377
385
|
|
|
378
386
|
VersionEdit version_edit;
|
|
379
|
-
version_edit.AddFile(
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
387
|
+
version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
|
|
388
|
+
GetInternalKey("350"), 200, 200, false,
|
|
389
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
390
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
391
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
392
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
393
|
+
version_edit.AddFile(2, 676, 0, 100U, GetInternalKey("401"),
|
|
394
|
+
GetInternalKey("450"), 200, 200, false,
|
|
395
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
396
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
397
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
398
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
399
|
+
version_edit.AddFile(2, 636, 0, 100U, GetInternalKey("601"),
|
|
400
|
+
GetInternalKey("650"), 200, 200, false,
|
|
401
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
402
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
403
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
404
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
405
|
+
version_edit.AddFile(2, 616, 0, 100U, GetInternalKey("501"),
|
|
406
|
+
GetInternalKey("550"), 200, 200, false,
|
|
407
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
408
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
409
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
410
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
411
|
+
version_edit.AddFile(2, 606, 0, 100U, GetInternalKey("701"),
|
|
412
|
+
GetInternalKey("750"), 200, 200, false,
|
|
413
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
414
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
415
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
416
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
404
417
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
405
418
|
|
|
406
419
|
VersionEdit version_edit2;
|
|
407
|
-
version_edit.AddFile(
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
420
|
+
version_edit.AddFile(2, 808, 0, 100U, GetInternalKey("901"),
|
|
421
|
+
GetInternalKey("950"), 200, 200, false,
|
|
422
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
423
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
424
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
425
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
412
426
|
version_edit2.DeleteFile(2, 616);
|
|
413
427
|
version_edit2.DeleteFile(2, 636);
|
|
414
|
-
version_edit.AddFile(
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
428
|
+
version_edit.AddFile(2, 806, 0, 100U, GetInternalKey("801"),
|
|
429
|
+
GetInternalKey("850"), 200, 200, false,
|
|
430
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
431
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
432
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
433
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
419
434
|
|
|
420
435
|
ASSERT_OK(version_builder.Apply(&version_edit2));
|
|
421
436
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
@@ -520,13 +535,14 @@ TEST_F(VersionBuilderTest, ApplyFileDeletionAndAddition) {
|
|
|
520
535
|
|
|
521
536
|
constexpr bool marked_for_compaction = false;
|
|
522
537
|
|
|
523
|
-
addition.AddFile(
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
538
|
+
addition.AddFile(level, file_number, path_id, file_size,
|
|
539
|
+
GetInternalKey(smallest, smallest_seq),
|
|
540
|
+
GetInternalKey(largest, largest_seq), smallest_seqno,
|
|
541
|
+
largest_seqno, marked_for_compaction, Temperature::kUnknown,
|
|
542
|
+
kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
|
|
543
|
+
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
544
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
545
|
+
kNullUniqueId64x2, 0, 0);
|
|
530
546
|
|
|
531
547
|
ASSERT_OK(builder.Apply(&addition));
|
|
532
548
|
|
|
@@ -570,12 +586,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyInBase) {
|
|
|
570
586
|
constexpr SequenceNumber largest_seqno = 1000;
|
|
571
587
|
constexpr bool marked_for_compaction = false;
|
|
572
588
|
|
|
573
|
-
edit.AddFile(
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
589
|
+
edit.AddFile(new_level, file_number, path_id, file_size,
|
|
590
|
+
GetInternalKey(smallest), GetInternalKey(largest),
|
|
591
|
+
smallest_seqno, largest_seqno, marked_for_compaction,
|
|
592
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
593
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
594
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
595
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
579
596
|
|
|
580
597
|
const Status s = builder.Apply(&edit);
|
|
581
598
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -606,12 +623,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
|
|
|
606
623
|
constexpr SequenceNumber largest_seqno = 1000;
|
|
607
624
|
constexpr bool marked_for_compaction = false;
|
|
608
625
|
|
|
609
|
-
edit.AddFile(
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
626
|
+
edit.AddFile(level, file_number, path_id, file_size, GetInternalKey(smallest),
|
|
627
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
628
|
+
marked_for_compaction, Temperature::kUnknown,
|
|
629
|
+
kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
|
|
630
|
+
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
631
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
632
|
+
kNullUniqueId64x2, 0, 0);
|
|
615
633
|
|
|
616
634
|
ASSERT_OK(builder.Apply(&edit));
|
|
617
635
|
|
|
@@ -619,12 +637,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
|
|
|
619
637
|
|
|
620
638
|
constexpr int new_level = 2;
|
|
621
639
|
|
|
622
|
-
other_edit.AddFile(
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
640
|
+
other_edit.AddFile(new_level, file_number, path_id, file_size,
|
|
641
|
+
GetInternalKey(smallest), GetInternalKey(largest),
|
|
642
|
+
smallest_seqno, largest_seqno, marked_for_compaction,
|
|
643
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
644
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
645
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
646
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
628
647
|
|
|
629
648
|
const Status s = builder.Apply(&other_edit);
|
|
630
649
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -655,12 +674,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
|
|
|
655
674
|
|
|
656
675
|
VersionEdit addition;
|
|
657
676
|
|
|
658
|
-
addition.AddFile(
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
677
|
+
addition.AddFile(level, file_number, path_id, file_size,
|
|
678
|
+
GetInternalKey(smallest), GetInternalKey(largest),
|
|
679
|
+
smallest_seqno, largest_seqno, marked_for_compaction,
|
|
680
|
+
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
681
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
682
|
+
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
683
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
664
684
|
|
|
665
685
|
ASSERT_OK(builder.Apply(&addition));
|
|
666
686
|
|
|
@@ -1233,7 +1253,7 @@ TEST_F(VersionBuilderTest, SaveBlobFilesToConcurrentJobs) {
|
|
|
1233
1253
|
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
1234
1254
|
marked_for_compaction, Temperature::kUnknown, blob_file_number,
|
|
1235
1255
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime, 2 /*epoch_number*/,
|
|
1236
|
-
checksum_value, checksum_method, kNullUniqueId64x2, 0);
|
|
1256
|
+
checksum_value, checksum_method, kNullUniqueId64x2, 0, 0);
|
|
1237
1257
|
edit.AddBlobFile(blob_file_number, total_blob_count, total_blob_bytes,
|
|
1238
1258
|
checksum_method, checksum_value);
|
|
1239
1259
|
|
|
@@ -1321,7 +1341,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
|
|
|
1321
1341
|
/* oldest_blob_file_number */ 16, kUnknownOldestAncesterTime,
|
|
1322
1342
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1323
1343
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1324
|
-
kNullUniqueId64x2, 0);
|
|
1344
|
+
kNullUniqueId64x2, 0, 0);
|
|
1325
1345
|
|
|
1326
1346
|
edit.AddFile(/* level */ 1, /* file_number */ 700, /* path_id */ 0,
|
|
1327
1347
|
/* file_size */ 100, /* smallest */ GetInternalKey("801"),
|
|
@@ -1331,7 +1351,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
|
|
|
1331
1351
|
/* oldest_blob_file_number */ 1000, kUnknownOldestAncesterTime,
|
|
1332
1352
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1333
1353
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1334
|
-
kNullUniqueId64x2, 0);
|
|
1354
|
+
kNullUniqueId64x2, 0, 0);
|
|
1335
1355
|
edit.AddBlobFile(/* blob_file_number */ 1000, /* total_blob_count */ 2000,
|
|
1336
1356
|
/* total_blob_bytes */ 200000,
|
|
1337
1357
|
/* checksum_method */ std::string(),
|
|
@@ -1552,7 +1572,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1552
1572
|
Temperature::kUnknown,
|
|
1553
1573
|
/* oldest_blob_file_number */ 1, kUnknownOldestAncesterTime,
|
|
1554
1574
|
kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1555
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
1575
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
1556
1576
|
|
|
1557
1577
|
// Add an SST that does not reference any blob files.
|
|
1558
1578
|
edit.AddFile(
|
|
@@ -1562,7 +1582,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1562
1582
|
/* largest_seqno */ 2200, /* marked_for_compaction */ false,
|
|
1563
1583
|
Temperature::kUnknown, kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
|
|
1564
1584
|
kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1565
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
1585
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
1566
1586
|
|
|
1567
1587
|
// Delete a file that references a blob file.
|
|
1568
1588
|
edit.DeleteFile(/* level */ 1, /* file_number */ 6);
|
|
@@ -1585,7 +1605,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1585
1605
|
/* oldest_blob_file_number */ 3, kUnknownOldestAncesterTime,
|
|
1586
1606
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1587
1607
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1588
|
-
kNullUniqueId64x2, 0);
|
|
1608
|
+
kNullUniqueId64x2, 0, 0);
|
|
1589
1609
|
|
|
1590
1610
|
// Trivially move a file that does not reference any blob files.
|
|
1591
1611
|
edit.DeleteFile(/* level */ 1, /* file_number */ 13);
|
|
@@ -1597,7 +1617,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1597
1617
|
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
1598
1618
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1599
1619
|
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1600
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
|
|
1620
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
|
|
1601
1621
|
|
|
1602
1622
|
// Add one more SST file that references a blob file, then promptly
|
|
1603
1623
|
// delete it in a second version edit before the new version gets saved.
|
|
@@ -1611,7 +1631,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1611
1631
|
/* oldest_blob_file_number */ 5, kUnknownOldestAncesterTime,
|
|
1612
1632
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1613
1633
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1614
|
-
kNullUniqueId64x2, 0);
|
|
1634
|
+
kNullUniqueId64x2, 0, 0);
|
|
1615
1635
|
|
|
1616
1636
|
VersionEdit edit2;
|
|
1617
1637
|
|
|
@@ -1712,7 +1732,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1712
1732
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1713
1733
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1714
1734
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1715
|
-
kNullUniqueId64x2, 0);
|
|
1735
|
+
kNullUniqueId64x2, 0, 0);
|
|
1716
1736
|
version_edit_1.AddFile(
|
|
1717
1737
|
/* level */ 0, /* file_number */ 2U, /* path_id */ 0,
|
|
1718
1738
|
/* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
|
|
@@ -1722,7 +1742,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1722
1742
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1723
1743
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1724
1744
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1725
|
-
kNullUniqueId64x2, 0);
|
|
1745
|
+
kNullUniqueId64x2, 0, 0);
|
|
1726
1746
|
|
|
1727
1747
|
VersionBuilder version_builder_1(EnvOptions(), &ioptions_,
|
|
1728
1748
|
nullptr /* table_cache */, &vstorage_,
|
|
@@ -1749,7 +1769,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1749
1769
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1750
1770
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1751
1771
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1752
|
-
kNullUniqueId64x2, 0);
|
|
1772
|
+
kNullUniqueId64x2, 0, 0);
|
|
1753
1773
|
version_edit_2.AddFile(
|
|
1754
1774
|
/* level */ 0, /* file_number */ 2U, /* path_id */ 0,
|
|
1755
1775
|
/* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
|
|
@@ -1759,7 +1779,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1759
1779
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1760
1780
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1761
1781
|
2 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1762
|
-
kNullUniqueId64x2, 0);
|
|
1782
|
+
kNullUniqueId64x2, 0, 0);
|
|
1763
1783
|
|
|
1764
1784
|
VersionBuilder version_builder_2(EnvOptions(), &ioptions_,
|
|
1765
1785
|
nullptr /* table_cache */, &vstorage_,
|