@nxtedition/rocksdb 8.2.8 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -1
- package/deps/rocksdb/rocksdb/Makefile +22 -19
- package/deps/rocksdb/rocksdb/TARGETS +8 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +157 -61
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +43 -92
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +632 -455
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +244 -149
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +41 -13
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +11 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +216 -17
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +7 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +279 -199
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +159 -8
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.h +28 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +8 -0
- package/deps/rocksdb/rocksdb/crash_test.mk +14 -0
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +3 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +18 -21
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/builder.cc +32 -7
- package/deps/rocksdb/rocksdb/db/c.cc +169 -6
- package/deps/rocksdb/rocksdb/db/c_test.c +104 -6
- package/deps/rocksdb/rocksdb/db/column_family.cc +98 -47
- package/deps/rocksdb/rocksdb/db/column_family.h +25 -2
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +213 -2
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +93 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +33 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +107 -43
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +15 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +4 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +25 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +13 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +29 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +24 -31
- package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +3 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +19 -19
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +20 -3
- package/deps/rocksdb/rocksdb/db/convenience_impl.h +15 -0
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +17 -0
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +17 -3
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +15 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +666 -44
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +2 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +274 -1
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +40 -19
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +6 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +250 -116
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +51 -23
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +354 -96
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +2 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +50 -21
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +26 -13
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +13 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +61 -21
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +8 -87
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +7 -1
- package/deps/rocksdb/rocksdb/db/db_iter.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_iter.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +4 -11
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +39 -29
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +26 -36
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +106 -0
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +12 -3
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +279 -166
- package/deps/rocksdb/rocksdb/db/db_test.cc +48 -21
- package/deps/rocksdb/rocksdb/db/db_test2.cc +81 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +40 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +13 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +233 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +143 -0
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/dbformat.cc +36 -0
- package/deps/rocksdb/rocksdb/db/dbformat.h +169 -20
- package/deps/rocksdb/rocksdb/db/dbformat_test.cc +129 -0
- package/deps/rocksdb/rocksdb/db/error_handler.cc +16 -0
- package/deps/rocksdb/rocksdb/db/error_handler.h +6 -3
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +4 -0
- package/deps/rocksdb/rocksdb/db/experimental.cc +2 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +17 -8
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +86 -4
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/file_indexer.cc +2 -4
- package/deps/rocksdb/rocksdb/db/flush_job.cc +101 -11
- package/deps/rocksdb/rocksdb/db/flush_job.h +24 -1
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +88 -11
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +2 -3
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +159 -91
- package/deps/rocksdb/rocksdb/db/import_column_family_job.h +19 -10
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +143 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -1
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/log_reader.h +3 -2
- package/deps/rocksdb/rocksdb/db/log_test.cc +17 -21
- package/deps/rocksdb/rocksdb/db/log_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/db/log_writer.h +3 -2
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +4 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +52 -13
- package/deps/rocksdb/rocksdb/db/memtable.h +45 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +44 -10
- package/deps/rocksdb/rocksdb/db/memtable_list.h +32 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +90 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +21 -4
- package/deps/rocksdb/rocksdb/db/repair_test.cc +143 -2
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/table_cache.cc +44 -35
- package/deps/rocksdb/rocksdb/db/table_cache.h +6 -6
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -2
- package/deps/rocksdb/rocksdb/db/version_builder.cc +0 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +236 -204
- package/deps/rocksdb/rocksdb/db/version_edit.cc +66 -4
- package/deps/rocksdb/rocksdb/db/version_edit.h +48 -6
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +80 -8
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +12 -0
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +86 -17
- package/deps/rocksdb/rocksdb/db/version_set.cc +136 -41
- package/deps/rocksdb/rocksdb/db/version_set.h +28 -7
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +25 -15
- package/deps/rocksdb/rocksdb/db/write_batch.cc +11 -0
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +3 -0
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +16 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +22 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +42 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +32 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +7 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +247 -120
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +9 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +13 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +15 -27
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +264 -69
- package/deps/rocksdb/rocksdb/env/env.cc +1 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +11 -165
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +0 -17
- package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +86 -2
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +78 -0
- package/deps/rocksdb/rocksdb/env/unique_id_gen.h +34 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +15 -4
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +52 -43
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +34 -18
- package/deps/rocksdb/rocksdb/file/file_util.cc +10 -5
- package/deps/rocksdb/rocksdb/file/file_util.h +13 -1
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +724 -79
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +64 -33
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -16
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +23 -12
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +153 -88
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +70 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +50 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +16 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +55 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +32 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +9 -109
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +90 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +85 -17
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +13 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +21 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +7 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +6 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +33 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +33 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +3 -0
- package/deps/rocksdb/rocksdb/memory/arena_test.cc +18 -11
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +2 -1
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +69 -34
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +16 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +10 -0
- package/deps/rocksdb/rocksdb/options/cf_options.cc +19 -0
- package/deps/rocksdb/rocksdb/options/cf_options.h +10 -2
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +2 -1
- package/deps/rocksdb/rocksdb/options/db_options.cc +7 -0
- package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
- package/deps/rocksdb/rocksdb/options/options.cc +15 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +6 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +11 -3
- package/deps/rocksdb/rocksdb/options/options_test.cc +8 -0
- package/deps/rocksdb/rocksdb/port/mmap.h +20 -0
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +27 -12
- package/deps/rocksdb/rocksdb/port/win/env_win.h +1 -1
- package/deps/rocksdb/rocksdb/src.mk +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +48 -22
- package/deps/rocksdb/rocksdb/table/block_based/block.h +60 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +115 -42
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +6 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +60 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +62 -44
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +36 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +219 -51
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +41 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +50 -21
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +11 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +195 -55
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +31 -16
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +97 -58
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +6 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +27 -12
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +114 -70
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +9 -6
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +15 -3
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +6 -3
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +11 -11
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +3 -0
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +6 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/table/format.cc +175 -33
- package/deps/rocksdb/rocksdb/table/format.h +63 -10
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +10 -2
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +12 -4
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +1 -0
- package/deps/rocksdb/rocksdb/table/mock_table.cc +8 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +10 -5
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +12 -3
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +26 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +6 -2
- package/deps/rocksdb/rocksdb/table/table_properties.cc +6 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +52 -22
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +19 -7
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +3 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +29 -0
- package/deps/rocksdb/rocksdb/test_util/testutil.h +19 -0
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +65 -26
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +8 -5
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +4 -0
- package/deps/rocksdb/rocksdb/unreleased_history/README.txt +73 -0
- package/deps/rocksdb/rocksdb/unreleased_history/add.sh +27 -0
- package/deps/rocksdb/rocksdb/unreleased_history/behavior_changes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/bug_fixes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/new_features/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/performance_improvements/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/public_api_changes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/release.sh +104 -0
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +5 -0
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +3 -3
- package/deps/rocksdb/rocksdb/util/cast_util.h +14 -0
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +2 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +29 -7
- package/deps/rocksdb/rocksdb/util/compression.cc +4 -4
- package/deps/rocksdb/rocksdb/util/compression.h +110 -32
- package/deps/rocksdb/rocksdb/util/core_local.h +2 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +4 -4
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +3 -0
- package/deps/rocksdb/rocksdb/util/hash.h +7 -3
- package/deps/rocksdb/rocksdb/util/hash_test.cc +44 -0
- package/deps/rocksdb/rocksdb/util/math.h +58 -6
- package/deps/rocksdb/rocksdb/util/math128.h +29 -7
- package/deps/rocksdb/rocksdb/util/mutexlock.h +35 -27
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +1 -0
- package/deps/rocksdb/rocksdb/util/stop_watch.h +1 -1
- package/deps/rocksdb/rocksdb/util/thread_operation.h +8 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +343 -0
- package/deps/rocksdb/rocksdb/util/udt_util.h +173 -1
- package/deps/rocksdb/rocksdb/util/udt_util_test.cc +447 -0
- package/deps/rocksdb/rocksdb/util/write_batch_util.cc +25 -0
- package/deps/rocksdb/rocksdb/util/write_batch_util.h +80 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +69 -25
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +7 -6
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +6 -11
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +2 -1
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +23 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +9 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +231 -33
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +76 -20
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +18 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +40 -23
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +13 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +7 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +41 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +71 -24
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +19 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +60 -107
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +39 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +14 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +10 -5
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
- package/deps/rocksdb/rocksdb.gyp +2 -0
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
|
@@ -37,7 +37,8 @@ class VersionBuilderTest : public testing::Test {
|
|
|
37
37
|
ioptions_(options_),
|
|
38
38
|
mutable_cf_options_(options_),
|
|
39
39
|
vstorage_(&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
|
|
40
|
-
nullptr, false
|
|
40
|
+
nullptr, false, EpochNumberRequirement::kMustPresent,
|
|
41
|
+
ioptions_.clock, options_.bottommost_file_compaction_delay),
|
|
41
42
|
file_num_(1) {
|
|
42
43
|
mutable_cf_options_.RefreshDerivedOptions(ioptions_);
|
|
43
44
|
size_being_compacted_.resize(options_.num_levels);
|
|
@@ -73,7 +74,8 @@ class VersionBuilderTest : public testing::Test {
|
|
|
73
74
|
/* marked_for_compact */ false, Temperature::kUnknown,
|
|
74
75
|
oldest_blob_file_number, kUnknownOldestAncesterTime,
|
|
75
76
|
kUnknownFileCreationTime, epoch_number, kUnknownFileChecksum,
|
|
76
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0
|
|
77
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
|
|
78
|
+
/* user_defined_timestamps_persisted */ true);
|
|
77
79
|
f->compensated_file_size = file_size;
|
|
78
80
|
f->num_entries = num_entries;
|
|
79
81
|
f->num_deletions = num_deletions;
|
|
@@ -130,13 +132,13 @@ class VersionBuilderTest : public testing::Test {
|
|
|
130
132
|
constexpr SequenceNumber largest_seqno = 300;
|
|
131
133
|
constexpr bool marked_for_compaction = false;
|
|
132
134
|
|
|
133
|
-
edit->AddFile(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
135
|
+
edit->AddFile(
|
|
136
|
+
level, table_file_number, path_id, file_size, GetInternalKey(smallest),
|
|
137
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
138
|
+
marked_for_compaction, Temperature::kUnknown, blob_file_number,
|
|
139
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, epoch_number,
|
|
140
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2,
|
|
141
|
+
0, 0, /* user_defined_timestamps_persisted */ true);
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
void UpdateVersionStorageInfo(VersionStorageInfo* vstorage) {
|
|
@@ -183,12 +185,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
|
|
|
183
185
|
UpdateVersionStorageInfo();
|
|
184
186
|
|
|
185
187
|
VersionEdit version_edit;
|
|
186
|
-
version_edit.AddFile(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
version_edit.AddFile(
|
|
189
|
+
2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
|
|
190
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
191
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
192
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
193
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
192
194
|
version_edit.DeleteFile(3, 27U);
|
|
193
195
|
|
|
194
196
|
EnvOptions env_options;
|
|
@@ -198,8 +200,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
|
|
|
198
200
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
199
201
|
&vstorage_, version_set);
|
|
200
202
|
|
|
201
|
-
VersionStorageInfo new_vstorage(
|
|
202
|
-
|
|
203
|
+
VersionStorageInfo new_vstorage(
|
|
204
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
|
|
205
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
203
206
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
204
207
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
205
208
|
|
|
@@ -231,12 +234,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
|
|
|
231
234
|
UpdateVersionStorageInfo();
|
|
232
235
|
|
|
233
236
|
VersionEdit version_edit;
|
|
234
|
-
version_edit.AddFile(
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
version_edit.AddFile(
|
|
238
|
+
3, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
|
|
239
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
240
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
241
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
242
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
240
243
|
|
|
241
244
|
version_edit.DeleteFile(0, 1U);
|
|
242
245
|
version_edit.DeleteFile(0, 88U);
|
|
@@ -248,8 +251,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
|
|
|
248
251
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
249
252
|
&vstorage_, version_set);
|
|
250
253
|
|
|
251
|
-
VersionStorageInfo new_vstorage(
|
|
252
|
-
|
|
254
|
+
VersionStorageInfo new_vstorage(
|
|
255
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
|
|
256
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
253
257
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
254
258
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
255
259
|
|
|
@@ -283,12 +287,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
|
|
|
283
287
|
UpdateVersionStorageInfo();
|
|
284
288
|
|
|
285
289
|
VersionEdit version_edit;
|
|
286
|
-
version_edit.AddFile(
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
version_edit.AddFile(
|
|
291
|
+
4, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
|
|
292
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
293
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
294
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
295
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
292
296
|
version_edit.DeleteFile(0, 1U);
|
|
293
297
|
version_edit.DeleteFile(0, 88U);
|
|
294
298
|
version_edit.DeleteFile(4, 6U);
|
|
@@ -302,8 +306,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
|
|
|
302
306
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
303
307
|
&vstorage_, version_set);
|
|
304
308
|
|
|
305
|
-
VersionStorageInfo new_vstorage(
|
|
306
|
-
|
|
309
|
+
VersionStorageInfo new_vstorage(
|
|
310
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
|
|
311
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
307
312
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
308
313
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
309
314
|
|
|
@@ -320,36 +325,36 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
|
|
|
320
325
|
UpdateVersionStorageInfo();
|
|
321
326
|
|
|
322
327
|
VersionEdit version_edit;
|
|
323
|
-
version_edit.AddFile(
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
version_edit.AddFile(
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
version_edit.AddFile(
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
version_edit.AddFile(
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
version_edit.AddFile(
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
328
|
+
version_edit.AddFile(
|
|
329
|
+
2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
|
|
330
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
331
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
332
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
333
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
334
|
+
version_edit.AddFile(
|
|
335
|
+
2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
|
|
336
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
337
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
338
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
339
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
340
|
+
version_edit.AddFile(
|
|
341
|
+
2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
|
|
342
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
343
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
344
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
345
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
346
|
+
version_edit.AddFile(
|
|
347
|
+
2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
|
|
348
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
349
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
350
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
351
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
352
|
+
version_edit.AddFile(
|
|
353
|
+
2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
|
|
354
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
355
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
356
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
357
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
353
358
|
|
|
354
359
|
EnvOptions env_options;
|
|
355
360
|
constexpr TableCache* table_cache = nullptr;
|
|
@@ -358,8 +363,9 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
|
|
|
358
363
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
359
364
|
&vstorage_, version_set);
|
|
360
365
|
|
|
361
|
-
VersionStorageInfo new_vstorage(
|
|
362
|
-
|
|
366
|
+
VersionStorageInfo new_vstorage(
|
|
367
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
|
|
368
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
363
369
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
364
370
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
365
371
|
|
|
@@ -380,57 +386,58 @@ TEST_F(VersionBuilderTest, ApplyDeleteAndSaveTo) {
|
|
|
380
386
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
381
387
|
&vstorage_, version_set);
|
|
382
388
|
|
|
383
|
-
VersionStorageInfo new_vstorage(
|
|
384
|
-
|
|
389
|
+
VersionStorageInfo new_vstorage(
|
|
390
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
|
|
391
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
385
392
|
|
|
386
393
|
VersionEdit version_edit;
|
|
387
|
-
version_edit.AddFile(
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
version_edit.AddFile(
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
version_edit.AddFile(
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
version_edit.AddFile(
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
version_edit.AddFile(
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
394
|
+
version_edit.AddFile(
|
|
395
|
+
2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
|
|
396
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
397
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
398
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
399
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
400
|
+
version_edit.AddFile(
|
|
401
|
+
2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
|
|
402
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
403
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
404
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
405
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
406
|
+
version_edit.AddFile(
|
|
407
|
+
2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
|
|
408
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
409
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
410
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
411
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
412
|
+
version_edit.AddFile(
|
|
413
|
+
2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
|
|
414
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
415
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
416
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
417
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
418
|
+
version_edit.AddFile(
|
|
419
|
+
2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
|
|
420
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
421
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
422
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
423
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
417
424
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
418
425
|
|
|
419
426
|
VersionEdit version_edit2;
|
|
420
|
-
version_edit.AddFile(
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
427
|
+
version_edit.AddFile(
|
|
428
|
+
2, 808, 0, 100U, GetInternalKey("901"), GetInternalKey("950"), 200, 200,
|
|
429
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
430
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
431
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
432
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
426
433
|
version_edit2.DeleteFile(2, 616);
|
|
427
434
|
version_edit2.DeleteFile(2, 636);
|
|
428
|
-
version_edit.AddFile(
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
435
|
+
version_edit.AddFile(
|
|
436
|
+
2, 806, 0, 100U, GetInternalKey("801"), GetInternalKey("850"), 200, 200,
|
|
437
|
+
false, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
438
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
439
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
440
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
434
441
|
|
|
435
442
|
ASSERT_OK(version_builder.Apply(&version_edit2));
|
|
436
443
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
@@ -535,21 +542,22 @@ TEST_F(VersionBuilderTest, ApplyFileDeletionAndAddition) {
|
|
|
535
542
|
|
|
536
543
|
constexpr bool marked_for_compaction = false;
|
|
537
544
|
|
|
538
|
-
addition.AddFile(
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
545
|
+
addition.AddFile(
|
|
546
|
+
level, file_number, path_id, file_size,
|
|
547
|
+
GetInternalKey(smallest, smallest_seq),
|
|
548
|
+
GetInternalKey(largest, largest_seq), smallest_seqno, largest_seqno,
|
|
549
|
+
marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
550
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
551
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
552
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
546
553
|
|
|
547
554
|
ASSERT_OK(builder.Apply(&addition));
|
|
548
555
|
|
|
549
556
|
constexpr bool force_consistency_checks = false;
|
|
550
|
-
VersionStorageInfo new_vstorage(
|
|
551
|
-
|
|
552
|
-
|
|
557
|
+
VersionStorageInfo new_vstorage(
|
|
558
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
559
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
560
|
+
0);
|
|
553
561
|
|
|
554
562
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
555
563
|
|
|
@@ -586,13 +594,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyInBase) {
|
|
|
586
594
|
constexpr SequenceNumber largest_seqno = 1000;
|
|
587
595
|
constexpr bool marked_for_compaction = false;
|
|
588
596
|
|
|
589
|
-
edit.AddFile(
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
597
|
+
edit.AddFile(
|
|
598
|
+
new_level, file_number, path_id, file_size, GetInternalKey(smallest),
|
|
599
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
600
|
+
marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
601
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
602
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
603
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
596
604
|
|
|
597
605
|
const Status s = builder.Apply(&edit);
|
|
598
606
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -623,13 +631,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
|
|
|
623
631
|
constexpr SequenceNumber largest_seqno = 1000;
|
|
624
632
|
constexpr bool marked_for_compaction = false;
|
|
625
633
|
|
|
626
|
-
edit.AddFile(
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
634
|
+
edit.AddFile(
|
|
635
|
+
level, file_number, path_id, file_size, GetInternalKey(smallest),
|
|
636
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
637
|
+
marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
638
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
639
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
640
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
633
641
|
|
|
634
642
|
ASSERT_OK(builder.Apply(&edit));
|
|
635
643
|
|
|
@@ -637,13 +645,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
|
|
|
637
645
|
|
|
638
646
|
constexpr int new_level = 2;
|
|
639
647
|
|
|
640
|
-
other_edit.AddFile(
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
648
|
+
other_edit.AddFile(
|
|
649
|
+
new_level, file_number, path_id, file_size, GetInternalKey(smallest),
|
|
650
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
651
|
+
marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
652
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
653
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
654
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
647
655
|
|
|
648
656
|
const Status s = builder.Apply(&other_edit);
|
|
649
657
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -674,13 +682,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
|
|
|
674
682
|
|
|
675
683
|
VersionEdit addition;
|
|
676
684
|
|
|
677
|
-
addition.AddFile(
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
685
|
+
addition.AddFile(
|
|
686
|
+
level, file_number, path_id, file_size, GetInternalKey(smallest),
|
|
687
|
+
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
688
|
+
marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
689
|
+
kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
690
|
+
kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
|
|
691
|
+
0, /* user_defined_timestamps_persisted */ true);
|
|
684
692
|
|
|
685
693
|
ASSERT_OK(builder.Apply(&addition));
|
|
686
694
|
|
|
@@ -691,9 +699,10 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
|
|
|
691
699
|
ASSERT_OK(builder.Apply(&deletion));
|
|
692
700
|
|
|
693
701
|
constexpr bool force_consistency_checks = false;
|
|
694
|
-
VersionStorageInfo new_vstorage(
|
|
695
|
-
|
|
696
|
-
|
|
702
|
+
VersionStorageInfo new_vstorage(
|
|
703
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
704
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
705
|
+
0);
|
|
697
706
|
|
|
698
707
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
699
708
|
|
|
@@ -735,9 +744,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileAddition) {
|
|
|
735
744
|
ASSERT_OK(builder.Apply(&edit));
|
|
736
745
|
|
|
737
746
|
constexpr bool force_consistency_checks = false;
|
|
738
|
-
VersionStorageInfo new_vstorage(
|
|
739
|
-
|
|
740
|
-
|
|
747
|
+
VersionStorageInfo new_vstorage(
|
|
748
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
749
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
750
|
+
0);
|
|
741
751
|
|
|
742
752
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
743
753
|
|
|
@@ -874,9 +884,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileGarbageFileInBase) {
|
|
|
874
884
|
ASSERT_OK(builder.Apply(&edit));
|
|
875
885
|
|
|
876
886
|
constexpr bool force_consistency_checks = false;
|
|
877
|
-
VersionStorageInfo new_vstorage(
|
|
878
|
-
|
|
879
|
-
|
|
887
|
+
VersionStorageInfo new_vstorage(
|
|
888
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
889
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
890
|
+
0);
|
|
880
891
|
|
|
881
892
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
882
893
|
|
|
@@ -947,9 +958,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileGarbageFileAdditionApplied) {
|
|
|
947
958
|
ASSERT_OK(builder.Apply(&garbage));
|
|
948
959
|
|
|
949
960
|
constexpr bool force_consistency_checks = false;
|
|
950
|
-
VersionStorageInfo new_vstorage(
|
|
951
|
-
|
|
952
|
-
|
|
961
|
+
VersionStorageInfo new_vstorage(
|
|
962
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
963
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
964
|
+
0);
|
|
953
965
|
|
|
954
966
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
955
967
|
|
|
@@ -1127,9 +1139,10 @@ TEST_F(VersionBuilderTest, SaveBlobFilesTo) {
|
|
|
1127
1139
|
ASSERT_OK(builder.Apply(&edit));
|
|
1128
1140
|
|
|
1129
1141
|
constexpr bool force_consistency_checks = false;
|
|
1130
|
-
VersionStorageInfo new_vstorage(
|
|
1131
|
-
|
|
1132
|
-
|
|
1142
|
+
VersionStorageInfo new_vstorage(
|
|
1143
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1144
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1145
|
+
0);
|
|
1133
1146
|
|
|
1134
1147
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
1135
1148
|
|
|
@@ -1175,9 +1188,10 @@ TEST_F(VersionBuilderTest, SaveBlobFilesTo) {
|
|
|
1175
1188
|
|
|
1176
1189
|
ASSERT_OK(second_builder.Apply(&second_edit));
|
|
1177
1190
|
|
|
1178
|
-
VersionStorageInfo newer_vstorage(
|
|
1179
|
-
|
|
1180
|
-
|
|
1191
|
+
VersionStorageInfo newer_vstorage(
|
|
1192
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &new_vstorage,
|
|
1193
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1194
|
+
0);
|
|
1181
1195
|
|
|
1182
1196
|
ASSERT_OK(second_builder.SaveTo(&newer_vstorage));
|
|
1183
1197
|
|
|
@@ -1253,16 +1267,18 @@ TEST_F(VersionBuilderTest, SaveBlobFilesToConcurrentJobs) {
|
|
|
1253
1267
|
GetInternalKey(largest), smallest_seqno, largest_seqno,
|
|
1254
1268
|
marked_for_compaction, Temperature::kUnknown, blob_file_number,
|
|
1255
1269
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime, 2 /*epoch_number*/,
|
|
1256
|
-
checksum_value, checksum_method, kNullUniqueId64x2, 0, 0
|
|
1270
|
+
checksum_value, checksum_method, kNullUniqueId64x2, 0, 0,
|
|
1271
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1257
1272
|
edit.AddBlobFile(blob_file_number, total_blob_count, total_blob_bytes,
|
|
1258
1273
|
checksum_method, checksum_value);
|
|
1259
1274
|
|
|
1260
1275
|
ASSERT_OK(builder.Apply(&edit));
|
|
1261
1276
|
|
|
1262
1277
|
constexpr bool force_consistency_checks = true;
|
|
1263
|
-
VersionStorageInfo new_vstorage(
|
|
1264
|
-
|
|
1265
|
-
|
|
1278
|
+
VersionStorageInfo new_vstorage(
|
|
1279
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1280
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1281
|
+
0);
|
|
1266
1282
|
|
|
1267
1283
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
1268
1284
|
|
|
@@ -1341,7 +1357,8 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
|
|
|
1341
1357
|
/* oldest_blob_file_number */ 16, kUnknownOldestAncesterTime,
|
|
1342
1358
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1343
1359
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1344
|
-
kNullUniqueId64x2, 0, 0
|
|
1360
|
+
kNullUniqueId64x2, 0, 0,
|
|
1361
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1345
1362
|
|
|
1346
1363
|
edit.AddFile(/* level */ 1, /* file_number */ 700, /* path_id */ 0,
|
|
1347
1364
|
/* file_size */ 100, /* smallest */ GetInternalKey("801"),
|
|
@@ -1351,7 +1368,8 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
|
|
|
1351
1368
|
/* oldest_blob_file_number */ 1000, kUnknownOldestAncesterTime,
|
|
1352
1369
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1353
1370
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1354
|
-
kNullUniqueId64x2, 0, 0
|
|
1371
|
+
kNullUniqueId64x2, 0, 0,
|
|
1372
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1355
1373
|
edit.AddBlobFile(/* blob_file_number */ 1000, /* total_blob_count */ 2000,
|
|
1356
1374
|
/* total_blob_bytes */ 200000,
|
|
1357
1375
|
/* checksum_method */ std::string(),
|
|
@@ -1361,9 +1379,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
|
|
|
1361
1379
|
|
|
1362
1380
|
// Save to a new version in order to trigger consistency checks.
|
|
1363
1381
|
constexpr bool force_consistency_checks = true;
|
|
1364
|
-
VersionStorageInfo new_vstorage(
|
|
1365
|
-
|
|
1366
|
-
|
|
1382
|
+
VersionStorageInfo new_vstorage(
|
|
1383
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1384
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1385
|
+
0);
|
|
1367
1386
|
|
|
1368
1387
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
1369
1388
|
|
|
@@ -1400,9 +1419,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesInconsistentLinks) {
|
|
|
1400
1419
|
|
|
1401
1420
|
// Save to a new version in order to trigger consistency checks.
|
|
1402
1421
|
constexpr bool force_consistency_checks = true;
|
|
1403
|
-
VersionStorageInfo new_vstorage(
|
|
1404
|
-
|
|
1405
|
-
|
|
1422
|
+
VersionStorageInfo new_vstorage(
|
|
1423
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1424
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1425
|
+
0);
|
|
1406
1426
|
|
|
1407
1427
|
const Status s = builder.SaveTo(&new_vstorage);
|
|
1408
1428
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -1441,9 +1461,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesAllGarbage) {
|
|
|
1441
1461
|
|
|
1442
1462
|
// Save to a new version in order to trigger consistency checks.
|
|
1443
1463
|
constexpr bool force_consistency_checks = true;
|
|
1444
|
-
VersionStorageInfo new_vstorage(
|
|
1445
|
-
|
|
1446
|
-
|
|
1464
|
+
VersionStorageInfo new_vstorage(
|
|
1465
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1466
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1467
|
+
0);
|
|
1447
1468
|
|
|
1448
1469
|
const Status s = builder.SaveTo(&new_vstorage);
|
|
1449
1470
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -1490,9 +1511,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesAllGarbageLinkedSsts) {
|
|
|
1490
1511
|
|
|
1491
1512
|
// Save to a new version in order to trigger consistency checks.
|
|
1492
1513
|
constexpr bool force_consistency_checks = true;
|
|
1493
|
-
VersionStorageInfo new_vstorage(
|
|
1494
|
-
|
|
1495
|
-
|
|
1514
|
+
VersionStorageInfo new_vstorage(
|
|
1515
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1516
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1517
|
+
0);
|
|
1496
1518
|
|
|
1497
1519
|
const Status s = builder.SaveTo(&new_vstorage);
|
|
1498
1520
|
ASSERT_TRUE(s.IsCorruption());
|
|
@@ -1572,7 +1594,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1572
1594
|
Temperature::kUnknown,
|
|
1573
1595
|
/* oldest_blob_file_number */ 1, kUnknownOldestAncesterTime,
|
|
1574
1596
|
kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1575
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0
|
|
1597
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
|
|
1598
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1576
1599
|
|
|
1577
1600
|
// Add an SST that does not reference any blob files.
|
|
1578
1601
|
edit.AddFile(
|
|
@@ -1582,7 +1605,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1582
1605
|
/* largest_seqno */ 2200, /* marked_for_compaction */ false,
|
|
1583
1606
|
Temperature::kUnknown, kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
|
|
1584
1607
|
kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1585
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0
|
|
1608
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
|
|
1609
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1586
1610
|
|
|
1587
1611
|
// Delete a file that references a blob file.
|
|
1588
1612
|
edit.DeleteFile(/* level */ 1, /* file_number */ 6);
|
|
@@ -1605,7 +1629,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1605
1629
|
/* oldest_blob_file_number */ 3, kUnknownOldestAncesterTime,
|
|
1606
1630
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1607
1631
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1608
|
-
kNullUniqueId64x2, 0, 0
|
|
1632
|
+
kNullUniqueId64x2, 0, 0,
|
|
1633
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1609
1634
|
|
|
1610
1635
|
// Trivially move a file that does not reference any blob files.
|
|
1611
1636
|
edit.DeleteFile(/* level */ 1, /* file_number */ 13);
|
|
@@ -1617,7 +1642,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1617
1642
|
Temperature::kUnknown, kInvalidBlobFileNumber,
|
|
1618
1643
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1619
1644
|
kUnknownEpochNumber, kUnknownFileChecksum,
|
|
1620
|
-
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0
|
|
1645
|
+
kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
|
|
1646
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1621
1647
|
|
|
1622
1648
|
// Add one more SST file that references a blob file, then promptly
|
|
1623
1649
|
// delete it in a second version edit before the new version gets saved.
|
|
@@ -1631,7 +1657,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1631
1657
|
/* oldest_blob_file_number */ 5, kUnknownOldestAncesterTime,
|
|
1632
1658
|
kUnknownFileCreationTime, kUnknownEpochNumber,
|
|
1633
1659
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1634
|
-
kNullUniqueId64x2, 0, 0
|
|
1660
|
+
kNullUniqueId64x2, 0, 0,
|
|
1661
|
+
/* user_defined_timestamps_persisted */ true);
|
|
1635
1662
|
|
|
1636
1663
|
VersionEdit edit2;
|
|
1637
1664
|
|
|
@@ -1648,9 +1675,10 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
|
|
|
1648
1675
|
ASSERT_OK(builder.Apply(&edit2));
|
|
1649
1676
|
|
|
1650
1677
|
constexpr bool force_consistency_checks = true;
|
|
1651
|
-
VersionStorageInfo new_vstorage(
|
|
1652
|
-
|
|
1653
|
-
|
|
1678
|
+
VersionStorageInfo new_vstorage(
|
|
1679
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
|
|
1680
|
+
force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
|
|
1681
|
+
0);
|
|
1654
1682
|
|
|
1655
1683
|
ASSERT_OK(builder.SaveTo(&new_vstorage));
|
|
1656
1684
|
|
|
@@ -1699,9 +1727,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForFileDeletedTwice) {
|
|
|
1699
1727
|
|
|
1700
1728
|
VersionBuilder version_builder(env_options, &ioptions_, table_cache,
|
|
1701
1729
|
&vstorage_, version_set);
|
|
1702
|
-
VersionStorageInfo new_vstorage(
|
|
1703
|
-
|
|
1704
|
-
|
|
1730
|
+
VersionStorageInfo new_vstorage(
|
|
1731
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr,
|
|
1732
|
+
true /* force_consistency_checks */,
|
|
1733
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
1705
1734
|
ASSERT_OK(version_builder.Apply(&version_edit));
|
|
1706
1735
|
ASSERT_OK(version_builder.SaveTo(&new_vstorage));
|
|
1707
1736
|
|
|
@@ -1709,9 +1738,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForFileDeletedTwice) {
|
|
|
1709
1738
|
|
|
1710
1739
|
VersionBuilder version_builder2(env_options, &ioptions_, table_cache,
|
|
1711
1740
|
&new_vstorage, version_set);
|
|
1712
|
-
VersionStorageInfo new_vstorage2(
|
|
1713
|
-
|
|
1714
|
-
|
|
1741
|
+
VersionStorageInfo new_vstorage2(
|
|
1742
|
+
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr,
|
|
1743
|
+
true /* force_consistency_checks */,
|
|
1744
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
1715
1745
|
ASSERT_NOK(version_builder2.Apply(&version_edit));
|
|
1716
1746
|
|
|
1717
1747
|
UnrefFilesInVersion(&new_vstorage);
|
|
@@ -1732,7 +1762,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1732
1762
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1733
1763
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1734
1764
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1735
|
-
kNullUniqueId64x2, 0, 0);
|
|
1765
|
+
kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
|
|
1736
1766
|
version_edit_1.AddFile(
|
|
1737
1767
|
/* level */ 0, /* file_number */ 2U, /* path_id */ 0,
|
|
1738
1768
|
/* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
|
|
@@ -1742,14 +1772,15 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1742
1772
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1743
1773
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1744
1774
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1745
|
-
kNullUniqueId64x2, 0, 0);
|
|
1775
|
+
kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
|
|
1746
1776
|
|
|
1747
1777
|
VersionBuilder version_builder_1(EnvOptions(), &ioptions_,
|
|
1748
1778
|
nullptr /* table_cache */, &vstorage_,
|
|
1749
1779
|
nullptr /* file_metadata_cache_res_mgr */);
|
|
1750
1780
|
VersionStorageInfo new_vstorage_1(
|
|
1751
1781
|
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
|
|
1752
|
-
nullptr /* src_vstorage */, true /* force_consistency_checks
|
|
1782
|
+
nullptr /* src_vstorage */, true /* force_consistency_checks */,
|
|
1783
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
1753
1784
|
|
|
1754
1785
|
ASSERT_OK(version_builder_1.Apply(&version_edit_1));
|
|
1755
1786
|
s = version_builder_1.SaveTo(&new_vstorage_1);
|
|
@@ -1769,7 +1800,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1769
1800
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1770
1801
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1771
1802
|
1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1772
|
-
kNullUniqueId64x2, 0, 0);
|
|
1803
|
+
kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
|
|
1773
1804
|
version_edit_2.AddFile(
|
|
1774
1805
|
/* level */ 0, /* file_number */ 2U, /* path_id */ 0,
|
|
1775
1806
|
/* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
|
|
@@ -1779,14 +1810,15 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
|
|
|
1779
1810
|
/* oldest_blob_file_number */ kInvalidBlobFileNumber,
|
|
1780
1811
|
kUnknownOldestAncesterTime, kUnknownFileCreationTime,
|
|
1781
1812
|
2 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
1782
|
-
kNullUniqueId64x2, 0, 0);
|
|
1813
|
+
kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
|
|
1783
1814
|
|
|
1784
1815
|
VersionBuilder version_builder_2(EnvOptions(), &ioptions_,
|
|
1785
1816
|
nullptr /* table_cache */, &vstorage_,
|
|
1786
1817
|
nullptr /* file_metadata_cache_res_mgr */);
|
|
1787
1818
|
VersionStorageInfo new_vstorage_2(
|
|
1788
1819
|
&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
|
|
1789
|
-
nullptr /* src_vstorage */, true /* force_consistency_checks
|
|
1820
|
+
nullptr /* src_vstorage */, true /* force_consistency_checks */,
|
|
1821
|
+
EpochNumberRequirement::kMightMissing, nullptr, 0);
|
|
1790
1822
|
|
|
1791
1823
|
ASSERT_OK(version_builder_2.Apply(&version_edit_2));
|
|
1792
1824
|
s = version_builder_2.SaveTo(&new_vstorage_2);
|