@nxtedition/rocksdb 13.5.8 → 13.5.9
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 +209 -2
- package/deps/rocksdb/rocksdb/BUCK +12 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
- package/deps/rocksdb/rocksdb/Makefile +28 -23
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
- package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
- package/deps/rocksdb/rocksdb/db/builder.h +5 -4
- package/deps/rocksdb/rocksdb/db/c.cc +556 -15
- package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
- package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
- package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
- package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
- package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
- package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
- package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
- package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
- package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
- package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
- package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
- package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
- package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
- package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
- package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
- package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
- package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
- package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
- package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
- package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
- package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
- package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
- package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
- package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
- package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
- package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
- package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
- package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
- package/deps/rocksdb/rocksdb/env/env.cc +32 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
- package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
- package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
- package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
- package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
- package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
- package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
- package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
- package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
- package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
- package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
- package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
- package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
- package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
- package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
- package/deps/rocksdb/rocksdb/options/options.cc +296 -305
- package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
- package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
- package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
- package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
- package/deps/rocksdb/rocksdb/port/lang.h +2 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
- package/deps/rocksdb/rocksdb/src.mk +17 -11
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
- package/deps/rocksdb/rocksdb/table/format.cc +62 -44
- package/deps/rocksdb/rocksdb/table/format.h +35 -12
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
- package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
- package/deps/rocksdb/rocksdb/util/compression.h +348 -232
- package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
- package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
- package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
- package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
- package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
- package/deps/rocksdb/rocksdb.gyp +5 -0
- package/index.js +47 -2
- package/package.json +8 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
|
@@ -59,11 +59,13 @@
|
|
|
59
59
|
#include "rocksdb/utilities/checkpoint.h"
|
|
60
60
|
#include "rocksdb/utilities/optimistic_transaction_db.h"
|
|
61
61
|
#include "rocksdb/utilities/write_batch_with_index.h"
|
|
62
|
+
#include "table/block_based/block_based_table_factory.h"
|
|
62
63
|
#include "table/mock_table.h"
|
|
63
64
|
#include "test_util/sync_point.h"
|
|
64
65
|
#include "test_util/testharness.h"
|
|
65
66
|
#include "test_util/testutil.h"
|
|
66
67
|
#include "util/compression.h"
|
|
68
|
+
#include "util/defer.h"
|
|
67
69
|
#include "util/mutexlock.h"
|
|
68
70
|
#include "util/random.h"
|
|
69
71
|
#include "util/rate_limiter_impl.h"
|
|
@@ -142,6 +144,121 @@ TEST_F(DBTest, MockEnvTest) {
|
|
|
142
144
|
delete db;
|
|
143
145
|
}
|
|
144
146
|
|
|
147
|
+
TEST_F(DBTest, RequestIdPlumbingTest) {
|
|
148
|
+
// test that request_id is passed to the filesystem, from
|
|
149
|
+
// ReadOptions to IODebugContext
|
|
150
|
+
Options options = CurrentOptions();
|
|
151
|
+
options.env = env_;
|
|
152
|
+
|
|
153
|
+
// Create a mock environment to capture IODebugContext during reads
|
|
154
|
+
IODebugContext dbgCopy;
|
|
155
|
+
const std::string* captured_request_id_dbg;
|
|
156
|
+
|
|
157
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
|
|
158
|
+
"RandomAccessFileReader::Read:IODebugContext", [&](void* arg) {
|
|
159
|
+
IODebugContext* dbg = static_cast<IODebugContext*>(arg);
|
|
160
|
+
if (dbg == nullptr) {
|
|
161
|
+
captured_request_id_dbg = nullptr;
|
|
162
|
+
} else {
|
|
163
|
+
captured_request_id_dbg = dbg->request_id;
|
|
164
|
+
// Test IODebugContext assignment operator
|
|
165
|
+
dbgCopy = *dbg;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
169
|
+
|
|
170
|
+
ASSERT_OK(Put("k1", "v1"));
|
|
171
|
+
ASSERT_OK(Flush());
|
|
172
|
+
|
|
173
|
+
// test request_id plumbing during a get
|
|
174
|
+
{
|
|
175
|
+
const std::string test_request_id = "test_request_id_123";
|
|
176
|
+
ReadOptions read_opts;
|
|
177
|
+
read_opts.request_id = &test_request_id;
|
|
178
|
+
std::string value;
|
|
179
|
+
ASSERT_OK(db_->Get(read_opts, "k1", &value));
|
|
180
|
+
|
|
181
|
+
// Verify the request_id was propagated to the file system
|
|
182
|
+
ASSERT_NE(captured_request_id_dbg, nullptr);
|
|
183
|
+
ASSERT_EQ(*captured_request_id_dbg, test_request_id);
|
|
184
|
+
|
|
185
|
+
ASSERT_NE(dbgCopy.request_id, nullptr);
|
|
186
|
+
ASSERT_NE(dbgCopy.request_id, captured_request_id_dbg);
|
|
187
|
+
ASSERT_EQ(*dbgCopy.request_id, test_request_id);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
captured_request_id_dbg = nullptr;
|
|
191
|
+
|
|
192
|
+
// test request_id plumbing during iterator seek
|
|
193
|
+
ASSERT_OK(Put("k2", "v2"));
|
|
194
|
+
ASSERT_OK(Flush());
|
|
195
|
+
{
|
|
196
|
+
ReadOptions read_opts;
|
|
197
|
+
const std::string request_id = "test_request_id_456";
|
|
198
|
+
read_opts.request_id = &request_id;
|
|
199
|
+
|
|
200
|
+
std::unique_ptr<Iterator> iter(db_->NewIterator(read_opts));
|
|
201
|
+
iter->Seek("k2");
|
|
202
|
+
ASSERT_TRUE(iter->Valid());
|
|
203
|
+
|
|
204
|
+
// Verify the request_id was propagated to the file system
|
|
205
|
+
ASSERT_NE(captured_request_id_dbg, nullptr);
|
|
206
|
+
ASSERT_EQ(*captured_request_id_dbg, request_id);
|
|
207
|
+
|
|
208
|
+
ASSERT_NE(dbgCopy.request_id, nullptr);
|
|
209
|
+
ASSERT_NE(dbgCopy.request_id, captured_request_id_dbg);
|
|
210
|
+
ASSERT_EQ(*dbgCopy.request_id, request_id);
|
|
211
|
+
|
|
212
|
+
// Test IODebugContext copy constructor
|
|
213
|
+
IODebugContext dbgCopy2(dbgCopy);
|
|
214
|
+
ASSERT_NE(dbgCopy2.request_id, nullptr);
|
|
215
|
+
ASSERT_NE(dbgCopy2.request_id, captured_request_id_dbg);
|
|
216
|
+
ASSERT_NE(dbgCopy2.request_id, dbgCopy.request_id);
|
|
217
|
+
ASSERT_EQ(*dbgCopy2.request_id, request_id);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// test request_id plumbing during multiget
|
|
221
|
+
captured_request_id_dbg = nullptr;
|
|
222
|
+
|
|
223
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
224
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
|
|
225
|
+
"RandomAccessFileReader::MultiRead:IODebugContext", [&](void* arg) {
|
|
226
|
+
IODebugContext* dbg = static_cast<IODebugContext*>(arg);
|
|
227
|
+
if (dbg == nullptr) {
|
|
228
|
+
captured_request_id_dbg = nullptr;
|
|
229
|
+
} else {
|
|
230
|
+
captured_request_id_dbg = dbg->request_id;
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
235
|
+
|
|
236
|
+
ASSERT_OK(Put("k3", "v3"));
|
|
237
|
+
ASSERT_OK(Put("k4", "v4"));
|
|
238
|
+
ASSERT_OK(Flush());
|
|
239
|
+
|
|
240
|
+
{
|
|
241
|
+
ReadOptions read_opts;
|
|
242
|
+
const std::string multiget_request_id = "test_request_id_789";
|
|
243
|
+
read_opts.request_id = &multiget_request_id;
|
|
244
|
+
|
|
245
|
+
std::vector<std::string> values;
|
|
246
|
+
std::vector<Slice> keys = {Slice("k3"), Slice("k4")};
|
|
247
|
+
|
|
248
|
+
values.resize(keys.size());
|
|
249
|
+
|
|
250
|
+
std::vector<ColumnFamilyHandle*> cfhs(keys.size(),
|
|
251
|
+
db_->DefaultColumnFamily());
|
|
252
|
+
db_->MultiGet(read_opts, cfhs, keys, &values);
|
|
253
|
+
|
|
254
|
+
ASSERT_NE(captured_request_id_dbg, nullptr);
|
|
255
|
+
ASSERT_EQ(*captured_request_id_dbg, multiget_request_id);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
|
|
259
|
+
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
260
|
+
}
|
|
261
|
+
|
|
145
262
|
TEST_F(DBTest, MemEnvTest) {
|
|
146
263
|
std::unique_ptr<Env> env{NewMemEnv(Env::Default())};
|
|
147
264
|
Options options;
|
|
@@ -1161,7 +1278,6 @@ class DelayFilterFactory : public CompactionFilterFactory {
|
|
|
1161
1278
|
};
|
|
1162
1279
|
} // anonymous namespace
|
|
1163
1280
|
|
|
1164
|
-
|
|
1165
1281
|
static std::string CompressibleString(Random* rnd, int len) {
|
|
1166
1282
|
std::string r;
|
|
1167
1283
|
test::CompressibleString(rnd, 0.8, len, &r);
|
|
@@ -3181,6 +3297,15 @@ class ModelDB : public DB {
|
|
|
3181
3297
|
return Status();
|
|
3182
3298
|
}
|
|
3183
3299
|
|
|
3300
|
+
using DB::GetPropertiesOfTablesByLevel;
|
|
3301
|
+
Status GetPropertiesOfTablesByLevel(
|
|
3302
|
+
ColumnFamilyHandle* /* column_family */,
|
|
3303
|
+
std::vector<
|
|
3304
|
+
std::unique_ptr<TablePropertiesCollection>>* /* props_by_level */)
|
|
3305
|
+
override {
|
|
3306
|
+
return Status();
|
|
3307
|
+
}
|
|
3308
|
+
|
|
3184
3309
|
using DB::KeyMayExist;
|
|
3185
3310
|
bool KeyMayExist(const ReadOptions& /*options*/,
|
|
3186
3311
|
ColumnFamilyHandle* /*column_family*/, const Slice& /*key*/,
|
|
@@ -3341,11 +3466,6 @@ class ModelDB : public DB {
|
|
|
3341
3466
|
using DB::NumberLevels;
|
|
3342
3467
|
int NumberLevels(ColumnFamilyHandle* /*column_family*/) override { return 1; }
|
|
3343
3468
|
|
|
3344
|
-
using DB::MaxMemCompactionLevel;
|
|
3345
|
-
int MaxMemCompactionLevel(ColumnFamilyHandle* /*column_family*/) override {
|
|
3346
|
-
return 1;
|
|
3347
|
-
}
|
|
3348
|
-
|
|
3349
3469
|
using DB::Level0StopWriteTrigger;
|
|
3350
3470
|
int Level0StopWriteTrigger(ColumnFamilyHandle* /*column_family*/) override {
|
|
3351
3471
|
return -1;
|
|
@@ -3402,7 +3522,7 @@ class ModelDB : public DB {
|
|
|
3402
3522
|
}
|
|
3403
3523
|
|
|
3404
3524
|
Status GetCurrentWalFile(
|
|
3405
|
-
std::unique_ptr<LogFile>* /*
|
|
3525
|
+
std::unique_ptr<LogFile>* /*current_wal_file*/) override {
|
|
3406
3526
|
return Status::OK();
|
|
3407
3527
|
}
|
|
3408
3528
|
|
|
@@ -3410,8 +3530,6 @@ class ModelDB : public DB {
|
|
|
3410
3530
|
return Status::NotSupported();
|
|
3411
3531
|
}
|
|
3412
3532
|
|
|
3413
|
-
Status DeleteFile(std::string /*name*/) override { return Status::OK(); }
|
|
3414
|
-
|
|
3415
3533
|
Status GetUpdatesSince(
|
|
3416
3534
|
ROCKSDB_NAMESPACE::SequenceNumber,
|
|
3417
3535
|
std::unique_ptr<ROCKSDB_NAMESPACE::TransactionLogIterator>*,
|
|
@@ -3443,6 +3561,11 @@ class ModelDB : public DB {
|
|
|
3443
3561
|
return Status::OK();
|
|
3444
3562
|
}
|
|
3445
3563
|
|
|
3564
|
+
Status GetNewestUserDefinedTimestamp(
|
|
3565
|
+
ColumnFamilyHandle* /*cf*/, std::string* /*newest_timestamp*/) override {
|
|
3566
|
+
return Status::OK();
|
|
3567
|
+
}
|
|
3568
|
+
|
|
3446
3569
|
ColumnFamilyHandle* DefaultColumnFamily() const override { return nullptr; }
|
|
3447
3570
|
|
|
3448
3571
|
private:
|
|
@@ -3715,6 +3838,139 @@ TEST_F(DBTest, BlockBasedTablePrefixIndexTest) {
|
|
|
3715
3838
|
ASSERT_EQ("v2", Get("k2"));
|
|
3716
3839
|
}
|
|
3717
3840
|
|
|
3841
|
+
TEST_F(DBTest, SetOptionsEffectiveInSuperVersions) {
|
|
3842
|
+
// Basically, to test the SetOptions take effect with (and only with)
|
|
3843
|
+
// new SuperVersions, and remain in effect through some things like
|
|
3844
|
+
// flush and compaction, we use some queries that depend on the current
|
|
3845
|
+
// prefix extractor.
|
|
3846
|
+
//
|
|
3847
|
+
// Making the semantics of read options dependent on the current state of
|
|
3848
|
+
// mutable options is kind of an anti-pattern that prefix_seek_opt_in_only
|
|
3849
|
+
// is helping to phase out. However, this is useful for rather directly
|
|
3850
|
+
// testing the expected behavior of mutable options handling.
|
|
3851
|
+
ReadOptions ropts;
|
|
3852
|
+
ropts.prefix_same_as_start = true;
|
|
3853
|
+
Options options = CurrentOptions();
|
|
3854
|
+
options.prefix_extractor.reset(NewFixedPrefixTransform(5));
|
|
3855
|
+
options.prefix_seek_opt_in_only = false;
|
|
3856
|
+
Reopen(options);
|
|
3857
|
+
|
|
3858
|
+
ASSERT_OK(Put("goat1", "g1"));
|
|
3859
|
+
ASSERT_OK(Put("goat2", "g2"));
|
|
3860
|
+
|
|
3861
|
+
std::unique_ptr<Iterator> iter(db_->NewIterator(ropts));
|
|
3862
|
+
|
|
3863
|
+
auto VerifyTransform4 = [&](int caller_line) {
|
|
3864
|
+
SCOPED_TRACE("Called from " + std::to_string(caller_line));
|
|
3865
|
+
// Nothing with this prefix
|
|
3866
|
+
iter->Seek("game1");
|
|
3867
|
+
ASSERT_OK(iter->status());
|
|
3868
|
+
ASSERT_FALSE(iter->Valid());
|
|
3869
|
+
|
|
3870
|
+
iter->Seek("goat1");
|
|
3871
|
+
ASSERT_OK(iter->status());
|
|
3872
|
+
ASSERT_TRUE(iter->Valid());
|
|
3873
|
+
ASSERT_EQ("goat1", iter->key());
|
|
3874
|
+
iter->Next();
|
|
3875
|
+
ASSERT_OK(iter->status());
|
|
3876
|
+
ASSERT_TRUE(iter->Valid());
|
|
3877
|
+
ASSERT_EQ("goat2", iter->key());
|
|
3878
|
+
};
|
|
3879
|
+
|
|
3880
|
+
auto VerifyTransform5 = [&](int caller_line) {
|
|
3881
|
+
SCOPED_TRACE("Called from " + std::to_string(caller_line));
|
|
3882
|
+
// Nothing with this prefix
|
|
3883
|
+
iter->Seek("game1");
|
|
3884
|
+
ASSERT_OK(iter->status());
|
|
3885
|
+
ASSERT_FALSE(iter->Valid());
|
|
3886
|
+
|
|
3887
|
+
iter->Seek("goat1");
|
|
3888
|
+
ASSERT_OK(iter->status());
|
|
3889
|
+
ASSERT_TRUE(iter->Valid());
|
|
3890
|
+
ASSERT_EQ("goat1", iter->key());
|
|
3891
|
+
iter->Next();
|
|
3892
|
+
ASSERT_OK(iter->status());
|
|
3893
|
+
ASSERT_FALSE(iter->Valid());
|
|
3894
|
+
|
|
3895
|
+
iter->Seek("goat2");
|
|
3896
|
+
ASSERT_OK(iter->status());
|
|
3897
|
+
ASSERT_TRUE(iter->Valid());
|
|
3898
|
+
ASSERT_EQ("goat2", iter->key());
|
|
3899
|
+
iter->Next();
|
|
3900
|
+
ASSERT_OK(iter->status());
|
|
3901
|
+
ASSERT_FALSE(iter->Valid());
|
|
3902
|
+
};
|
|
3903
|
+
|
|
3904
|
+
for (int i = 0;; ++i) {
|
|
3905
|
+
SCOPED_TRACE("Iteration " + std::to_string(i));
|
|
3906
|
+
// Baseline
|
|
3907
|
+
VerifyTransform5(__LINE__);
|
|
3908
|
+
|
|
3909
|
+
if (i == 0) {
|
|
3910
|
+
// Test a "normal" change with nothing happening in parallel
|
|
3911
|
+
ASSERT_OK(db_->SetOptions({{"prefix_extractor", "fixed:4"}}));
|
|
3912
|
+
|
|
3913
|
+
// Iterator still uses old superversion
|
|
3914
|
+
VerifyTransform5(__LINE__);
|
|
3915
|
+
|
|
3916
|
+
// Refresh updates the SuperVersion
|
|
3917
|
+
ASSERT_OK(iter->Refresh());
|
|
3918
|
+
} else if (i == 1) {
|
|
3919
|
+
// Test a setting change in parallel with flush
|
|
3920
|
+
iter = nullptr;
|
|
3921
|
+
SyncPoint::GetInstance()->DisableProcessing();
|
|
3922
|
+
SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
3923
|
+
SyncPoint::GetInstance()->SetCallBack(
|
|
3924
|
+
"FlushJob::WriteLevel0Table:num_memtables", [&](void*) {
|
|
3925
|
+
// During flush, without DB mutex held
|
|
3926
|
+
ASSERT_OK(db_->SetOptions({{"prefix_extractor", "fixed:4"}}));
|
|
3927
|
+
iter.reset(db_->NewIterator(ropts));
|
|
3928
|
+
VerifyTransform4(__LINE__);
|
|
3929
|
+
});
|
|
3930
|
+
SyncPoint::GetInstance()->EnableProcessing();
|
|
3931
|
+
ASSERT_OK(Flush());
|
|
3932
|
+
SyncPoint::GetInstance()->DisableProcessing();
|
|
3933
|
+
SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
3934
|
+
// Callback was called
|
|
3935
|
+
ASSERT_NE(iter, nullptr);
|
|
3936
|
+
} else if (i == 2) {
|
|
3937
|
+
// Test a setting change in parallel with compaction
|
|
3938
|
+
iter = nullptr;
|
|
3939
|
+
SyncPoint::GetInstance()->DisableProcessing();
|
|
3940
|
+
SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
3941
|
+
SyncPoint::GetInstance()->SetCallBack(
|
|
3942
|
+
"CompactionJob::Run():EndStatusSet", [&](void*) {
|
|
3943
|
+
// During compaction, without DB mutex held
|
|
3944
|
+
ASSERT_OK(db_->SetOptions({{"prefix_extractor", "fixed:4"}}));
|
|
3945
|
+
iter.reset(db_->NewIterator(ropts));
|
|
3946
|
+
VerifyTransform4(__LINE__);
|
|
3947
|
+
});
|
|
3948
|
+
SyncPoint::GetInstance()->EnableProcessing();
|
|
3949
|
+
// Need data overlapping that L0 file to prevent trivial move
|
|
3950
|
+
ASSERT_OK(Put("aaaaa", "a"));
|
|
3951
|
+
ASSERT_OK(Put("zzzzz", "a"));
|
|
3952
|
+
ASSERT_OK(CompactRange({}, {}, {}));
|
|
3953
|
+
SyncPoint::GetInstance()->DisableProcessing();
|
|
3954
|
+
SyncPoint::GetInstance()->ClearAllCallBacks();
|
|
3955
|
+
// Callback was called
|
|
3956
|
+
ASSERT_NE(iter, nullptr);
|
|
3957
|
+
} else {
|
|
3958
|
+
break;
|
|
3959
|
+
}
|
|
3960
|
+
// Change has taken effect
|
|
3961
|
+
VerifyTransform4(__LINE__);
|
|
3962
|
+
// Same after a new iterator (in case a new SuperVersion reverted the
|
|
3963
|
+
// setting)
|
|
3964
|
+
iter.reset(db_->NewIterator(ropts));
|
|
3965
|
+
VerifyTransform4(__LINE__);
|
|
3966
|
+
|
|
3967
|
+
// Back to baseline setting
|
|
3968
|
+
ASSERT_OK(db_->SetOptions({{"prefix_extractor", "fixed:5"}}));
|
|
3969
|
+
// New iterator uses latest SuperVersion
|
|
3970
|
+
iter.reset(db_->NewIterator(ropts));
|
|
3971
|
+
}
|
|
3972
|
+
}
|
|
3973
|
+
|
|
3718
3974
|
TEST_F(DBTest, BlockBasedTablePrefixHashIndexTest) {
|
|
3719
3975
|
// create a DB with block prefix index
|
|
3720
3976
|
BlockBasedTableOptions table_options;
|
|
@@ -4378,7 +4634,6 @@ TEST_F(DBTest, ConcurrentMemtableNotSupported) {
|
|
|
4378
4634
|
ASSERT_NOK(db_->CreateColumnFamily(cf_options, "name", &handle));
|
|
4379
4635
|
}
|
|
4380
4636
|
|
|
4381
|
-
|
|
4382
4637
|
TEST_F(DBTest, SanitizeNumThreads) {
|
|
4383
4638
|
for (int attempt = 0; attempt < 2; attempt++) {
|
|
4384
4639
|
const size_t kTotalTasks = 8;
|
|
@@ -5161,7 +5416,6 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
|
|
|
5161
5416
|
for (int i = 0; i < kNKeys; i++) {
|
|
5162
5417
|
keys[i] = i;
|
|
5163
5418
|
}
|
|
5164
|
-
RandomShuffle(std::begin(keys), std::end(keys));
|
|
5165
5419
|
|
|
5166
5420
|
Random rnd(301);
|
|
5167
5421
|
Options options;
|
|
@@ -5186,7 +5440,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
|
|
|
5186
5440
|
options.compression_per_level[0] = kNoCompression;
|
|
5187
5441
|
// No compression for the Ln whre L0 is compacted to
|
|
5188
5442
|
options.compression_per_level[1] = kNoCompression;
|
|
5189
|
-
//
|
|
5443
|
+
// Snappy compression for Ln+1
|
|
5190
5444
|
options.compression_per_level[2] = kSnappyCompression;
|
|
5191
5445
|
|
|
5192
5446
|
OnFileDeletionListener* listener = new OnFileDeletionListener();
|
|
@@ -5198,6 +5452,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
|
|
|
5198
5452
|
// be compressed, so there shouldn't be any compression.
|
|
5199
5453
|
for (int i = 0; i < 20; i++) {
|
|
5200
5454
|
ASSERT_OK(Put(Key(keys[i]), CompressibleString(&rnd, 4000)));
|
|
5455
|
+
ASSERT_OK(dbfull()->TEST_WaitForBackgroundWork());
|
|
5201
5456
|
}
|
|
5202
5457
|
ASSERT_OK(Flush());
|
|
5203
5458
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -5216,8 +5471,9 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
|
|
|
5216
5471
|
// above compression settings for each level, there will be some compression.
|
|
5217
5472
|
ASSERT_OK(options.statistics->Reset());
|
|
5218
5473
|
ASSERT_EQ(num_block_compressed, 0);
|
|
5219
|
-
for (int i =
|
|
5474
|
+
for (int i = 20; i < 120; i++) {
|
|
5220
5475
|
ASSERT_OK(Put(Key(keys[i]), CompressibleString(&rnd, 4000)));
|
|
5476
|
+
ASSERT_OK(dbfull()->TEST_WaitForBackgroundWork());
|
|
5221
5477
|
}
|
|
5222
5478
|
ASSERT_OK(Flush());
|
|
5223
5479
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -5238,9 +5494,44 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
|
|
|
5238
5494
|
}));
|
|
5239
5495
|
ColumnFamilyMetaData cf_meta;
|
|
5240
5496
|
db_->GetColumnFamilyMetaData(&cf_meta);
|
|
5497
|
+
|
|
5498
|
+
// Ensure that L1+ files are non-overlapping and together with L0 encompass
|
|
5499
|
+
// full key range between smallestkey and largestkey from CF file metadata.
|
|
5500
|
+
int largestkey_in_prev_level = -1;
|
|
5501
|
+
int keys_found = 0;
|
|
5502
|
+
for (int level = (int)cf_meta.levels.size() - 1; level >= 0; level--) {
|
|
5503
|
+
int files_in_level = (int)cf_meta.levels[level].files.size();
|
|
5504
|
+
int largestkey_in_prev_file = -1;
|
|
5505
|
+
for (int j = 0; j < files_in_level; j++) {
|
|
5506
|
+
int smallestkey = IdFromKey(cf_meta.levels[level].files[j].smallestkey);
|
|
5507
|
+
int largestkey = IdFromKey(cf_meta.levels[level].files[j].largestkey);
|
|
5508
|
+
int num_entries = (int)cf_meta.levels[level].files[j].num_entries;
|
|
5509
|
+
ASSERT_EQ(num_entries, largestkey - smallestkey + 1);
|
|
5510
|
+
keys_found += num_entries;
|
|
5511
|
+
if (level > 0) {
|
|
5512
|
+
if (j == 0) {
|
|
5513
|
+
ASSERT_GT(smallestkey, largestkey_in_prev_level);
|
|
5514
|
+
}
|
|
5515
|
+
if (j > 0) {
|
|
5516
|
+
ASSERT_GT(smallestkey, largestkey_in_prev_file);
|
|
5517
|
+
}
|
|
5518
|
+
if (j == files_in_level - 1) {
|
|
5519
|
+
largestkey_in_prev_level = largestkey;
|
|
5520
|
+
}
|
|
5521
|
+
}
|
|
5522
|
+
largestkey_in_prev_file = largestkey;
|
|
5523
|
+
}
|
|
5524
|
+
}
|
|
5525
|
+
ASSERT_EQ(keys_found, kNKeys);
|
|
5526
|
+
|
|
5241
5527
|
for (const auto& file : cf_meta.levels[4].files) {
|
|
5242
5528
|
listener->SetExpectedFileName(dbname_ + file.name);
|
|
5243
|
-
|
|
5529
|
+
const RangeOpt ranges(file.smallestkey, file.largestkey);
|
|
5530
|
+
// Given verification from above, we're guaranteed that by deleting all the
|
|
5531
|
+
// files in [<smallestkey>, <largestkey>] range, we're effectively deleting
|
|
5532
|
+
// that very single file and nothing more.
|
|
5533
|
+
EXPECT_OK(dbfull()->DeleteFilesInRanges(dbfull()->DefaultColumnFamily(),
|
|
5534
|
+
&ranges, true /* include_end */));
|
|
5244
5535
|
}
|
|
5245
5536
|
listener->VerifyMatchedCount(cf_meta.levels[4].files.size());
|
|
5246
5537
|
|
|
@@ -5788,7 +6079,6 @@ TEST_F(DBTest, FileCreationRandomFailure) {
|
|
|
5788
6079
|
}
|
|
5789
6080
|
}
|
|
5790
6081
|
|
|
5791
|
-
|
|
5792
6082
|
TEST_F(DBTest, DynamicMiscOptions) {
|
|
5793
6083
|
// Test max_sequential_skip_in_iterations
|
|
5794
6084
|
Options options;
|
|
@@ -5919,6 +6209,11 @@ TEST_F(DBTest, L0L1L2AndUpHitCounter) {
|
|
|
5919
6209
|
}
|
|
5920
6210
|
|
|
5921
6211
|
TEST_F(DBTest, EncodeDecompressedBlockSizeTest) {
|
|
6212
|
+
// Allow testing format_version=1
|
|
6213
|
+
bool& allow_unsupported_fv = TEST_AllowUnsupportedFormatVersion();
|
|
6214
|
+
SaveAndRestore guard(&allow_unsupported_fv);
|
|
6215
|
+
ASSERT_FALSE(allow_unsupported_fv);
|
|
6216
|
+
|
|
5922
6217
|
// iter 0 -- zlib
|
|
5923
6218
|
// iter 1 -- bzip2
|
|
5924
6219
|
// iter 2 -- lz4
|
|
@@ -5941,7 +6236,16 @@ TEST_F(DBTest, EncodeDecompressedBlockSizeTest) {
|
|
|
5941
6236
|
table_options.format_version = first_table_version;
|
|
5942
6237
|
table_options.filter_policy.reset(NewBloomFilterPolicy(10));
|
|
5943
6238
|
Options options = CurrentOptions();
|
|
6239
|
+
|
|
6240
|
+
// Hack to generate old files (checked in factory construction)
|
|
6241
|
+
allow_unsupported_fv = true;
|
|
5944
6242
|
options.table_factory.reset(NewBlockBasedTableFactory(table_options));
|
|
6243
|
+
ASSERT_EQ(options.table_factory->GetOptions<BlockBasedTableOptions>()
|
|
6244
|
+
->format_version,
|
|
6245
|
+
first_table_version);
|
|
6246
|
+
// Able to read old files without the hack
|
|
6247
|
+
allow_unsupported_fv = false;
|
|
6248
|
+
|
|
5945
6249
|
options.create_if_missing = true;
|
|
5946
6250
|
options.compression = comp;
|
|
5947
6251
|
DestroyAndReopen(options);
|
|
@@ -5953,9 +6257,14 @@ TEST_F(DBTest, EncodeDecompressedBlockSizeTest) {
|
|
|
5953
6257
|
// compressible string
|
|
5954
6258
|
ASSERT_OK(Put(Key(i), rnd.RandomString(128) + std::string(128, 'a')));
|
|
5955
6259
|
}
|
|
6260
|
+
ASSERT_OK(Flush());
|
|
5956
6261
|
|
|
5957
6262
|
table_options.format_version = first_table_version == 1 ? 2 : 1;
|
|
5958
6263
|
options.table_factory.reset(NewBlockBasedTableFactory(table_options));
|
|
6264
|
+
// format_version (for writing) is sanitized to minimum supported
|
|
6265
|
+
ASSERT_EQ(options.table_factory->GetOptions<BlockBasedTableOptions>()
|
|
6266
|
+
->format_version,
|
|
6267
|
+
BlockBasedTableFactory::kMinSupportedFormatVersion);
|
|
5959
6268
|
Reopen(options);
|
|
5960
6269
|
for (int i = 0; i < kNumKeysWritten; ++i) {
|
|
5961
6270
|
auto r = Get(Key(i));
|
|
@@ -6224,7 +6533,7 @@ TEST_F(DBTest, TestLogCleanup) {
|
|
|
6224
6533
|
|
|
6225
6534
|
for (int i = 0; i < 100000; ++i) {
|
|
6226
6535
|
ASSERT_OK(Put(Key(i), "val"));
|
|
6227
|
-
// only 2 memtables will be alive, so
|
|
6536
|
+
// only 2 memtables will be alive, so wals_to_free needs to always be below
|
|
6228
6537
|
// 2
|
|
6229
6538
|
ASSERT_LT(dbfull()->TEST_LogsToFreeSize(), static_cast<size_t>(3));
|
|
6230
6539
|
}
|
|
@@ -7230,7 +7539,6 @@ TEST_F(DBTest, ReusePinnableSlice) {
|
|
|
7230
7539
|
1);
|
|
7231
7540
|
}
|
|
7232
7541
|
|
|
7233
|
-
|
|
7234
7542
|
TEST_F(DBTest, DeletingOldWalAfterDrop) {
|
|
7235
7543
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency(
|
|
7236
7544
|
{{"Test:AllowFlushes", "DBImpl::BGWorkFlush"},
|
|
@@ -7355,7 +7663,6 @@ TEST_F(DBTest, LargeBlockSizeTest) {
|
|
|
7355
7663
|
ASSERT_NOK(TryReopenWithColumnFamilies({"default", "pikachu"}, options));
|
|
7356
7664
|
}
|
|
7357
7665
|
|
|
7358
|
-
|
|
7359
7666
|
TEST_F(DBTest, CreationTimeOfOldestFile) {
|
|
7360
7667
|
const int kNumKeysPerFile = 32;
|
|
7361
7668
|
const int kNumLevelFiles = 2;
|