@nxtedition/rocksdb 7.1.30 → 7.1.31
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 +2 -2
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +15 -23
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +0 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +4 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -1
- package/deps/rocksdb/rocksdb/crash_test.mk +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +15 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/column_family.cc +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +78 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +32 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +8 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +47 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +3 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +105 -166
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +46 -15
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +47 -26
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +17 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +11 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +12 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +337 -103
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +43 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -2
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +524 -1
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +164 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +11 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +1 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +2 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_test2.cc +1 -1
- package/deps/rocksdb/rocksdb/db/memtable.cc +16 -23
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +30 -0
- package/deps/rocksdb/rocksdb/db/merge_helper.h +9 -0
- package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +29 -9
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +10 -7
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +12 -8
- package/deps/rocksdb/rocksdb/db/version_set.cc +11 -6
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +142 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +59 -53
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +3 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +4 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +1 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +0 -2
- package/deps/rocksdb/rocksdb/env/env.cc +16 -19
- package/deps/rocksdb/rocksdb/env/env_basic_test.cc +1 -1
- package/deps/rocksdb/rocksdb/env/env_chroot.cc +20 -20
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +62 -60
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
- package/deps/rocksdb/rocksdb/env/env_test.cc +179 -176
- package/deps/rocksdb/rocksdb/env/file_system.cc +3 -4
- package/deps/rocksdb/rocksdb/env/io_posix.cc +3 -2
- package/deps/rocksdb/rocksdb/env/io_posix.h +1 -2
- package/deps/rocksdb/rocksdb/env/mock_env.h +1 -0
- package/deps/rocksdb/rocksdb/env/mock_env_test.cc +4 -4
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +6 -5
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +2 -5
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +6 -7
- package/deps/rocksdb/rocksdb/file/file_util.cc +1 -1
- package/deps/rocksdb/rocksdb/file/filename.cc +16 -17
- package/deps/rocksdb/rocksdb/file/filename.h +4 -5
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +492 -496
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +1 -3
- package/deps/rocksdb/rocksdb/file/read_write_util.cc +1 -0
- package/deps/rocksdb/rocksdb/file/read_write_util.h +1 -0
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +6 -8
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/block_cache_trace_writer.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +166 -167
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +12 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +3 -7
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +20 -23
- package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -0
- package/deps/rocksdb/rocksdb/logging/event_logger.cc +1 -3
- package/deps/rocksdb/rocksdb/logging/event_logger.h +4 -5
- package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +2 -1
- package/deps/rocksdb/rocksdb/logging/log_buffer.cc +2 -3
- package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -2
- package/deps/rocksdb/rocksdb/logging/logging.h +3 -3
- package/deps/rocksdb/rocksdb/memory/allocator.h +1 -0
- package/deps/rocksdb/rocksdb/memory/arena_test.cc +1 -1
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +2 -0
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -0
- package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -0
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +17 -20
- package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +13 -15
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +11 -10
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +3 -3
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +30 -28
- package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +4 -6
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +73 -70
- package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +1 -1
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +21 -23
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -0
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +24 -38
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +10 -17
- package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +19 -19
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +22 -30
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +4 -6
- package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -0
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +4 -12
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +2 -3
- package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +1 -0
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +12 -14
- package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +2 -3
- package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -3
- package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +1 -0
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.h +7 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +12 -22
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +7 -10
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
- package/deps/rocksdb/rocksdb/port/lang.h +3 -1
- package/deps/rocksdb/rocksdb/port/likely.h +2 -2
- package/deps/rocksdb/rocksdb/port/mmap.h +2 -2
- package/deps/rocksdb/rocksdb/port/port_dirent.h +2 -2
- package/deps/rocksdb/rocksdb/port/port_posix.cc +32 -27
- package/deps/rocksdb/rocksdb/port/port_posix.h +31 -30
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +1 -1
- package/deps/rocksdb/rocksdb/port/sys_time.h +1 -1
- package/deps/rocksdb/rocksdb/port/win/io_win.h +6 -7
- package/deps/rocksdb/rocksdb/port/win/port_win.h +12 -20
- package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -5
- package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -4
- package/deps/rocksdb/rocksdb/port/win/win_thread.cc +30 -49
- package/deps/rocksdb/rocksdb/port/win/win_thread.h +5 -5
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +51 -62
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +2 -2
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +4 -3
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +28 -30
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -3
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +1 -0
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -6
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +1 -0
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -6
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +90 -80
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +5 -4
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +63 -69
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +58 -57
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +3 -3
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +35 -30
- package/deps/rocksdb/rocksdb/table/get_context.cc +16 -10
- package/deps/rocksdb/rocksdb/table/iter_heap.h +2 -0
- package/deps/rocksdb/rocksdb/table/iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +1 -3
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +31 -16
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -6
- package/deps/rocksdb/rocksdb/table/multiget_context.h +5 -6
- package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +1 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +1 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +7 -10
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +2 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +4 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +2 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +10 -21
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +14 -12
- package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +2 -5
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -3
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -6
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -33
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -6
- package/deps/rocksdb/rocksdb/table/table_properties.cc +24 -37
- package/deps/rocksdb/rocksdb/table/table_reader.h +3 -2
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +9 -8
- package/deps/rocksdb/rocksdb/table/table_test.cc +77 -82
- package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
- package/deps/rocksdb/rocksdb/test_util/sync_point.cc +8 -18
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +2 -2
- package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +4 -3
- package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +13 -18
- package/deps/rocksdb/rocksdb/test_util/testharness.cc +1 -2
- package/deps/rocksdb/rocksdb/test_util/testutil.h +6 -7
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +3 -4
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +1 -1
- package/deps/rocksdb/rocksdb/tools/blob_dump.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -7
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +3 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +296 -314
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +6 -6
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +57 -64
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +6 -5
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +1 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +10 -10
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +6 -3
- package/deps/rocksdb/rocksdb/util/aligned_buffer.h +12 -31
- package/deps/rocksdb/rocksdb/util/autovector.h +3 -6
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +12 -12
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +8 -12
- package/deps/rocksdb/rocksdb/util/coding.cc +1 -0
- package/deps/rocksdb/rocksdb/util/coding.h +17 -15
- package/deps/rocksdb/rocksdb/util/coding_test.cc +14 -15
- package/deps/rocksdb/rocksdb/util/comparator.cc +4 -4
- package/deps/rocksdb/rocksdb/util/compression.h +6 -3
- package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +5 -8
- package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +1 -1
- package/deps/rocksdb/rocksdb/util/crc32c.cc +202 -297
- package/deps/rocksdb/rocksdb/util/crc32c.h +2 -3
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +2 -0
- package/deps/rocksdb/rocksdb/util/crc32c_test.cc +39 -54
- package/deps/rocksdb/rocksdb/util/defer.h +2 -1
- package/deps/rocksdb/rocksdb/util/defer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/util/duplicate_detector.h +2 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +1 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +24 -29
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +4 -4
- package/deps/rocksdb/rocksdb/util/hash_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/heap.h +5 -4
- package/deps/rocksdb/rocksdb/util/heap_test.cc +15 -25
- package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
- package/deps/rocksdb/rocksdb/util/murmurhash.cc +7 -2
- package/deps/rocksdb/rocksdb/util/murmurhash.h +4 -3
- package/deps/rocksdb/rocksdb/util/mutexlock.h +5 -11
- package/deps/rocksdb/rocksdb/util/random.cc +1 -0
- package/deps/rocksdb/rocksdb/util/random.h +2 -4
- package/deps/rocksdb/rocksdb/util/random_test.cc +2 -1
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +4 -3
- package/deps/rocksdb/rocksdb/util/slice.cc +1 -1
- package/deps/rocksdb/rocksdb/util/slice_test.cc +1 -2
- package/deps/rocksdb/rocksdb/util/status.cc +2 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +2 -0
- package/deps/rocksdb/rocksdb/util/thread_list_test.cc +64 -76
- package/deps/rocksdb/rocksdb/util/thread_local.cc +18 -32
- package/deps/rocksdb/rocksdb/util/thread_local.h +2 -3
- package/deps/rocksdb/rocksdb/util/thread_operation.h +34 -43
- package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +54 -73
- package/deps/rocksdb/rocksdb/util/threadpool_imp.h +18 -18
- package/deps/rocksdb/rocksdb/util/timer.h +4 -9
- package/deps/rocksdb/rocksdb/util/timer_queue.h +1 -0
- package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +1 -0
- package/deps/rocksdb/rocksdb/util/xxhash.cc +1 -2
- package/deps/rocksdb/rocksdb/util/xxhash.h +7 -4
- package/deps/rocksdb/rocksdb/util/xxph3.h +3 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +16 -24
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +106 -104
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +3 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +6 -6
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +3 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +11 -15
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +12 -12
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +56 -55
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +91 -74
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +17 -34
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +21 -45
- package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +74 -97
- package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +17 -18
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +19 -19
- package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +19 -18
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +7 -10
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +3 -4
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +10 -15
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +1 -0
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +4 -5
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +9 -13
- package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +7 -9
- package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +4 -5
- package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +2 -4
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +39 -50
- package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators.h +4 -3
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +5 -7
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +5 -4
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +3 -6
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +18 -13
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +1 -3
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +15 -14
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +14 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +4 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +3 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +3 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +5 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +5 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +1 -0
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +3 -4
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +2 -6
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +80 -79
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +9 -17
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
|
@@ -218,7 +218,7 @@ TEST_F(CompactionPickerTest, Empty) {
|
|
|
218
218
|
UpdateVersionStorageInfo();
|
|
219
219
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
220
220
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
221
|
-
&log_buffer_));
|
|
221
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
222
222
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
223
223
|
}
|
|
224
224
|
|
|
@@ -230,7 +230,7 @@ TEST_F(CompactionPickerTest, Single) {
|
|
|
230
230
|
|
|
231
231
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
232
232
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
233
|
-
&log_buffer_));
|
|
233
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
234
234
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
235
235
|
}
|
|
236
236
|
|
|
@@ -244,7 +244,7 @@ TEST_F(CompactionPickerTest, Level0Trigger) {
|
|
|
244
244
|
|
|
245
245
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
246
246
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
247
|
-
&log_buffer_));
|
|
247
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
248
248
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
249
249
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
250
250
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -258,7 +258,7 @@ TEST_F(CompactionPickerTest, Level1Trigger) {
|
|
|
258
258
|
|
|
259
259
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
260
260
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
261
|
-
&log_buffer_));
|
|
261
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
262
262
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
263
263
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
264
264
|
ASSERT_EQ(66U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -277,7 +277,7 @@ TEST_F(CompactionPickerTest, Level1Trigger2) {
|
|
|
277
277
|
|
|
278
278
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
279
279
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
280
|
-
&log_buffer_));
|
|
280
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
281
281
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
282
282
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
283
283
|
ASSERT_EQ(2U, compaction->num_input_files(1));
|
|
@@ -309,7 +309,7 @@ TEST_F(CompactionPickerTest, LevelMaxScore) {
|
|
|
309
309
|
|
|
310
310
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
311
311
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
312
|
-
&log_buffer_));
|
|
312
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
313
313
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
314
314
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
315
315
|
ASSERT_EQ(7U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -357,7 +357,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic) {
|
|
|
357
357
|
|
|
358
358
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
359
359
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
360
|
-
&log_buffer_));
|
|
360
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
361
361
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
362
362
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
363
363
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -382,7 +382,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic2) {
|
|
|
382
382
|
|
|
383
383
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
384
384
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
385
|
-
&log_buffer_));
|
|
385
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
386
386
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
387
387
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
388
388
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -408,7 +408,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic3) {
|
|
|
408
408
|
|
|
409
409
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
410
410
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
411
|
-
&log_buffer_));
|
|
411
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
412
412
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
413
413
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
414
414
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -438,7 +438,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic4) {
|
|
|
438
438
|
|
|
439
439
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
440
440
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
441
|
-
&log_buffer_));
|
|
441
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
442
442
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
443
443
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
444
444
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -471,7 +471,7 @@ TEST_F(CompactionPickerTest, LevelTriggerDynamic4) {
|
|
|
471
471
|
|
|
472
472
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
473
473
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
474
|
-
&log_buffer_));
|
|
474
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
475
475
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
476
476
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
477
477
|
ASSERT_EQ(5U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -528,7 +528,7 @@ TEST_F(CompactionPickerTest, CompactionUniversalIngestBehindReservedLevel) {
|
|
|
528
528
|
std::unique_ptr<Compaction> compaction(
|
|
529
529
|
universal_compaction_picker.PickCompaction(
|
|
530
530
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
531
|
-
&log_buffer_));
|
|
531
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
532
532
|
|
|
533
533
|
// output level should be the one above the bottom-most
|
|
534
534
|
ASSERT_EQ(1, compaction->output_level());
|
|
@@ -563,7 +563,7 @@ TEST_F(CompactionPickerTest, CannotTrivialMoveUniversal) {
|
|
|
563
563
|
std::unique_ptr<Compaction> compaction(
|
|
564
564
|
universal_compaction_picker.PickCompaction(
|
|
565
565
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
566
|
-
&log_buffer_));
|
|
566
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
567
567
|
|
|
568
568
|
ASSERT_TRUE(!compaction->is_trivial_move());
|
|
569
569
|
}
|
|
@@ -590,7 +590,7 @@ TEST_F(CompactionPickerTest, AllowsTrivialMoveUniversal) {
|
|
|
590
590
|
std::unique_ptr<Compaction> compaction(
|
|
591
591
|
universal_compaction_picker.PickCompaction(
|
|
592
592
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
593
|
-
&log_buffer_));
|
|
593
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
594
594
|
|
|
595
595
|
ASSERT_TRUE(compaction->is_trivial_move());
|
|
596
596
|
}
|
|
@@ -619,7 +619,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction1) {
|
|
|
619
619
|
std::unique_ptr<Compaction> compaction(
|
|
620
620
|
universal_compaction_picker.PickCompaction(
|
|
621
621
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
622
|
-
&log_buffer_));
|
|
622
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
623
623
|
|
|
624
624
|
ASSERT_TRUE(compaction);
|
|
625
625
|
ASSERT_EQ(4, compaction->output_level());
|
|
@@ -650,7 +650,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction2) {
|
|
|
650
650
|
std::unique_ptr<Compaction> compaction(
|
|
651
651
|
universal_compaction_picker.PickCompaction(
|
|
652
652
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
653
|
-
&log_buffer_));
|
|
653
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
654
654
|
|
|
655
655
|
ASSERT_FALSE(compaction);
|
|
656
656
|
}
|
|
@@ -677,7 +677,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction3) {
|
|
|
677
677
|
std::unique_ptr<Compaction> compaction(
|
|
678
678
|
universal_compaction_picker.PickCompaction(
|
|
679
679
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
680
|
-
&log_buffer_));
|
|
680
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
681
681
|
|
|
682
682
|
ASSERT_FALSE(compaction);
|
|
683
683
|
}
|
|
@@ -708,7 +708,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction4) {
|
|
|
708
708
|
std::unique_ptr<Compaction> compaction(
|
|
709
709
|
universal_compaction_picker.PickCompaction(
|
|
710
710
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
711
|
-
&log_buffer_));
|
|
711
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
712
712
|
ASSERT_TRUE(!compaction ||
|
|
713
713
|
compaction->start_level() != compaction->output_level());
|
|
714
714
|
}
|
|
@@ -729,7 +729,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction5) {
|
|
|
729
729
|
std::unique_ptr<Compaction> compaction(
|
|
730
730
|
universal_compaction_picker.PickCompaction(
|
|
731
731
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
732
|
-
&log_buffer_));
|
|
732
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
733
733
|
ASSERT_TRUE(compaction);
|
|
734
734
|
ASSERT_EQ(0, compaction->start_level());
|
|
735
735
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -754,7 +754,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction6) {
|
|
|
754
754
|
std::unique_ptr<Compaction> compaction(
|
|
755
755
|
universal_compaction_picker.PickCompaction(
|
|
756
756
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
757
|
-
&log_buffer_));
|
|
757
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
758
758
|
ASSERT_TRUE(compaction);
|
|
759
759
|
ASSERT_EQ(4, compaction->start_level());
|
|
760
760
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
@@ -792,7 +792,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace1) {
|
|
|
792
792
|
std::unique_ptr<Compaction> compaction(
|
|
793
793
|
universal_compaction_picker.PickCompaction(
|
|
794
794
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
795
|
-
&log_buffer_));
|
|
795
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
796
796
|
ASSERT_TRUE(compaction);
|
|
797
797
|
ASSERT_EQ(4, compaction->output_level());
|
|
798
798
|
ASSERT_EQ(3, compaction->start_level());
|
|
@@ -834,7 +834,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace2) {
|
|
|
834
834
|
std::unique_ptr<Compaction> compaction(
|
|
835
835
|
universal_compaction_picker.PickCompaction(
|
|
836
836
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
837
|
-
&log_buffer_));
|
|
837
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
838
838
|
ASSERT_TRUE(compaction);
|
|
839
839
|
ASSERT_EQ(4, compaction->output_level());
|
|
840
840
|
ASSERT_EQ(2, compaction->start_level());
|
|
@@ -876,7 +876,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace3) {
|
|
|
876
876
|
std::unique_ptr<Compaction> compaction(
|
|
877
877
|
universal_compaction_picker.PickCompaction(
|
|
878
878
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
879
|
-
&log_buffer_));
|
|
879
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
880
880
|
ASSERT_TRUE(compaction);
|
|
881
881
|
ASSERT_EQ(4, compaction->output_level());
|
|
882
882
|
ASSERT_EQ(2, compaction->start_level());
|
|
@@ -924,7 +924,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace4) {
|
|
|
924
924
|
std::unique_ptr<Compaction> compaction(
|
|
925
925
|
universal_compaction_picker.PickCompaction(
|
|
926
926
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
927
|
-
&log_buffer_));
|
|
927
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
928
928
|
ASSERT_TRUE(compaction);
|
|
929
929
|
ASSERT_EQ(4, compaction->output_level());
|
|
930
930
|
ASSERT_EQ(3, compaction->start_level());
|
|
@@ -968,7 +968,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace5) {
|
|
|
968
968
|
std::unique_ptr<Compaction> compaction(
|
|
969
969
|
universal_compaction_picker.PickCompaction(
|
|
970
970
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
971
|
-
&log_buffer_));
|
|
971
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
972
972
|
ASSERT_TRUE(compaction);
|
|
973
973
|
ASSERT_EQ(4, compaction->output_level());
|
|
974
974
|
ASSERT_EQ(3, compaction->start_level());
|
|
@@ -1035,7 +1035,7 @@ TEST_F(CompactionPickerTest, FIFOToWarm1) {
|
|
|
1035
1035
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1036
1036
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1037
1037
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1038
|
-
&log_buffer_));
|
|
1038
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1039
1039
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1040
1040
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1041
1041
|
ASSERT_EQ(3U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -1073,7 +1073,7 @@ TEST_F(CompactionPickerTest, FIFOToWarm2) {
|
|
|
1073
1073
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1074
1074
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1075
1075
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1076
|
-
&log_buffer_));
|
|
1076
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1077
1077
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1078
1078
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
1079
1079
|
ASSERT_EQ(2U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -1114,7 +1114,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmMaxSize) {
|
|
|
1114
1114
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1115
1115
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1116
1116
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1117
|
-
&log_buffer_));
|
|
1117
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1118
1118
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1119
1119
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
1120
1120
|
ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -1155,7 +1155,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithExistingWarm) {
|
|
|
1155
1155
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1156
1156
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1157
1157
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1158
|
-
&log_buffer_));
|
|
1158
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1159
1159
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1160
1160
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
1161
1161
|
ASSERT_EQ(2U, compaction->input(0, 0)->fd.GetNumber());
|
|
@@ -1197,7 +1197,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithOngoing) {
|
|
|
1197
1197
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1198
1198
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1199
1199
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1200
|
-
&log_buffer_));
|
|
1200
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1201
1201
|
// Stop if a file is being compacted
|
|
1202
1202
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
1203
1203
|
}
|
|
@@ -1236,7 +1236,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithHotBetweenWarms) {
|
|
|
1236
1236
|
ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
|
|
1237
1237
|
std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
|
|
1238
1238
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1239
|
-
&log_buffer_));
|
|
1239
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1240
1240
|
// Stop if a file is being compacted
|
|
1241
1241
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1242
1242
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -1267,7 +1267,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping1) {
|
|
|
1267
1267
|
|
|
1268
1268
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1269
1269
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1270
|
-
&log_buffer_));
|
|
1270
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1271
1271
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1272
1272
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1273
1273
|
// Pick file 8 because it overlaps with 0 files on level 3.
|
|
@@ -1300,7 +1300,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping2) {
|
|
|
1300
1300
|
|
|
1301
1301
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1302
1302
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1303
|
-
&log_buffer_));
|
|
1303
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1304
1304
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1305
1305
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1306
1306
|
// Picking file 7 because overlapping ratio is the biggest.
|
|
@@ -1328,7 +1328,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping3) {
|
|
|
1328
1328
|
|
|
1329
1329
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1330
1330
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1331
|
-
&log_buffer_));
|
|
1331
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1332
1332
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1333
1333
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1334
1334
|
// Picking file 8 because overlapping ratio is the biggest.
|
|
@@ -1359,7 +1359,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping4) {
|
|
|
1359
1359
|
|
|
1360
1360
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1361
1361
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1362
|
-
&log_buffer_));
|
|
1362
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1363
1363
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1364
1364
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1365
1365
|
// Picking file 8 because overlapping ratio is the biggest.
|
|
@@ -1395,7 +1395,7 @@ TEST_F(CompactionPickerTest, CompactionPriRoundRobin) {
|
|
|
1395
1395
|
std::unique_ptr<Compaction> compaction(
|
|
1396
1396
|
local_level_compaction_picker.PickCompaction(
|
|
1397
1397
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1398
|
-
&log_buffer_));
|
|
1398
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1399
1399
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1400
1400
|
// Since the max bytes for level 2 is 120M, picking one file to compact
|
|
1401
1401
|
// makes the post-compaction level size less than 120M, there is exactly one
|
|
@@ -1435,7 +1435,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin1) {
|
|
|
1435
1435
|
std::unique_ptr<Compaction> compaction(
|
|
1436
1436
|
local_level_compaction_picker.PickCompaction(
|
|
1437
1437
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1438
|
-
&log_buffer_));
|
|
1438
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1439
1439
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1440
1440
|
|
|
1441
1441
|
// The maximum compaction bytes is very large in this case so we can igore its
|
|
@@ -1478,7 +1478,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin2) {
|
|
|
1478
1478
|
std::unique_ptr<Compaction> compaction(
|
|
1479
1479
|
local_level_compaction_picker.PickCompaction(
|
|
1480
1480
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1481
|
-
&log_buffer_));
|
|
1481
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1482
1482
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1483
1483
|
|
|
1484
1484
|
// The maximum compaction bytes is only 2500 bytes now. Even though we are
|
|
@@ -1522,7 +1522,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin3) {
|
|
|
1522
1522
|
std::unique_ptr<Compaction> compaction(
|
|
1523
1523
|
local_level_compaction_picker.PickCompaction(
|
|
1524
1524
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1525
|
-
&log_buffer_));
|
|
1525
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1526
1526
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1527
1527
|
|
|
1528
1528
|
// Cannot pick more files since we reach the last file in level 2
|
|
@@ -1581,7 +1581,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlappingManyFiles) {
|
|
|
1581
1581
|
|
|
1582
1582
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1583
1583
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1584
|
-
&log_buffer_));
|
|
1584
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1585
1585
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1586
1586
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
1587
1587
|
// Picking file 8 because overlapping ratio is the biggest.
|
|
@@ -1609,7 +1609,7 @@ TEST_F(CompactionPickerTest, ParentIndexResetBug) {
|
|
|
1609
1609
|
|
|
1610
1610
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1611
1611
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1612
|
-
&log_buffer_));
|
|
1612
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1613
1613
|
}
|
|
1614
1614
|
|
|
1615
1615
|
// This test checks ExpandWhileOverlapping() by having overlapping user keys
|
|
@@ -1627,7 +1627,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys) {
|
|
|
1627
1627
|
|
|
1628
1628
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1629
1629
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1630
|
-
&log_buffer_));
|
|
1630
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1631
1631
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1632
1632
|
ASSERT_EQ(1U, compaction->num_input_levels());
|
|
1633
1633
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
@@ -1647,7 +1647,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys2) {
|
|
|
1647
1647
|
|
|
1648
1648
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1649
1649
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1650
|
-
&log_buffer_));
|
|
1650
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1651
1651
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1652
1652
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1653
1653
|
ASSERT_EQ(2U, compaction->num_input_files(0));
|
|
@@ -1675,7 +1675,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys3) {
|
|
|
1675
1675
|
|
|
1676
1676
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1677
1677
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1678
|
-
&log_buffer_));
|
|
1678
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1679
1679
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1680
1680
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1681
1681
|
ASSERT_EQ(5U, compaction->num_input_files(0));
|
|
@@ -1706,7 +1706,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys4) {
|
|
|
1706
1706
|
|
|
1707
1707
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1708
1708
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1709
|
-
&log_buffer_));
|
|
1709
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1710
1710
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1711
1711
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1712
1712
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -1730,7 +1730,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys5) {
|
|
|
1730
1730
|
|
|
1731
1731
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1732
1732
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1733
|
-
&log_buffer_));
|
|
1733
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1734
1734
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
1735
1735
|
}
|
|
1736
1736
|
|
|
@@ -1752,7 +1752,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys6) {
|
|
|
1752
1752
|
|
|
1753
1753
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1754
1754
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1755
|
-
&log_buffer_));
|
|
1755
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1756
1756
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1757
1757
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1758
1758
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -1773,7 +1773,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys7) {
|
|
|
1773
1773
|
|
|
1774
1774
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1775
1775
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1776
|
-
&log_buffer_));
|
|
1776
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1777
1777
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1778
1778
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1779
1779
|
ASSERT_GE(1U, compaction->num_input_files(0));
|
|
@@ -1802,7 +1802,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys8) {
|
|
|
1802
1802
|
|
|
1803
1803
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1804
1804
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1805
|
-
&log_buffer_));
|
|
1805
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1806
1806
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1807
1807
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1808
1808
|
ASSERT_EQ(3U, compaction->num_input_files(0));
|
|
@@ -1835,7 +1835,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys9) {
|
|
|
1835
1835
|
|
|
1836
1836
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1837
1837
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1838
|
-
&log_buffer_));
|
|
1838
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1839
1839
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1840
1840
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1841
1841
|
ASSERT_EQ(5U, compaction->num_input_files(0));
|
|
@@ -1876,7 +1876,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys10) {
|
|
|
1876
1876
|
|
|
1877
1877
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1878
1878
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1879
|
-
&log_buffer_));
|
|
1879
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1880
1880
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1881
1881
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1882
1882
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -1915,7 +1915,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys11) {
|
|
|
1915
1915
|
|
|
1916
1916
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
1917
1917
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
1918
|
-
&log_buffer_));
|
|
1918
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
1919
1919
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
1920
1920
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
1921
1921
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -2013,7 +2013,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri1) {
|
|
|
2013
2013
|
ASSERT_EQ(1, vstorage_->CompactionScoreLevel(1));
|
|
2014
2014
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2015
2015
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2016
|
-
&log_buffer_));
|
|
2016
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2017
2017
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
2018
2018
|
}
|
|
2019
2019
|
|
|
@@ -2044,7 +2044,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri2) {
|
|
|
2044
2044
|
ASSERT_EQ(1, vstorage_->CompactionScoreLevel(1));
|
|
2045
2045
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2046
2046
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2047
|
-
&log_buffer_));
|
|
2047
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2048
2048
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2049
2049
|
}
|
|
2050
2050
|
|
|
@@ -2078,7 +2078,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri3) {
|
|
|
2078
2078
|
ASSERT_EQ(0, vstorage_->CompactionScoreLevel(1));
|
|
2079
2079
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2080
2080
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2081
|
-
&log_buffer_));
|
|
2081
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2082
2082
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2083
2083
|
}
|
|
2084
2084
|
|
|
@@ -2374,7 +2374,7 @@ TEST_F(CompactionPickerTest, MaxCompactionBytesHit) {
|
|
|
2374
2374
|
|
|
2375
2375
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2376
2376
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2377
|
-
&log_buffer_));
|
|
2377
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2378
2378
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2379
2379
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
2380
2380
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -2400,7 +2400,7 @@ TEST_F(CompactionPickerTest, MaxCompactionBytesNotHit) {
|
|
|
2400
2400
|
|
|
2401
2401
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2402
2402
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2403
|
-
&log_buffer_));
|
|
2403
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2404
2404
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2405
2405
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
2406
2406
|
ASSERT_EQ(3U, compaction->num_input_files(0));
|
|
@@ -2430,7 +2430,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOn) {
|
|
|
2430
2430
|
|
|
2431
2431
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2432
2432
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2433
|
-
&log_buffer_));
|
|
2433
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2434
2434
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2435
2435
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2436
2436
|
}
|
|
@@ -2455,7 +2455,7 @@ TEST_F(CompactionPickerTest, L0TrivialMove1) {
|
|
|
2455
2455
|
|
|
2456
2456
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2457
2457
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2458
|
-
&log_buffer_));
|
|
2458
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2459
2459
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2460
2460
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
2461
2461
|
ASSERT_EQ(2, compaction->num_input_files(0));
|
|
@@ -2484,7 +2484,7 @@ TEST_F(CompactionPickerTest, L0TrivialMoveOneFile) {
|
|
|
2484
2484
|
|
|
2485
2485
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2486
2486
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2487
|
-
&log_buffer_));
|
|
2487
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2488
2488
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2489
2489
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
2490
2490
|
ASSERT_EQ(1, compaction->num_input_files(0));
|
|
@@ -2510,7 +2510,7 @@ TEST_F(CompactionPickerTest, L0TrivialMoveWholeL0) {
|
|
|
2510
2510
|
|
|
2511
2511
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2512
2512
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2513
|
-
&log_buffer_));
|
|
2513
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2514
2514
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2515
2515
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
2516
2516
|
ASSERT_EQ(4, compaction->num_input_files(0));
|
|
@@ -2541,7 +2541,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOffSstPartitioned) {
|
|
|
2541
2541
|
|
|
2542
2542
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2543
2543
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2544
|
-
&log_buffer_));
|
|
2544
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2545
2545
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2546
2546
|
// No trivial move, because partitioning is applied
|
|
2547
2547
|
ASSERT_TRUE(!compaction->IsTrivialMove());
|
|
@@ -2564,7 +2564,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOff) {
|
|
|
2564
2564
|
|
|
2565
2565
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2566
2566
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2567
|
-
&log_buffer_));
|
|
2567
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2568
2568
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2569
2569
|
ASSERT_FALSE(compaction->IsTrivialMove());
|
|
2570
2570
|
}
|
|
@@ -2593,7 +2593,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles1) {
|
|
|
2593
2593
|
|
|
2594
2594
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2595
2595
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2596
|
-
&log_buffer_));
|
|
2596
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2597
2597
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2598
2598
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2599
2599
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2627,7 +2627,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles2) {
|
|
|
2627
2627
|
|
|
2628
2628
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2629
2629
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2630
|
-
&log_buffer_));
|
|
2630
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2631
2631
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2632
2632
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2633
2633
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2660,7 +2660,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles3) {
|
|
|
2660
2660
|
|
|
2661
2661
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2662
2662
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2663
|
-
&log_buffer_));
|
|
2663
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2664
2664
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2665
2665
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2666
2666
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2686,7 +2686,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles4) {
|
|
|
2686
2686
|
|
|
2687
2687
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2688
2688
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2689
|
-
&log_buffer_));
|
|
2689
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2690
2690
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2691
2691
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2692
2692
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2716,7 +2716,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles5) {
|
|
|
2716
2716
|
|
|
2717
2717
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2718
2718
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2719
|
-
&log_buffer_));
|
|
2719
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2720
2720
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2721
2721
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2722
2722
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2750,7 +2750,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles6) {
|
|
|
2750
2750
|
|
|
2751
2751
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2752
2752
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2753
|
-
&log_buffer_));
|
|
2753
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2754
2754
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2755
2755
|
ASSERT_TRUE(compaction->IsTrivialMove());
|
|
2756
2756
|
ASSERT_EQ(1, compaction->num_input_levels());
|
|
@@ -2785,7 +2785,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
|
|
|
2785
2785
|
|
|
2786
2786
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2787
2787
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2788
|
-
&log_buffer_));
|
|
2788
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2789
2789
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2790
2790
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
2791
2791
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -2795,7 +2795,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
|
|
|
2795
2795
|
|
|
2796
2796
|
compaction.reset(level_compaction_picker.PickCompaction(
|
|
2797
2797
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2798
|
-
&log_buffer_));
|
|
2798
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2799
2799
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2800
2800
|
ASSERT_EQ(2U, compaction->num_input_levels());
|
|
2801
2801
|
ASSERT_EQ(1U, compaction->num_input_files(0));
|
|
@@ -2805,7 +2805,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
|
|
|
2805
2805
|
|
|
2806
2806
|
compaction.reset(level_compaction_picker.PickCompaction(
|
|
2807
2807
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2808
|
-
&log_buffer_));
|
|
2808
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2809
2809
|
ASSERT_TRUE(compaction.get() == nullptr);
|
|
2810
2810
|
ASSERT_EQ(4, vstorage_->NextCompactionIndex(1 /* level */));
|
|
2811
2811
|
}
|
|
@@ -2831,7 +2831,7 @@ TEST_F(CompactionPickerTest, IntraL0MaxCompactionBytesNotHit) {
|
|
|
2831
2831
|
|
|
2832
2832
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2833
2833
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2834
|
-
&log_buffer_));
|
|
2834
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2835
2835
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2836
2836
|
ASSERT_EQ(1U, compaction->num_input_levels());
|
|
2837
2837
|
ASSERT_EQ(5U, compaction->num_input_files(0));
|
|
@@ -2862,7 +2862,7 @@ TEST_F(CompactionPickerTest, IntraL0MaxCompactionBytesHit) {
|
|
|
2862
2862
|
|
|
2863
2863
|
std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
|
|
2864
2864
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2865
|
-
&log_buffer_));
|
|
2865
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2866
2866
|
ASSERT_TRUE(compaction.get() != nullptr);
|
|
2867
2867
|
ASSERT_EQ(1U, compaction->num_input_levels());
|
|
2868
2868
|
ASSERT_EQ(4U, compaction->num_input_files(0));
|
|
@@ -2928,7 +2928,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
|
|
|
2928
2928
|
std::unique_ptr<Compaction> compaction(
|
|
2929
2929
|
universal_compaction_picker.PickCompaction(
|
|
2930
2930
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2931
|
-
&log_buffer_));
|
|
2931
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2932
2932
|
|
|
2933
2933
|
ASSERT_TRUE(compaction);
|
|
2934
2934
|
// Validate that its a compaction to reduce sorted runs
|
|
@@ -2946,7 +2946,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
|
|
|
2946
2946
|
std::unique_ptr<Compaction> compaction2(
|
|
2947
2947
|
universal_compaction_picker.PickCompaction(
|
|
2948
2948
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2949
|
-
&log_buffer_));
|
|
2949
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2950
2950
|
ASSERT_FALSE(compaction2);
|
|
2951
2951
|
}
|
|
2952
2952
|
|
|
@@ -2971,7 +2971,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap2) {
|
|
|
2971
2971
|
std::unique_ptr<Compaction> compaction(
|
|
2972
2972
|
universal_compaction_picker.PickCompaction(
|
|
2973
2973
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2974
|
-
&log_buffer_));
|
|
2974
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2975
2975
|
|
|
2976
2976
|
ASSERT_TRUE(compaction);
|
|
2977
2977
|
// Validate that its a delete triggered compaction
|
|
@@ -2990,7 +2990,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap2) {
|
|
|
2990
2990
|
std::unique_ptr<Compaction> compaction2(
|
|
2991
2991
|
universal_compaction_picker.PickCompaction(
|
|
2992
2992
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
2993
|
-
&log_buffer_));
|
|
2993
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
2994
2994
|
ASSERT_FALSE(compaction2);
|
|
2995
2995
|
}
|
|
2996
2996
|
|
|
@@ -3031,7 +3031,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionStartOutputOverlap) {
|
|
|
3031
3031
|
std::unique_ptr<Compaction> compaction(
|
|
3032
3032
|
universal_compaction_picker.PickCompaction(
|
|
3033
3033
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3034
|
-
&log_buffer_));
|
|
3034
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3035
3035
|
|
|
3036
3036
|
ASSERT_TRUE(compaction);
|
|
3037
3037
|
// Validate that its a delete triggered compaction
|
|
@@ -3062,7 +3062,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionStartOutputOverlap) {
|
|
|
3062
3062
|
std::unique_ptr<Compaction> compaction2(
|
|
3063
3063
|
universal_compaction_picker.PickCompaction(
|
|
3064
3064
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3065
|
-
&log_buffer_));
|
|
3065
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3066
3066
|
ASSERT_FALSE(compaction2);
|
|
3067
3067
|
DeleteVersionStorage();
|
|
3068
3068
|
}
|
|
@@ -3088,7 +3088,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0NoOverlap) {
|
|
|
3088
3088
|
std::unique_ptr<Compaction> compaction(
|
|
3089
3089
|
universal_compaction_picker.PickCompaction(
|
|
3090
3090
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3091
|
-
&log_buffer_));
|
|
3091
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3092
3092
|
|
|
3093
3093
|
ASSERT_TRUE(compaction);
|
|
3094
3094
|
// Validate that its a delete triggered compaction
|
|
@@ -3125,7 +3125,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0WithOverlap) {
|
|
|
3125
3125
|
std::unique_ptr<Compaction> compaction(
|
|
3126
3126
|
universal_compaction_picker.PickCompaction(
|
|
3127
3127
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3128
|
-
&log_buffer_));
|
|
3128
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3129
3129
|
|
|
3130
3130
|
ASSERT_TRUE(compaction);
|
|
3131
3131
|
// Validate that its a delete triggered compaction
|
|
@@ -3149,7 +3149,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0Overlap2) {
|
|
|
3149
3149
|
// should fail
|
|
3150
3150
|
NewVersionStorage(1, kCompactionStyleUniversal);
|
|
3151
3151
|
|
|
3152
|
-
// Mark file number
|
|
3152
|
+
// Mark file number 5 for compaction
|
|
3153
3153
|
Add(0, 4U, "260", "300", 1 * kFileSize, 0, 260, 300);
|
|
3154
3154
|
Add(0, 5U, "240", "290", 2 * kFileSize, 0, 201, 250, 0, true);
|
|
3155
3155
|
Add(0, 3U, "301", "350", 4 * kFileSize, 0, 101, 150);
|
|
@@ -3159,7 +3159,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0Overlap2) {
|
|
|
3159
3159
|
std::unique_ptr<Compaction> compaction(
|
|
3160
3160
|
universal_compaction_picker.PickCompaction(
|
|
3161
3161
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3162
|
-
&log_buffer_));
|
|
3162
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3163
3163
|
|
|
3164
3164
|
ASSERT_TRUE(compaction);
|
|
3165
3165
|
// Validate that its a delete triggered compaction
|
|
@@ -3180,7 +3180,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0Overlap2) {
|
|
|
3180
3180
|
std::unique_ptr<Compaction> compaction2(
|
|
3181
3181
|
universal_compaction_picker.PickCompaction(
|
|
3182
3182
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3183
|
-
&log_buffer_));
|
|
3183
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3184
3184
|
ASSERT_TRUE(compaction2);
|
|
3185
3185
|
ASSERT_EQ(3U, compaction->num_input_files(0));
|
|
3186
3186
|
ASSERT_TRUE(file_map_[1].first->being_compacted);
|
|
@@ -3215,7 +3215,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedManualCompaction) {
|
|
|
3215
3215
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3216
3216
|
ColumnFamilyData::kCompactAllLevels, 6, CompactRangeOptions(),
|
|
3217
3217
|
nullptr, nullptr, &manual_end, &manual_conflict,
|
|
3218
|
-
std::numeric_limits<uint64_t>::max(), ""));
|
|
3218
|
+
std::numeric_limits<uint64_t>::max(), "", kMaxSequenceNumber));
|
|
3219
3219
|
|
|
3220
3220
|
ASSERT_TRUE(compaction);
|
|
3221
3221
|
|
|
@@ -3256,7 +3256,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionNonLastLevel) {
|
|
|
3256
3256
|
std::unique_ptr<Compaction> compaction(
|
|
3257
3257
|
universal_compaction_picker.PickCompaction(
|
|
3258
3258
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3259
|
-
&log_buffer_));
|
|
3259
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3260
3260
|
|
|
3261
3261
|
// Make sure it's a size amp compaction and includes all files
|
|
3262
3262
|
ASSERT_EQ(compaction->compaction_reason(),
|
|
@@ -3292,7 +3292,7 @@ TEST_F(CompactionPickerTest, UniversalSizeRatioTierCompactionLastLevel) {
|
|
|
3292
3292
|
std::unique_ptr<Compaction> compaction(
|
|
3293
3293
|
universal_compaction_picker.PickCompaction(
|
|
3294
3294
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3295
|
-
&log_buffer_));
|
|
3295
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3296
3296
|
|
|
3297
3297
|
// Internally, size amp compaction is evaluated before size ratio compaction.
|
|
3298
3298
|
// Here to make sure it's size ratio compaction instead of size amp
|
|
@@ -3329,7 +3329,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionNotSuport) {
|
|
|
3329
3329
|
std::unique_ptr<Compaction> compaction(
|
|
3330
3330
|
universal_compaction_picker.PickCompaction(
|
|
3331
3331
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3332
|
-
&log_buffer_));
|
|
3332
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3333
3333
|
|
|
3334
3334
|
// size amp compaction is still triggered even preclude_last_level is set
|
|
3335
3335
|
ASSERT_EQ(compaction->compaction_reason(),
|
|
@@ -3363,7 +3363,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionLastLevel) {
|
|
|
3363
3363
|
std::unique_ptr<Compaction> compaction(
|
|
3364
3364
|
universal_compaction_picker.PickCompaction(
|
|
3365
3365
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3366
|
-
&log_buffer_));
|
|
3366
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3367
3367
|
|
|
3368
3368
|
// It's a Size Amp compaction, but doesn't include the last level file and
|
|
3369
3369
|
// output to the penultimate level.
|
|
@@ -3471,7 +3471,7 @@ TEST_F(CompactionPickerU64TsTest, CannotTrivialMoveUniversal) {
|
|
|
3471
3471
|
std::unique_ptr<Compaction> compaction(
|
|
3472
3472
|
universal_compaction_picker.PickCompaction(
|
|
3473
3473
|
cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
|
|
3474
|
-
&log_buffer_));
|
|
3474
|
+
&log_buffer_, kMaxSequenceNumber));
|
|
3475
3475
|
assert(compaction);
|
|
3476
3476
|
ASSERT_TRUE(!compaction->is_trivial_move());
|
|
3477
3477
|
}
|
|
@@ -3524,9 +3524,11 @@ TEST_P(PerKeyPlacementCompactionPickerTest, OverlapWithNormalCompaction) {
|
|
|
3524
3524
|
ASSERT_OK(level_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3525
3525
|
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3526
3526
|
|
|
3527
|
-
ASSERT_EQ(
|
|
3528
|
-
|
|
3529
|
-
|
|
3527
|
+
ASSERT_EQ(enable_per_key_placement_,
|
|
3528
|
+
level_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3529
|
+
input_files, 6,
|
|
3530
|
+
Compaction::EvaluatePenultimateLevel(vstorage_.get(), ioptions_,
|
|
3531
|
+
0, 6)));
|
|
3530
3532
|
}
|
|
3531
3533
|
|
|
3532
3534
|
TEST_P(PerKeyPlacementCompactionPickerTest, NormalCompactionOverlap) {
|
|
@@ -3567,9 +3569,9 @@ TEST_P(PerKeyPlacementCompactionPickerTest, NormalCompactionOverlap) {
|
|
|
3567
3569
|
ASSERT_OK(level_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3568
3570
|
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3569
3571
|
|
|
3570
|
-
ASSERT_EQ(
|
|
3571
|
-
|
|
3572
|
-
|
|
3572
|
+
ASSERT_EQ(enable_per_key_placement_,
|
|
3573
|
+
level_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3574
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3573
3575
|
}
|
|
3574
3576
|
|
|
3575
3577
|
TEST_P(PerKeyPlacementCompactionPickerTest,
|
|
@@ -3612,7 +3614,9 @@ TEST_P(PerKeyPlacementCompactionPickerTest,
|
|
|
3612
3614
|
|
|
3613
3615
|
ASSERT_EQ(enable_per_key_placement_,
|
|
3614
3616
|
universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3615
|
-
input_files, 6
|
|
3617
|
+
input_files, 6,
|
|
3618
|
+
Compaction::EvaluatePenultimateLevel(vstorage_.get(), ioptions_,
|
|
3619
|
+
0, 6)));
|
|
3616
3620
|
}
|
|
3617
3621
|
|
|
3618
3622
|
TEST_P(PerKeyPlacementCompactionPickerTest, NormalCompactionOverlapUniversal) {
|
|
@@ -3656,7 +3660,7 @@ TEST_P(PerKeyPlacementCompactionPickerTest, NormalCompactionOverlapUniversal) {
|
|
|
3656
3660
|
|
|
3657
3661
|
ASSERT_EQ(enable_per_key_placement_,
|
|
3658
3662
|
universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3659
|
-
input_files, 5));
|
|
3663
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3660
3664
|
}
|
|
3661
3665
|
|
|
3662
3666
|
TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
@@ -3677,7 +3681,7 @@ TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
|
3677
3681
|
Add(4, 40U, "200", "220", 60000000U);
|
|
3678
3682
|
Add(4, 41U, "230", "250", 60000000U);
|
|
3679
3683
|
Add(4, 42U, "360", "380", 60000000U);
|
|
3680
|
-
Add(6,
|
|
3684
|
+
Add(6, 60U, "101", "351", 60000000U);
|
|
3681
3685
|
UpdateVersionStorageInfo();
|
|
3682
3686
|
|
|
3683
3687
|
// the existing compaction is the 1st L4 file + L6 file
|
|
@@ -3686,7 +3690,58 @@ TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
|
3686
3690
|
CompactionOptions comp_options;
|
|
3687
3691
|
std::unordered_set<uint64_t> input_set;
|
|
3688
3692
|
input_set.insert(40);
|
|
3689
|
-
input_set.insert(
|
|
3693
|
+
input_set.insert(60);
|
|
3694
|
+
std::vector<CompactionInputFiles> input_files;
|
|
3695
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3696
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3697
|
+
|
|
3698
|
+
std::unique_ptr<Compaction> comp1(universal_compaction_picker.CompactFiles(
|
|
3699
|
+
comp_options, input_files, 6, vstorage_.get(), mutable_cf_options_,
|
|
3700
|
+
mutable_db_options_, 0));
|
|
3701
|
+
|
|
3702
|
+
input_set.clear();
|
|
3703
|
+
input_files.clear();
|
|
3704
|
+
input_set.insert(41);
|
|
3705
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3706
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3707
|
+
|
|
3708
|
+
ASSERT_EQ(enable_per_key_placement_,
|
|
3709
|
+
universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3710
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3711
|
+
|
|
3712
|
+
// compacting the 3rd L4 file is always safe:
|
|
3713
|
+
input_set.clear();
|
|
3714
|
+
input_files.clear();
|
|
3715
|
+
input_set.insert(42);
|
|
3716
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3717
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3718
|
+
|
|
3719
|
+
ASSERT_FALSE(universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3720
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3721
|
+
}
|
|
3722
|
+
|
|
3723
|
+
TEST_P(PerKeyPlacementCompactionPickerTest, LastLevelOnlyOverlapUniversal) {
|
|
3724
|
+
if (enable_per_key_placement_) {
|
|
3725
|
+
ioptions_.preclude_last_level_data_seconds = 10000;
|
|
3726
|
+
}
|
|
3727
|
+
|
|
3728
|
+
int num_levels = ioptions_.num_levels;
|
|
3729
|
+
ioptions_.compaction_style = kCompactionStyleUniversal;
|
|
3730
|
+
UniversalCompactionPicker universal_compaction_picker(ioptions_, &icmp_);
|
|
3731
|
+
NewVersionStorage(num_levels, kCompactionStyleUniversal);
|
|
3732
|
+
|
|
3733
|
+
// L4: [200, 220] [230, 250] [360, 380]
|
|
3734
|
+
// L5:
|
|
3735
|
+
// L6: [101, 351]
|
|
3736
|
+
Add(4, 40U, "200", "220", 60000000U);
|
|
3737
|
+
Add(4, 41U, "230", "250", 60000000U);
|
|
3738
|
+
Add(4, 42U, "360", "380", 60000000U);
|
|
3739
|
+
Add(6, 60U, "101", "351", 60000000U);
|
|
3740
|
+
UpdateVersionStorageInfo();
|
|
3741
|
+
|
|
3742
|
+
CompactionOptions comp_options;
|
|
3743
|
+
std::unordered_set<uint64_t> input_set;
|
|
3744
|
+
input_set.insert(60);
|
|
3690
3745
|
std::vector<CompactionInputFiles> input_files;
|
|
3691
3746
|
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3692
3747
|
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
@@ -3695,6 +3750,8 @@ TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
|
3695
3750
|
comp_options, input_files, 6, vstorage_.get(), mutable_cf_options_,
|
|
3696
3751
|
mutable_db_options_, 0));
|
|
3697
3752
|
|
|
3753
|
+
// cannot compact file 41 if the preclude_last_level feature is on, otherwise
|
|
3754
|
+
// compact file 41 is okay.
|
|
3698
3755
|
input_set.clear();
|
|
3699
3756
|
input_files.clear();
|
|
3700
3757
|
input_set.insert(41);
|
|
@@ -3703,7 +3760,7 @@ TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
|
3703
3760
|
|
|
3704
3761
|
ASSERT_EQ(enable_per_key_placement_,
|
|
3705
3762
|
universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3706
|
-
input_files, 5));
|
|
3763
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3707
3764
|
|
|
3708
3765
|
// compacting the 3rd L4 file is always safe:
|
|
3709
3766
|
input_set.clear();
|
|
@@ -3713,7 +3770,184 @@ TEST_P(PerKeyPlacementCompactionPickerTest, PenultimateOverlapUniversal) {
|
|
|
3713
3770
|
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3714
3771
|
|
|
3715
3772
|
ASSERT_FALSE(universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3716
|
-
input_files, 5));
|
|
3773
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3774
|
+
}
|
|
3775
|
+
|
|
3776
|
+
TEST_P(PerKeyPlacementCompactionPickerTest,
|
|
3777
|
+
LastLevelOnlyFailPenultimateUniversal) {
|
|
3778
|
+
// This is to test last_level only compaction still unable to do the
|
|
3779
|
+
// penultimate level compaction if there's already a file in the penultimate
|
|
3780
|
+
// level.
|
|
3781
|
+
// This should rarely happen in universal compaction, as the non-empty L5
|
|
3782
|
+
// should be included in the compaction.
|
|
3783
|
+
if (enable_per_key_placement_) {
|
|
3784
|
+
ioptions_.preclude_last_level_data_seconds = 10000;
|
|
3785
|
+
}
|
|
3786
|
+
|
|
3787
|
+
int num_levels = ioptions_.num_levels;
|
|
3788
|
+
ioptions_.compaction_style = kCompactionStyleUniversal;
|
|
3789
|
+
UniversalCompactionPicker universal_compaction_picker(ioptions_, &icmp_);
|
|
3790
|
+
NewVersionStorage(num_levels, kCompactionStyleUniversal);
|
|
3791
|
+
|
|
3792
|
+
// L4: [200, 220]
|
|
3793
|
+
// L5: [230, 250]
|
|
3794
|
+
// L6: [101, 351]
|
|
3795
|
+
Add(4, 40U, "200", "220", 60000000U);
|
|
3796
|
+
Add(5, 50U, "230", "250", 60000000U);
|
|
3797
|
+
Add(6, 60U, "101", "351", 60000000U);
|
|
3798
|
+
UpdateVersionStorageInfo();
|
|
3799
|
+
|
|
3800
|
+
CompactionOptions comp_options;
|
|
3801
|
+
std::unordered_set<uint64_t> input_set;
|
|
3802
|
+
input_set.insert(60);
|
|
3803
|
+
std::vector<CompactionInputFiles> input_files;
|
|
3804
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3805
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3806
|
+
|
|
3807
|
+
std::unique_ptr<Compaction> comp1(universal_compaction_picker.CompactFiles(
|
|
3808
|
+
comp_options, input_files, 6, vstorage_.get(), mutable_cf_options_,
|
|
3809
|
+
mutable_db_options_, 0));
|
|
3810
|
+
|
|
3811
|
+
ASSERT_TRUE(comp1);
|
|
3812
|
+
ASSERT_EQ(comp1->GetPenultimateLevel(), Compaction::kInvalidLevel);
|
|
3813
|
+
|
|
3814
|
+
// As comp1 cannot be output to the penultimate level, compacting file 40 to
|
|
3815
|
+
// L5 is always safe.
|
|
3816
|
+
input_set.clear();
|
|
3817
|
+
input_files.clear();
|
|
3818
|
+
input_set.insert(40);
|
|
3819
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3820
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3821
|
+
|
|
3822
|
+
ASSERT_FALSE(universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3823
|
+
input_files, 5, Compaction::kInvalidLevel));
|
|
3824
|
+
|
|
3825
|
+
std::unique_ptr<Compaction> comp2(universal_compaction_picker.CompactFiles(
|
|
3826
|
+
comp_options, input_files, 5, vstorage_.get(), mutable_cf_options_,
|
|
3827
|
+
mutable_db_options_, 0));
|
|
3828
|
+
ASSERT_TRUE(comp2);
|
|
3829
|
+
ASSERT_EQ(Compaction::kInvalidLevel, comp2->GetPenultimateLevel());
|
|
3830
|
+
}
|
|
3831
|
+
|
|
3832
|
+
TEST_P(PerKeyPlacementCompactionPickerTest,
|
|
3833
|
+
LastLevelOnlyConflictWithOngoingUniversal) {
|
|
3834
|
+
// This is to test last_level only compaction still unable to do the
|
|
3835
|
+
// penultimate level compaction if there's already an ongoing compaction to
|
|
3836
|
+
// the penultimate level
|
|
3837
|
+
if (enable_per_key_placement_) {
|
|
3838
|
+
ioptions_.preclude_last_level_data_seconds = 10000;
|
|
3839
|
+
}
|
|
3840
|
+
|
|
3841
|
+
int num_levels = ioptions_.num_levels;
|
|
3842
|
+
ioptions_.compaction_style = kCompactionStyleUniversal;
|
|
3843
|
+
UniversalCompactionPicker universal_compaction_picker(ioptions_, &icmp_);
|
|
3844
|
+
NewVersionStorage(num_levels, kCompactionStyleUniversal);
|
|
3845
|
+
|
|
3846
|
+
// L4: [200, 220] [230, 250] [360, 380]
|
|
3847
|
+
// L5:
|
|
3848
|
+
// L6: [101, 351]
|
|
3849
|
+
Add(4, 40U, "200", "220", 60000000U);
|
|
3850
|
+
Add(4, 41U, "230", "250", 60000000U);
|
|
3851
|
+
Add(4, 42U, "360", "380", 60000000U);
|
|
3852
|
+
Add(6, 60U, "101", "351", 60000000U);
|
|
3853
|
+
UpdateVersionStorageInfo();
|
|
3854
|
+
|
|
3855
|
+
// create an ongoing compaction to L5 (penultimate level)
|
|
3856
|
+
CompactionOptions comp_options;
|
|
3857
|
+
std::unordered_set<uint64_t> input_set;
|
|
3858
|
+
input_set.insert(40);
|
|
3859
|
+
std::vector<CompactionInputFiles> input_files;
|
|
3860
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3861
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3862
|
+
|
|
3863
|
+
std::unique_ptr<Compaction> comp1(universal_compaction_picker.CompactFiles(
|
|
3864
|
+
comp_options, input_files, 5, vstorage_.get(), mutable_cf_options_,
|
|
3865
|
+
mutable_db_options_, 0));
|
|
3866
|
+
|
|
3867
|
+
ASSERT_TRUE(comp1);
|
|
3868
|
+
ASSERT_EQ(comp1->GetPenultimateLevel(), Compaction::kInvalidLevel);
|
|
3869
|
+
|
|
3870
|
+
input_set.clear();
|
|
3871
|
+
input_files.clear();
|
|
3872
|
+
input_set.insert(60);
|
|
3873
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3874
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3875
|
+
|
|
3876
|
+
ASSERT_EQ(enable_per_key_placement_,
|
|
3877
|
+
universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3878
|
+
input_files, 6,
|
|
3879
|
+
Compaction::EvaluatePenultimateLevel(vstorage_.get(), ioptions_,
|
|
3880
|
+
6, 6)));
|
|
3881
|
+
|
|
3882
|
+
if (!enable_per_key_placement_) {
|
|
3883
|
+
std::unique_ptr<Compaction> comp2(universal_compaction_picker.CompactFiles(
|
|
3884
|
+
comp_options, input_files, 6, vstorage_.get(), mutable_cf_options_,
|
|
3885
|
+
mutable_db_options_, 0));
|
|
3886
|
+
ASSERT_TRUE(comp2);
|
|
3887
|
+
ASSERT_EQ(Compaction::kInvalidLevel, comp2->GetPenultimateLevel());
|
|
3888
|
+
}
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3891
|
+
TEST_P(PerKeyPlacementCompactionPickerTest,
|
|
3892
|
+
LastLevelOnlyNoConflictWithOngoingUniversal) {
|
|
3893
|
+
// This is similar to `LastLevelOnlyConflictWithOngoingUniversal`, the only
|
|
3894
|
+
// change is the ongoing compaction to L5 has no overlap with the last level
|
|
3895
|
+
// compaction, so it's safe to move data from the last level to the
|
|
3896
|
+
// penultimate level.
|
|
3897
|
+
if (enable_per_key_placement_) {
|
|
3898
|
+
ioptions_.preclude_last_level_data_seconds = 10000;
|
|
3899
|
+
}
|
|
3900
|
+
|
|
3901
|
+
int num_levels = ioptions_.num_levels;
|
|
3902
|
+
ioptions_.compaction_style = kCompactionStyleUniversal;
|
|
3903
|
+
UniversalCompactionPicker universal_compaction_picker(ioptions_, &icmp_);
|
|
3904
|
+
NewVersionStorage(num_levels, kCompactionStyleUniversal);
|
|
3905
|
+
|
|
3906
|
+
// L4: [200, 220] [230, 250] [360, 380]
|
|
3907
|
+
// L5:
|
|
3908
|
+
// L6: [101, 351]
|
|
3909
|
+
Add(4, 40U, "200", "220", 60000000U);
|
|
3910
|
+
Add(4, 41U, "230", "250", 60000000U);
|
|
3911
|
+
Add(4, 42U, "360", "380", 60000000U);
|
|
3912
|
+
Add(6, 60U, "101", "351", 60000000U);
|
|
3913
|
+
UpdateVersionStorageInfo();
|
|
3914
|
+
|
|
3915
|
+
// create an ongoing compaction to L5 (penultimate level)
|
|
3916
|
+
CompactionOptions comp_options;
|
|
3917
|
+
std::unordered_set<uint64_t> input_set;
|
|
3918
|
+
input_set.insert(42);
|
|
3919
|
+
std::vector<CompactionInputFiles> input_files;
|
|
3920
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3921
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3922
|
+
|
|
3923
|
+
std::unique_ptr<Compaction> comp1(universal_compaction_picker.CompactFiles(
|
|
3924
|
+
comp_options, input_files, 5, vstorage_.get(), mutable_cf_options_,
|
|
3925
|
+
mutable_db_options_, 0));
|
|
3926
|
+
|
|
3927
|
+
ASSERT_TRUE(comp1);
|
|
3928
|
+
ASSERT_EQ(comp1->GetPenultimateLevel(), Compaction::kInvalidLevel);
|
|
3929
|
+
|
|
3930
|
+
input_set.clear();
|
|
3931
|
+
input_files.clear();
|
|
3932
|
+
input_set.insert(60);
|
|
3933
|
+
ASSERT_OK(universal_compaction_picker.GetCompactionInputsFromFileNumbers(
|
|
3934
|
+
&input_files, &input_set, vstorage_.get(), comp_options));
|
|
3935
|
+
|
|
3936
|
+
// always safe to move data up
|
|
3937
|
+
ASSERT_FALSE(universal_compaction_picker.FilesRangeOverlapWithCompaction(
|
|
3938
|
+
input_files, 6,
|
|
3939
|
+
Compaction::EvaluatePenultimateLevel(vstorage_.get(), ioptions_, 6, 6)));
|
|
3940
|
+
|
|
3941
|
+
// 2 compactions can be run in parallel
|
|
3942
|
+
std::unique_ptr<Compaction> comp2(universal_compaction_picker.CompactFiles(
|
|
3943
|
+
comp_options, input_files, 6, vstorage_.get(), mutable_cf_options_,
|
|
3944
|
+
mutable_db_options_, 0));
|
|
3945
|
+
ASSERT_TRUE(comp2);
|
|
3946
|
+
if (enable_per_key_placement_) {
|
|
3947
|
+
ASSERT_NE(Compaction::kInvalidLevel, comp2->GetPenultimateLevel());
|
|
3948
|
+
} else {
|
|
3949
|
+
ASSERT_EQ(Compaction::kInvalidLevel, comp2->GetPenultimateLevel());
|
|
3950
|
+
}
|
|
3717
3951
|
}
|
|
3718
3952
|
|
|
3719
3953
|
INSTANTIATE_TEST_CASE_P(PerKeyPlacementCompactionPickerTest,
|