@nxtedition/rocksdb 8.2.8 → 9.0.1
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 +0 -21
- package/deps/rocksdb/rocksdb/CMakeLists.txt +20 -10
- package/deps/rocksdb/rocksdb/Makefile +37 -25
- package/deps/rocksdb/rocksdb/README.md +29 -0
- package/deps/rocksdb/rocksdb/TARGETS +25 -2
- package/deps/rocksdb/rocksdb/cache/cache.cc +35 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +229 -74
- package/deps/rocksdb/rocksdb/cache/cache_helpers.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +4 -3
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +58 -95
- package/deps/rocksdb/rocksdb/cache/charged_cache.cc +4 -2
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +5 -3
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +2683 -496
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +580 -159
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +145 -42
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +20 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +391 -17
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +7 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +309 -212
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +0 -32
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +439 -12
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.h +44 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +16 -3
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +119 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +155 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +711 -0
- package/deps/rocksdb/rocksdb/cache/typed_cache.h +17 -11
- package/deps/rocksdb/rocksdb/crash_test.mk +14 -0
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +28 -12
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +2 -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 +20 -22
- 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/blob/db_blob_basic_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/builder.cc +35 -10
- package/deps/rocksdb/rocksdb/db/c.cc +233 -6
- package/deps/rocksdb/rocksdb/db/c_test.c +140 -6
- package/deps/rocksdb/rocksdb/db/column_family.cc +110 -51
- package/deps/rocksdb/rocksdb/db/column_family.h +34 -2
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +314 -7
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +106 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +47 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +10 -11
- 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 +148 -60
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +22 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +33 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +14 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +3 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +90 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +170 -95
- package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +3 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +32 -58
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +3 -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 +46 -10
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +13 -3
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +74 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +27 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +850 -44
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +2 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +275 -1
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +52 -19
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +6 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +733 -320
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +155 -66
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +516 -155
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +2 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +17 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +100 -35
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +95 -50
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +136 -79
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +6 -95
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +31 -22
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_iter.cc +85 -57
- package/deps/rocksdb/rocksdb/db/db_iter.h +11 -2
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +29 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +276 -21
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +35 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +4 -11
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +193 -7
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +294 -26
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +26 -36
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +364 -0
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +13 -3
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +52 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +74 -1
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +22 -4
- 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 +282 -167
- package/deps/rocksdb/rocksdb/db/db_test.cc +180 -49
- package/deps/rocksdb/rocksdb/db/db_test2.cc +84 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +25 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.h +45 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +14 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +245 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +480 -1
- 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/deletefile_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/error_handler.cc +67 -34
- package/deps/rocksdb/rocksdb/db/error_handler.h +13 -9
- 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 +144 -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 +105 -17
- package/deps/rocksdb/rocksdb/db/flush_job.h +27 -4
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +90 -12
- 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 +6 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +70 -83
- package/deps/rocksdb/rocksdb/db/memtable.h +45 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +45 -11
- package/deps/rocksdb/rocksdb/db/memtable_list.h +43 -2
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +91 -5
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +330 -115
- package/deps/rocksdb/rocksdb/db/merge_helper.h +100 -12
- package/deps/rocksdb/rocksdb/db/merge_operator.cc +82 -0
- package/deps/rocksdb/rocksdb/db/merge_test.cc +267 -0
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +5 -2
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +4 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +3 -0
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +4 -0
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +4 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +25 -7
- package/deps/rocksdb/rocksdb/db/repair_test.cc +143 -2
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +459 -74
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +105 -69
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +83 -46
- package/deps/rocksdb/rocksdb/db/table_cache.cc +76 -54
- package/deps/rocksdb/rocksdb/db/table_cache.h +18 -12
- 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 +58 -10
- 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 +207 -110
- package/deps/rocksdb/rocksdb/db/version_set.h +36 -15
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +2 -5
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +47 -26
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +525 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +6 -22
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +0 -20
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +0 -29
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.cc +46 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.h +40 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper_test.cc +39 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +55 -20
- 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/CMakeLists.txt +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +4 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +4 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +88 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +37 -13
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +110 -58
- 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 +68 -17
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +34 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +8 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +429 -237
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +13 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +21 -14
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.cc +51 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.h +27 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +3 -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 +29 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +302 -101
- package/deps/rocksdb/rocksdb/env/env.cc +6 -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 +79 -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 +100 -70
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +64 -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 +1225 -97
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +72 -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 +40 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +163 -91
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +112 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +108 -16
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +11 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +42 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +92 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +34 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +9 -109
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +91 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +8 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +10 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +55 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +130 -22
- package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +92 -9
- 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 +37 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +35 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +7 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +20 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +6 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +33 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +42 -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/wide_columns.h +53 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +3 -2
- package/deps/rocksdb/rocksdb/memory/arena_test.cc +18 -11
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +4 -3
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/microbench/README.md +60 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +69 -34
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +22 -1
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +18 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -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 +6 -1
- package/deps/rocksdb/rocksdb/options/db_options.cc +54 -2
- package/deps/rocksdb/rocksdb/options/db_options.h +4 -0
- package/deps/rocksdb/rocksdb/options/options.cc +15 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +18 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +14 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +14 -1
- package/deps/rocksdb/rocksdb/plugin/README.md +43 -0
- package/deps/rocksdb/rocksdb/port/README +10 -0
- package/deps/rocksdb/rocksdb/port/mmap.h +20 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.h +7 -4
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +32 -12
- package/deps/rocksdb/rocksdb/port/win/env_win.h +1 -1
- package/deps/rocksdb/rocksdb/port/win/port_win.h +5 -2
- package/deps/rocksdb/rocksdb/src.mk +10 -1
- 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 +116 -43
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +9 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +321 -49
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +98 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +233 -98
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +58 -23
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +12 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +52 -24
- 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_cache.cc +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +26 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +50 -18
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +20 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +232 -71
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -6
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +44 -26
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +2 -1
- 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 +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +6 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +36 -19
- 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 +4 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +11 -7
- 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_based/uncompression_dict_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +14 -13
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +4 -0
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +9 -2
- 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/get_context.cc +52 -89
- package/deps/rocksdb/rocksdb/table/get_context.h +12 -3
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +11 -0
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +29 -1
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +22 -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 +45 -9
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +1 -0
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +24 -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_reader.h +6 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +52 -22
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +31 -0
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -1
- 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/block_cache_analyzer/block_cache_pysim.py +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +87 -65
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +221 -33
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +36 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +33 -11
- 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/bloom_test.cc +32 -11
- package/deps/rocksdb/rocksdb/util/cast_util.h +24 -0
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +2 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +55 -8
- package/deps/rocksdb/rocksdb/util/compression.cc +4 -4
- package/deps/rocksdb/rocksdb/util/compression.h +119 -35
- package/deps/rocksdb/rocksdb/util/core_local.h +2 -1
- package/deps/rocksdb/rocksdb/util/crc32c.cc +7 -1
- package/deps/rocksdb/rocksdb/util/distributed_mutex.h +1 -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/overload.h +23 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +53 -18
- package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +6 -1
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +90 -19
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +1 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -0
- package/deps/rocksdb/rocksdb/util/status.cc +1 -0
- package/deps/rocksdb/rocksdb/util/stop_watch.h +1 -1
- package/deps/rocksdb/rocksdb/util/string_util.cc +39 -0
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +10 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +385 -0
- package/deps/rocksdb/rocksdb/util/udt_util.h +192 -1
- package/deps/rocksdb/rocksdb/util/udt_util_test.cc +461 -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/util/xxhash.h +0 -3
- package/deps/rocksdb/rocksdb/util/xxph3.h +0 -4
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +71 -26
- 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_env.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +20 -16
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +11 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +7 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +3 -0
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +12 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +7 -4
- 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/lock/range/range_tree/lib/README +13 -0
- 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 +272 -33
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +15 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +4 -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 +195 -23
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +19 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +88 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +43 -17
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +73 -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 +41 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +15 -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 +59 -28
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +127 -120
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +129 -59
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +111 -14
- package/deps/rocksdb/rocksdb.gyp +6 -2
- package/index.js +0 -8
- 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/cmake/modules/CxxFlags.cmake +0 -7
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +0 -33
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +0 -26
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +0 -10
|
@@ -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);
|