@nxtedition/rocksdb 6.0.1 → 7.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUILDING.md +12 -4
- package/binding.cc +421 -40
- package/deps/rocksdb/build_version.cc +4 -10
- package/deps/rocksdb/rocksdb/CMakeLists.txt +26 -3
- package/deps/rocksdb/rocksdb/Makefile +73 -91
- package/deps/rocksdb/rocksdb/TARGETS +27 -2
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
- package/deps/rocksdb/rocksdb/common.mk +30 -0
- package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -7
- package/deps/rocksdb/rocksdb/db/c.cc +71 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +28 -2
- package/deps/rocksdb/rocksdb/db/column_family.cc +12 -5
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +54 -16
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +14 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +85 -18
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +151 -32
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +404 -32
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +11 -20
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +15 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +12 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +42 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +54 -23
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +14 -4
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +28 -12
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +11 -6
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
- package/deps/rocksdb/rocksdb/db/db_test.cc +60 -42
- package/deps/rocksdb/rocksdb/db/db_test2.cc +244 -111
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +101 -19
- package/deps/rocksdb/rocksdb/db/db_test_util.h +52 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +5 -175
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.h +126 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +91 -12
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
- package/deps/rocksdb/rocksdb/db/flush_job.cc +28 -15
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +14 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
- package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
- package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +13 -2
- package/deps/rocksdb/rocksdb/db/repair_test.cc +37 -15
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
- package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +20 -130
- package/deps/rocksdb/rocksdb/db/table_cache.h +3 -2
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +140 -0
- package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +133 -133
- package/deps/rocksdb/rocksdb/db/version_edit.cc +22 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +13 -4
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +14 -14
- package/deps/rocksdb/rocksdb/db/version_set.cc +207 -214
- package/deps/rocksdb/rocksdb/db/version_set.h +14 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +154 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +10 -9
- package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +44 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +374 -275
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
- package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
- package/deps/rocksdb/rocksdb/env/env.cc +0 -60
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
- package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
- package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
- package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +44 -22
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +60 -40
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +49 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +4 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +378 -103
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
- package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
- package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +7 -8
- package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
- package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
- package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
- package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +47 -38
- package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
- package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
- package/deps/rocksdb/rocksdb/options/db_options.cc +46 -17
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/options.cc +7 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +86 -39
- package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +12 -7
- package/deps/rocksdb/rocksdb/options/options_test.cc +222 -68
- package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
- package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
- package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
- package/deps/rocksdb/rocksdb/src.mk +6 -1
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +23 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +81 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +94 -726
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +21 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +9 -3
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +754 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -73
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +2 -11
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +59 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +18 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +0 -61
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +0 -13
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +8 -4
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +65 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/format.cc +22 -20
- package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
- package/deps/rocksdb/rocksdb/table/multiget_context.h +60 -13
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +1 -1
- package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
- package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
- package/deps/rocksdb/rocksdb/table/table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
- package/deps/rocksdb/rocksdb/table/unique_id.cc +84 -25
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +37 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +277 -105
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +26 -4
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +72 -0
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +144 -0
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
- package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
- package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
- package/deps/rocksdb/rocksdb/util/compression.h +56 -7
- package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
- package/deps/rocksdb/rocksdb/util/heap.h +5 -3
- package/deps/rocksdb/rocksdb/util/random.cc +1 -5
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
- package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
- package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
- package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
- package/deps/rocksdb/rocksdb.gyp +20 -13
- package/index.js +187 -3
- package/iterator.js +1 -0
- package/package-lock.json +23687 -0
- package/package.json +2 -30
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/snapshot.js +23 -0
- package/deps/liburing/liburing/README +0 -46
- package/deps/liburing/liburing/test/232c93d07b74-test.c +0 -305
- package/deps/liburing/liburing/test/35fa71a030ca-test.c +0 -329
- package/deps/liburing/liburing/test/500f9fbadef8-test.c +0 -89
- package/deps/liburing/liburing/test/7ad0e4b2f83c-test.c +0 -93
- package/deps/liburing/liburing/test/8a9973408177-test.c +0 -106
- package/deps/liburing/liburing/test/917257daa0fe-test.c +0 -53
- package/deps/liburing/liburing/test/Makefile +0 -312
- package/deps/liburing/liburing/test/a0908ae19763-test.c +0 -58
- package/deps/liburing/liburing/test/a4c0b3decb33-test.c +0 -180
- package/deps/liburing/liburing/test/accept-link.c +0 -251
- package/deps/liburing/liburing/test/accept-reuse.c +0 -164
- package/deps/liburing/liburing/test/accept-test.c +0 -79
- package/deps/liburing/liburing/test/accept.c +0 -476
- package/deps/liburing/liburing/test/across-fork.c +0 -283
- package/deps/liburing/liburing/test/b19062a56726-test.c +0 -53
- package/deps/liburing/liburing/test/b5837bd5311d-test.c +0 -77
- package/deps/liburing/liburing/test/ce593a6c480a-test.c +0 -135
- package/deps/liburing/liburing/test/close-opath.c +0 -122
- package/deps/liburing/liburing/test/config +0 -10
- package/deps/liburing/liburing/test/connect.c +0 -398
- package/deps/liburing/liburing/test/cq-full.c +0 -96
- package/deps/liburing/liburing/test/cq-overflow.c +0 -294
- package/deps/liburing/liburing/test/cq-peek-batch.c +0 -102
- package/deps/liburing/liburing/test/cq-ready.c +0 -94
- package/deps/liburing/liburing/test/cq-size.c +0 -58
- package/deps/liburing/liburing/test/d4ae271dfaae-test.c +0 -96
- package/deps/liburing/liburing/test/d77a67ed5f27-test.c +0 -65
- package/deps/liburing/liburing/test/defer.c +0 -307
- package/deps/liburing/liburing/test/double-poll-crash.c +0 -186
- package/deps/liburing/liburing/test/eeed8b54e0df-test.c +0 -114
- package/deps/liburing/liburing/test/empty-eownerdead.c +0 -42
- package/deps/liburing/liburing/test/eventfd-disable.c +0 -151
- package/deps/liburing/liburing/test/eventfd-ring.c +0 -97
- package/deps/liburing/liburing/test/eventfd.c +0 -112
- package/deps/liburing/liburing/test/fadvise.c +0 -202
- package/deps/liburing/liburing/test/fallocate.c +0 -249
- package/deps/liburing/liburing/test/fc2a85cb02ef-test.c +0 -138
- package/deps/liburing/liburing/test/file-register.c +0 -843
- package/deps/liburing/liburing/test/file-update.c +0 -173
- package/deps/liburing/liburing/test/files-exit-hang-poll.c +0 -128
- package/deps/liburing/liburing/test/files-exit-hang-timeout.c +0 -134
- package/deps/liburing/liburing/test/fixed-link.c +0 -90
- package/deps/liburing/liburing/test/fsync.c +0 -224
- package/deps/liburing/liburing/test/hardlink.c +0 -136
- package/deps/liburing/liburing/test/helpers.c +0 -135
- package/deps/liburing/liburing/test/helpers.h +0 -67
- package/deps/liburing/liburing/test/io-cancel.c +0 -537
- package/deps/liburing/liburing/test/io_uring_enter.c +0 -296
- package/deps/liburing/liburing/test/io_uring_register.c +0 -664
- package/deps/liburing/liburing/test/io_uring_setup.c +0 -192
- package/deps/liburing/liburing/test/iopoll.c +0 -366
- package/deps/liburing/liburing/test/lfs-openat-write.c +0 -117
- package/deps/liburing/liburing/test/lfs-openat.c +0 -273
- package/deps/liburing/liburing/test/link-timeout.c +0 -1107
- package/deps/liburing/liburing/test/link.c +0 -496
- package/deps/liburing/liburing/test/link_drain.c +0 -229
- package/deps/liburing/liburing/test/madvise.c +0 -195
- package/deps/liburing/liburing/test/mkdir.c +0 -108
- package/deps/liburing/liburing/test/multicqes_drain.c +0 -383
- package/deps/liburing/liburing/test/nop-all-sizes.c +0 -107
- package/deps/liburing/liburing/test/nop.c +0 -115
- package/deps/liburing/liburing/test/open-close.c +0 -146
- package/deps/liburing/liburing/test/openat2.c +0 -240
- package/deps/liburing/liburing/test/personality.c +0 -204
- package/deps/liburing/liburing/test/pipe-eof.c +0 -81
- package/deps/liburing/liburing/test/pipe-reuse.c +0 -105
- package/deps/liburing/liburing/test/poll-cancel-ton.c +0 -139
- package/deps/liburing/liburing/test/poll-cancel.c +0 -135
- package/deps/liburing/liburing/test/poll-link.c +0 -227
- package/deps/liburing/liburing/test/poll-many.c +0 -208
- package/deps/liburing/liburing/test/poll-mshot-update.c +0 -273
- package/deps/liburing/liburing/test/poll-ring.c +0 -48
- package/deps/liburing/liburing/test/poll-v-poll.c +0 -353
- package/deps/liburing/liburing/test/poll.c +0 -109
- package/deps/liburing/liburing/test/probe.c +0 -137
- package/deps/liburing/liburing/test/read-write.c +0 -876
- package/deps/liburing/liburing/test/register-restrictions.c +0 -633
- package/deps/liburing/liburing/test/rename.c +0 -134
- package/deps/liburing/liburing/test/ring-leak.c +0 -173
- package/deps/liburing/liburing/test/ring-leak2.c +0 -249
- package/deps/liburing/liburing/test/rsrc_tags.c +0 -449
- package/deps/liburing/liburing/test/runtests-loop.sh +0 -16
- package/deps/liburing/liburing/test/runtests.sh +0 -170
- package/deps/liburing/liburing/test/rw_merge_test.c +0 -97
- package/deps/liburing/liburing/test/self.c +0 -91
- package/deps/liburing/liburing/test/send_recv.c +0 -291
- package/deps/liburing/liburing/test/send_recvmsg.c +0 -345
- package/deps/liburing/liburing/test/sendmsg_fs_cve.c +0 -198
- package/deps/liburing/liburing/test/shared-wq.c +0 -84
- package/deps/liburing/liburing/test/short-read.c +0 -75
- package/deps/liburing/liburing/test/shutdown.c +0 -163
- package/deps/liburing/liburing/test/sigfd-deadlock.c +0 -74
- package/deps/liburing/liburing/test/socket-rw-eagain.c +0 -156
- package/deps/liburing/liburing/test/socket-rw.c +0 -147
- package/deps/liburing/liburing/test/splice.c +0 -511
- package/deps/liburing/liburing/test/sq-full-cpp.cc +0 -45
- package/deps/liburing/liburing/test/sq-full.c +0 -45
- package/deps/liburing/liburing/test/sq-poll-dup.c +0 -200
- package/deps/liburing/liburing/test/sq-poll-kthread.c +0 -168
- package/deps/liburing/liburing/test/sq-poll-share.c +0 -137
- package/deps/liburing/liburing/test/sq-space_left.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-cancel-hang.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-disable-exit.c +0 -195
- package/deps/liburing/liburing/test/sqpoll-exit-hang.c +0 -77
- package/deps/liburing/liburing/test/sqpoll-sleep.c +0 -68
- package/deps/liburing/liburing/test/statx.c +0 -172
- package/deps/liburing/liburing/test/stdout.c +0 -232
- package/deps/liburing/liburing/test/submit-link-fail.c +0 -154
- package/deps/liburing/liburing/test/submit-reuse.c +0 -239
- package/deps/liburing/liburing/test/symlink.c +0 -116
- package/deps/liburing/liburing/test/teardowns.c +0 -58
- package/deps/liburing/liburing/test/thread-exit.c +0 -131
- package/deps/liburing/liburing/test/timeout-new.c +0 -246
- package/deps/liburing/liburing/test/timeout-overflow.c +0 -204
- package/deps/liburing/liburing/test/timeout.c +0 -1354
- package/deps/liburing/liburing/test/unlink.c +0 -111
- package/deps/liburing/liburing/test/wakeup-hang.c +0 -162
- package/deps/rocksdb/rocksdb/README.md +0 -32
- package/deps/rocksdb/rocksdb/microbench/README.md +0 -60
- package/deps/rocksdb/rocksdb/plugin/README.md +0 -43
- package/deps/rocksdb/rocksdb/port/README +0 -10
- package/deps/rocksdb/rocksdb/python.mk +0 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +0 -13
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
#include "table/scoped_arena_iterator.h"
|
|
16
16
|
#include "table/sst_file_writer_collectors.h"
|
|
17
17
|
#include "table/table_builder.h"
|
|
18
|
+
#include "table/unique_id_impl.h"
|
|
18
19
|
#include "util/stop_watch.h"
|
|
19
20
|
|
|
20
21
|
namespace ROCKSDB_NAMESPACE {
|
|
@@ -97,6 +98,9 @@ Status ImportColumnFamilyJob::Prepare(uint64_t next_file_number,
|
|
|
97
98
|
if (status.IsNotSupported()) {
|
|
98
99
|
// Original file is on a different FS, use copy instead of hard linking
|
|
99
100
|
hardlink_files = false;
|
|
101
|
+
ROCKS_LOG_INFO(db_options_.info_log,
|
|
102
|
+
"Try to link file %s but it's not supported : %s",
|
|
103
|
+
f.internal_file_path.c_str(), status.ToString().c_str());
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
if (!hardlink_files) {
|
|
@@ -156,7 +160,7 @@ Status ImportColumnFamilyJob::Run() {
|
|
|
156
160
|
file_metadata.largest_seqno, false, file_metadata.temperature,
|
|
157
161
|
kInvalidBlobFileNumber, oldest_ancester_time, current_time,
|
|
158
162
|
kUnknownFileChecksum, kUnknownFileChecksumFuncName,
|
|
159
|
-
kDisableUserTimestamp, kDisableUserTimestamp);
|
|
163
|
+
kDisableUserTimestamp, kDisableUserTimestamp, f.unique_id);
|
|
160
164
|
|
|
161
165
|
// If incoming sequence number is higher, update local sequence number.
|
|
162
166
|
if (file_metadata.largest_seqno > versions_->LastSequence()) {
|
|
@@ -285,6 +289,15 @@ Status ImportColumnFamilyJob::GetIngestedFileInfo(
|
|
|
285
289
|
|
|
286
290
|
file_to_import->table_properties = *props;
|
|
287
291
|
|
|
292
|
+
auto s = GetSstInternalUniqueId(props->db_id, props->db_session_id,
|
|
293
|
+
props->orig_file_number,
|
|
294
|
+
&(file_to_import->unique_id));
|
|
295
|
+
if (!s.ok()) {
|
|
296
|
+
ROCKS_LOG_WARN(db_options_.info_log,
|
|
297
|
+
"Failed to get SST unique id for file %s",
|
|
298
|
+
file_to_import->internal_file_path.c_str());
|
|
299
|
+
}
|
|
300
|
+
|
|
288
301
|
return status;
|
|
289
302
|
}
|
|
290
303
|
|
|
@@ -130,6 +130,12 @@ TEST_F(ImportColumnFamilyTest, ImportSSTFileWriterFiles) {
|
|
|
130
130
|
ASSERT_OK(db_->Get(ReadOptions(), import_cfh_, "K4", &value));
|
|
131
131
|
ASSERT_EQ(value, "V2");
|
|
132
132
|
}
|
|
133
|
+
EXPECT_OK(db_->DestroyColumnFamilyHandle(import_cfh_));
|
|
134
|
+
import_cfh_ = nullptr;
|
|
135
|
+
|
|
136
|
+
// verify sst unique id during reopen
|
|
137
|
+
options.verify_sst_unique_id_in_manifest = true;
|
|
138
|
+
ReopenWithColumnFamilies({"default", "koko", "yoyo"}, options);
|
|
133
139
|
}
|
|
134
140
|
|
|
135
141
|
TEST_F(ImportColumnFamilyTest, ImportSSTFileWriterFilesWithOverlap) {
|
|
@@ -704,20 +704,19 @@ void InternalStats::CacheEntryRoleStats::ToMap(
|
|
|
704
704
|
auto& v = *values;
|
|
705
705
|
v[BlockCacheEntryStatsMapKeys::CacheId()] = cache_id;
|
|
706
706
|
v[BlockCacheEntryStatsMapKeys::CacheCapacityBytes()] =
|
|
707
|
-
|
|
707
|
+
std::to_string(cache_capacity);
|
|
708
708
|
v[BlockCacheEntryStatsMapKeys::LastCollectionDurationSeconds()] =
|
|
709
|
-
|
|
709
|
+
std::to_string(GetLastDurationMicros() / 1000000.0);
|
|
710
710
|
v[BlockCacheEntryStatsMapKeys::LastCollectionAgeSeconds()] =
|
|
711
|
-
|
|
712
|
-
1000000U);
|
|
711
|
+
std::to_string((clock->NowMicros() - last_end_time_micros_) / 1000000U);
|
|
713
712
|
for (size_t i = 0; i < kNumCacheEntryRoles; ++i) {
|
|
714
713
|
auto role = static_cast<CacheEntryRole>(i);
|
|
715
714
|
v[BlockCacheEntryStatsMapKeys::EntryCount(role)] =
|
|
716
|
-
|
|
715
|
+
std::to_string(entry_counts[i]);
|
|
717
716
|
v[BlockCacheEntryStatsMapKeys::UsedBytes(role)] =
|
|
718
|
-
|
|
717
|
+
std::to_string(total_charges[i]);
|
|
719
718
|
v[BlockCacheEntryStatsMapKeys::UsedPercent(role)] =
|
|
720
|
-
|
|
719
|
+
std::to_string(100.0 * total_charges[i] / cache_capacity);
|
|
721
720
|
}
|
|
722
721
|
}
|
|
723
722
|
|
|
@@ -763,7 +762,7 @@ bool InternalStats::HandleLiveSstFilesSizeAtTemperature(std::string* value,
|
|
|
763
762
|
}
|
|
764
763
|
}
|
|
765
764
|
|
|
766
|
-
*value =
|
|
765
|
+
*value = std::to_string(size);
|
|
767
766
|
return true;
|
|
768
767
|
}
|
|
769
768
|
|
|
@@ -919,7 +918,7 @@ bool InternalStats::HandleCompressionRatioAtLevelPrefix(std::string* value,
|
|
|
919
918
|
if (!ok || level >= static_cast<uint64_t>(number_levels_)) {
|
|
920
919
|
return false;
|
|
921
920
|
}
|
|
922
|
-
*value =
|
|
921
|
+
*value = std::to_string(
|
|
923
922
|
vstorage->GetEstimatedCompressionRatioAtLevel(static_cast<int>(level)));
|
|
924
923
|
return true;
|
|
925
924
|
}
|
|
@@ -1006,7 +1005,7 @@ static std::map<std::string, std::string> MapUint64ValuesToString(
|
|
|
1006
1005
|
const std::map<std::string, uint64_t>& from) {
|
|
1007
1006
|
std::map<std::string, std::string> to;
|
|
1008
1007
|
for (const auto& e : from) {
|
|
1009
|
-
to[e.first] =
|
|
1008
|
+
to[e.first] = std::to_string(e.second);
|
|
1010
1009
|
}
|
|
1011
1010
|
return to;
|
|
1012
1011
|
}
|
|
@@ -1500,7 +1499,7 @@ void InternalStats::DumpCFMapStats(
|
|
|
1500
1499
|
DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
|
|
1501
1500
|
for (auto const& level_ent : levels_stats) {
|
|
1502
1501
|
auto level_str =
|
|
1503
|
-
level_ent.first == -1 ? "Sum" : "L" +
|
|
1502
|
+
level_ent.first == -1 ? "Sum" : "L" + std::to_string(level_ent.first);
|
|
1504
1503
|
for (auto const& stat_ent : level_ent.second) {
|
|
1505
1504
|
auto stat_type = stat_ent.first;
|
|
1506
1505
|
auto key_str =
|
|
@@ -1651,7 +1650,8 @@ void InternalStats::DumpCFStatsNoFileHistogram(std::string* value) {
|
|
|
1651
1650
|
DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
|
|
1652
1651
|
for (int l = 0; l < number_levels_; ++l) {
|
|
1653
1652
|
if (levels_stats.find(l) != levels_stats.end()) {
|
|
1654
|
-
PrintLevelStats(buf, sizeof(buf), "L" +
|
|
1653
|
+
PrintLevelStats(buf, sizeof(buf), "L" + std::to_string(l),
|
|
1654
|
+
levels_stats[l]);
|
|
1655
1655
|
value->append(buf);
|
|
1656
1656
|
}
|
|
1657
1657
|
}
|
|
@@ -436,10 +436,10 @@ TEST_F(EventListenerTest, MultiDBMultiListeners) {
|
|
|
436
436
|
std::vector<std::vector<ColumnFamilyHandle *>> vec_handles;
|
|
437
437
|
|
|
438
438
|
for (int d = 0; d < kNumDBs; ++d) {
|
|
439
|
-
ASSERT_OK(DestroyDB(dbname_ +
|
|
439
|
+
ASSERT_OK(DestroyDB(dbname_ + std::to_string(d), options));
|
|
440
440
|
DB* db;
|
|
441
441
|
std::vector<ColumnFamilyHandle*> handles;
|
|
442
|
-
ASSERT_OK(DB::Open(options, dbname_ +
|
|
442
|
+
ASSERT_OK(DB::Open(options, dbname_ + std::to_string(d), &db));
|
|
443
443
|
for (size_t c = 0; c < cf_names.size(); ++c) {
|
|
444
444
|
ColumnFamilyHandle* handle;
|
|
445
445
|
ASSERT_OK(db->CreateColumnFamily(cf_opts, cf_names[c], &handle));
|
|
@@ -527,7 +527,8 @@ TEST_F(EventListenerTest, DisableBGCompaction) {
|
|
|
527
527
|
// keep writing until writes are forced to stop.
|
|
528
528
|
for (int i = 0; static_cast<int>(cf_meta.file_count) < kSlowdownTrigger * 10;
|
|
529
529
|
++i) {
|
|
530
|
-
ASSERT_OK(
|
|
530
|
+
ASSERT_OK(
|
|
531
|
+
Put(1, std::to_string(i), std::string(10000, 'x'), WriteOptions()));
|
|
531
532
|
FlushOptions fo;
|
|
532
533
|
fo.allow_write_stall = true;
|
|
533
534
|
ASSERT_OK(db_->Flush(fo, handles_[1]));
|
|
@@ -140,8 +140,8 @@ size_t MemTable::ApproximateMemoryUsage() {
|
|
|
140
140
|
for (size_t usage : usages) {
|
|
141
141
|
// If usage + total_usage >= kMaxSizet, return kMaxSizet.
|
|
142
142
|
// the following variation is to avoid numeric overflow.
|
|
143
|
-
if (usage >=
|
|
144
|
-
return
|
|
143
|
+
if (usage >= std::numeric_limits<size_t>::max() - total_usage) {
|
|
144
|
+
return std::numeric_limits<size_t>::max();
|
|
145
145
|
}
|
|
146
146
|
total_usage += usage;
|
|
147
147
|
}
|
|
@@ -315,7 +315,7 @@ class MemTableList {
|
|
|
315
315
|
// PickMemtablesToFlush() is called.
|
|
316
316
|
void FlushRequested() {
|
|
317
317
|
flush_requested_ = true;
|
|
318
|
-
// If there are some memtables stored in imm() that
|
|
318
|
+
// If there are some memtables stored in imm() that don't trigger
|
|
319
319
|
// flush (eg: mempurge output memtable), then update imm_flush_needed.
|
|
320
320
|
// Note: if race condition and imm_flush_needed is set to true
|
|
321
321
|
// when there is num_flush_not_started_==0, then there is no
|
|
@@ -209,7 +209,8 @@ TEST_F(MemTableListTest, Empty) {
|
|
|
209
209
|
ASSERT_FALSE(list.IsFlushPending());
|
|
210
210
|
|
|
211
211
|
autovector<MemTable*> mems;
|
|
212
|
-
list.PickMemtablesToFlush(
|
|
212
|
+
list.PickMemtablesToFlush(
|
|
213
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &mems);
|
|
213
214
|
ASSERT_EQ(0, mems.size());
|
|
214
215
|
|
|
215
216
|
autovector<MemTable*> to_delete;
|
|
@@ -418,7 +419,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
|
|
|
418
419
|
// Flush this memtable from the list.
|
|
419
420
|
// (It will then be a part of the memtable history).
|
|
420
421
|
autovector<MemTable*> to_flush;
|
|
421
|
-
list.PickMemtablesToFlush(
|
|
422
|
+
list.PickMemtablesToFlush(
|
|
423
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
422
424
|
ASSERT_EQ(1, to_flush.size());
|
|
423
425
|
|
|
424
426
|
MutableCFOptions mutable_cf_options(options);
|
|
@@ -472,7 +474,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
|
|
|
472
474
|
ASSERT_EQ(0, to_delete.size());
|
|
473
475
|
|
|
474
476
|
to_flush.clear();
|
|
475
|
-
list.PickMemtablesToFlush(
|
|
477
|
+
list.PickMemtablesToFlush(
|
|
478
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
476
479
|
ASSERT_EQ(1, to_flush.size());
|
|
477
480
|
|
|
478
481
|
// Flush second memtable
|
|
@@ -575,15 +578,15 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
575
578
|
std::string value;
|
|
576
579
|
MergeContext merge_context;
|
|
577
580
|
|
|
578
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "key1",
|
|
581
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
|
|
579
582
|
nullptr /* kv_prot_info */));
|
|
580
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" +
|
|
583
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i), "valueN",
|
|
581
584
|
nullptr /* kv_prot_info */));
|
|
582
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" +
|
|
585
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
|
|
583
586
|
nullptr /* kv_prot_info */));
|
|
584
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" +
|
|
587
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i), "valueM",
|
|
585
588
|
nullptr /* kv_prot_info */));
|
|
586
|
-
ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" +
|
|
589
|
+
ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
|
|
587
590
|
nullptr /* kv_prot_info */));
|
|
588
591
|
|
|
589
592
|
tables.push_back(mem);
|
|
@@ -593,7 +596,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
593
596
|
ASSERT_FALSE(list.IsFlushPending());
|
|
594
597
|
ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
|
|
595
598
|
autovector<MemTable*> to_flush;
|
|
596
|
-
list.PickMemtablesToFlush(
|
|
599
|
+
list.PickMemtablesToFlush(
|
|
600
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
597
601
|
ASSERT_EQ(0, to_flush.size());
|
|
598
602
|
|
|
599
603
|
// Request a flush even though there is nothing to flush
|
|
@@ -602,7 +606,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
602
606
|
ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
|
|
603
607
|
|
|
604
608
|
// Attempt to 'flush' to clear request for flush
|
|
605
|
-
list.PickMemtablesToFlush(
|
|
609
|
+
list.PickMemtablesToFlush(
|
|
610
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
606
611
|
ASSERT_EQ(0, to_flush.size());
|
|
607
612
|
ASSERT_FALSE(list.IsFlushPending());
|
|
608
613
|
ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
|
|
@@ -626,7 +631,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
626
631
|
ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
|
|
627
632
|
|
|
628
633
|
// Pick tables to flush
|
|
629
|
-
list.PickMemtablesToFlush(
|
|
634
|
+
list.PickMemtablesToFlush(
|
|
635
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
630
636
|
ASSERT_EQ(2, to_flush.size());
|
|
631
637
|
ASSERT_EQ(2, list.NumNotFlushed());
|
|
632
638
|
ASSERT_FALSE(list.IsFlushPending());
|
|
@@ -647,7 +653,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
647
653
|
ASSERT_EQ(0, to_delete.size());
|
|
648
654
|
|
|
649
655
|
// Pick tables to flush
|
|
650
|
-
list.PickMemtablesToFlush(
|
|
656
|
+
list.PickMemtablesToFlush(
|
|
657
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
651
658
|
ASSERT_EQ(3, to_flush.size());
|
|
652
659
|
ASSERT_EQ(3, list.NumNotFlushed());
|
|
653
660
|
ASSERT_FALSE(list.IsFlushPending());
|
|
@@ -655,7 +662,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
655
662
|
|
|
656
663
|
// Pick tables to flush again
|
|
657
664
|
autovector<MemTable*> to_flush2;
|
|
658
|
-
list.PickMemtablesToFlush(
|
|
665
|
+
list.PickMemtablesToFlush(
|
|
666
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
|
|
659
667
|
ASSERT_EQ(0, to_flush2.size());
|
|
660
668
|
ASSERT_EQ(3, list.NumNotFlushed());
|
|
661
669
|
ASSERT_FALSE(list.IsFlushPending());
|
|
@@ -673,7 +681,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
673
681
|
ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
|
|
674
682
|
|
|
675
683
|
// Pick tables to flush again
|
|
676
|
-
list.PickMemtablesToFlush(
|
|
684
|
+
list.PickMemtablesToFlush(
|
|
685
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
|
|
677
686
|
ASSERT_EQ(1, to_flush2.size());
|
|
678
687
|
ASSERT_EQ(4, list.NumNotFlushed());
|
|
679
688
|
ASSERT_FALSE(list.IsFlushPending());
|
|
@@ -694,7 +703,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
694
703
|
ASSERT_EQ(0, to_delete.size());
|
|
695
704
|
|
|
696
705
|
// Pick tables to flush
|
|
697
|
-
list.PickMemtablesToFlush(
|
|
706
|
+
list.PickMemtablesToFlush(
|
|
707
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
|
|
698
708
|
// Should pick 4 of 5 since 1 table has been picked in to_flush2
|
|
699
709
|
ASSERT_EQ(4, to_flush.size());
|
|
700
710
|
ASSERT_EQ(5, list.NumNotFlushed());
|
|
@@ -703,7 +713,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
|
|
|
703
713
|
|
|
704
714
|
// Pick tables to flush again
|
|
705
715
|
autovector<MemTable*> to_flush3;
|
|
706
|
-
list.PickMemtablesToFlush(
|
|
716
|
+
list.PickMemtablesToFlush(
|
|
717
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush3);
|
|
707
718
|
ASSERT_EQ(0, to_flush3.size()); // nothing not in progress of being flushed
|
|
708
719
|
ASSERT_EQ(5, list.NumNotFlushed());
|
|
709
720
|
ASSERT_FALSE(list.IsFlushPending());
|
|
@@ -849,15 +860,15 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
|
|
|
849
860
|
|
|
850
861
|
std::string value;
|
|
851
862
|
|
|
852
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "key1",
|
|
863
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
|
|
853
864
|
nullptr /* kv_prot_info */));
|
|
854
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" +
|
|
865
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i),
|
|
866
|
+
"valueN", nullptr /* kv_prot_info */));
|
|
867
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
|
|
855
868
|
nullptr /* kv_prot_info */));
|
|
856
|
-
ASSERT_OK(mem->Add(++seq, kTypeValue, "
|
|
857
|
-
nullptr /* kv_prot_info */));
|
|
858
|
-
ASSERT_OK(mem->Add(++seq,
|
|
859
|
-
nullptr /* kv_prot_info */));
|
|
860
|
-
ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + ToString(i), "",
|
|
869
|
+
ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i),
|
|
870
|
+
"valueM", nullptr /* kv_prot_info */));
|
|
871
|
+
ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
|
|
861
872
|
nullptr /* kv_prot_info */));
|
|
862
873
|
|
|
863
874
|
elem.push_back(mem);
|
|
@@ -872,8 +883,9 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
|
|
|
872
883
|
auto* list = lists[i];
|
|
873
884
|
ASSERT_FALSE(list->IsFlushPending());
|
|
874
885
|
ASSERT_FALSE(list->imm_flush_needed.load(std::memory_order_acquire));
|
|
875
|
-
list->PickMemtablesToFlush(
|
|
876
|
-
|
|
886
|
+
list->PickMemtablesToFlush(
|
|
887
|
+
std::numeric_limits<uint64_t>::max() /* memtable_id */,
|
|
888
|
+
&flush_candidates[i]);
|
|
877
889
|
ASSERT_EQ(0, flush_candidates[i].size());
|
|
878
890
|
}
|
|
879
891
|
// Request flush even though there is nothing to flush
|
|
@@ -41,7 +41,7 @@ class ObsoleteFilesTest : public DBTestBase {
|
|
|
41
41
|
WriteOptions options;
|
|
42
42
|
options.sync = false;
|
|
43
43
|
for (int i = startkey; i < (numkeys + startkey) ; i++) {
|
|
44
|
-
std::string temp =
|
|
44
|
+
std::string temp = std::to_string(i);
|
|
45
45
|
Slice key(temp);
|
|
46
46
|
Slice value(temp);
|
|
47
47
|
ASSERT_OK(db_->Put(options, key, value));
|
|
@@ -75,21 +75,21 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
|
|
|
75
75
|
ReadOptions read_options;
|
|
76
76
|
|
|
77
77
|
for (int i = 0; i < FLAGS_total_keys; ++i) {
|
|
78
|
-
std::string key = "k" +
|
|
79
|
-
std::string value = "v" +
|
|
78
|
+
std::string key = "k" + std::to_string(i);
|
|
79
|
+
std::string value = "v" + std::to_string(i);
|
|
80
80
|
|
|
81
81
|
ASSERT_OK(db->Put(write_options, key, value));
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
for (int i = 0; i < FLAGS_total_keys -1 ; ++i) {
|
|
85
|
-
std::string key = "k" +
|
|
85
|
+
std::string key = "k" + std::to_string(i);
|
|
86
86
|
ASSERT_OK(db->Delete(write_options, key));
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
HistogramImpl hist_get;
|
|
90
90
|
HistogramImpl hist_get_time;
|
|
91
91
|
for (int i = 0; i < FLAGS_total_keys - 1; ++i) {
|
|
92
|
-
std::string key = "k" +
|
|
92
|
+
std::string key = "k" + std::to_string(i);
|
|
93
93
|
std::string value;
|
|
94
94
|
|
|
95
95
|
get_perf_context()->Reset();
|
|
@@ -130,7 +130,7 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
|
|
|
130
130
|
HistogramImpl hist_seek;
|
|
131
131
|
for (int i = 0; i < FLAGS_total_keys; ++i) {
|
|
132
132
|
std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
|
|
133
|
-
std::string key = "k" +
|
|
133
|
+
std::string key = "k" + std::to_string(i);
|
|
134
134
|
|
|
135
135
|
get_perf_context()->Reset();
|
|
136
136
|
StopWatchNano timer(SystemClock::Default().get(), true);
|
|
@@ -265,8 +265,8 @@ void ProfileQueries(bool enabled_time = false) {
|
|
|
265
265
|
continue;
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
std::string key = "k" +
|
|
269
|
-
std::string value = "v" +
|
|
268
|
+
std::string key = "k" + std::to_string(i);
|
|
269
|
+
std::string value = "v" + std::to_string(i);
|
|
270
270
|
|
|
271
271
|
std::vector<std::string> values;
|
|
272
272
|
|
|
@@ -297,8 +297,8 @@ void ProfileQueries(bool enabled_time = false) {
|
|
|
297
297
|
if (i == kFlushFlag) {
|
|
298
298
|
continue;
|
|
299
299
|
}
|
|
300
|
-
std::string key = "k" +
|
|
301
|
-
std::string expected_value = "v" +
|
|
300
|
+
std::string key = "k" + std::to_string(i);
|
|
301
|
+
std::string expected_value = "v" + std::to_string(i);
|
|
302
302
|
std::string value;
|
|
303
303
|
|
|
304
304
|
std::vector<Slice> multiget_keys = {Slice(key)};
|
|
@@ -415,8 +415,8 @@ void ProfileQueries(bool enabled_time = false) {
|
|
|
415
415
|
if (i == kFlushFlag) {
|
|
416
416
|
continue;
|
|
417
417
|
}
|
|
418
|
-
std::string key = "k" +
|
|
419
|
-
std::string expected_value = "v" +
|
|
418
|
+
std::string key = "k" + std::to_string(i);
|
|
419
|
+
std::string expected_value = "v" + std::to_string(i);
|
|
420
420
|
std::string value;
|
|
421
421
|
|
|
422
422
|
std::vector<Slice> multiget_keys = {Slice(key)};
|
|
@@ -543,8 +543,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
|
|
|
543
543
|
SetPerfLevel(kEnableTime);
|
|
544
544
|
StopWatchNano timer(SystemClock::Default().get());
|
|
545
545
|
for (const int i : keys) {
|
|
546
|
-
std::string key = "k" +
|
|
547
|
-
std::string value = "v" +
|
|
546
|
+
std::string key = "k" + std::to_string(i);
|
|
547
|
+
std::string value = "v" + std::to_string(i);
|
|
548
548
|
|
|
549
549
|
get_perf_context()->Reset();
|
|
550
550
|
timer.Start();
|
|
@@ -565,8 +565,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
|
|
|
565
565
|
HistogramImpl hist_next;
|
|
566
566
|
|
|
567
567
|
for (int i = 0; i < FLAGS_total_keys; ++i) {
|
|
568
|
-
std::string key = "k" +
|
|
569
|
-
std::string value = "v" +
|
|
568
|
+
std::string key = "k" + std::to_string(i);
|
|
569
|
+
std::string value = "v" + std::to_string(i);
|
|
570
570
|
|
|
571
571
|
std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
|
|
572
572
|
get_perf_context()->Reset();
|
|
@@ -841,7 +841,7 @@ TEST_F(PerfContextTest, CPUTimer) {
|
|
|
841
841
|
|
|
842
842
|
std::string max_str = "0";
|
|
843
843
|
for (int i = 0; i < FLAGS_total_keys; ++i) {
|
|
844
|
-
std::string i_str =
|
|
844
|
+
std::string i_str = std::to_string(i);
|
|
845
845
|
std::string key = "k" + i_str;
|
|
846
846
|
std::string value = "v" + i_str;
|
|
847
847
|
max_str = max_str > i_str ? max_str : i_str;
|
|
@@ -935,9 +935,9 @@ TEST_F(PerfContextTest, CPUTimer) {
|
|
|
935
935
|
get_perf_context()->Reset();
|
|
936
936
|
auto count = get_perf_context()->iter_seek_cpu_nanos;
|
|
937
937
|
for (int i = 0; i < FLAGS_total_keys; ++i) {
|
|
938
|
-
iter->Seek("k" +
|
|
938
|
+
iter->Seek("k" + std::to_string(i));
|
|
939
939
|
ASSERT_TRUE(iter->Valid());
|
|
940
|
-
ASSERT_EQ("v" +
|
|
940
|
+
ASSERT_EQ("v" + std::to_string(i), iter->value().ToString());
|
|
941
941
|
auto next_count = get_perf_context()->iter_seek_cpu_nanos;
|
|
942
942
|
ASSERT_GT(next_count, count);
|
|
943
943
|
count = next_count;
|
|
@@ -220,8 +220,8 @@ class PlainTableDBTest : public testing::Test,
|
|
|
220
220
|
|
|
221
221
|
int NumTableFilesAtLevel(int level) {
|
|
222
222
|
std::string property;
|
|
223
|
-
EXPECT_TRUE(db_->GetProperty(
|
|
224
|
-
|
|
223
|
+
EXPECT_TRUE(db_->GetProperty(
|
|
224
|
+
"rocksdb.num-files-at-level" + std::to_string(level), &property));
|
|
225
225
|
return atoi(property.c_str());
|
|
226
226
|
}
|
|
227
227
|
|
|
@@ -889,7 +889,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeys) {
|
|
|
889
889
|
};
|
|
890
890
|
|
|
891
891
|
for (size_t i = 0; i < 7; i++) {
|
|
892
|
-
ASSERT_OK(Put(key_list[i],
|
|
892
|
+
ASSERT_OK(Put(key_list[i], std::to_string(i)));
|
|
893
893
|
}
|
|
894
894
|
|
|
895
895
|
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
@@ -900,7 +900,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeys) {
|
|
|
900
900
|
for (size_t i = 0; i < 7; i++) {
|
|
901
901
|
ASSERT_TRUE(iter->Valid());
|
|
902
902
|
ASSERT_EQ(key_list[i], iter->key().ToString());
|
|
903
|
-
ASSERT_EQ(
|
|
903
|
+
ASSERT_EQ(std::to_string(i), iter->value().ToString());
|
|
904
904
|
iter->Next();
|
|
905
905
|
}
|
|
906
906
|
|
|
@@ -937,7 +937,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeysWithPrefix) {
|
|
|
937
937
|
MakeLongKeyWithPrefix(26, '6')};
|
|
938
938
|
|
|
939
939
|
for (size_t i = 0; i < 7; i++) {
|
|
940
|
-
ASSERT_OK(Put(key_list[i],
|
|
940
|
+
ASSERT_OK(Put(key_list[i], std::to_string(i)));
|
|
941
941
|
}
|
|
942
942
|
|
|
943
943
|
ASSERT_OK(dbfull()->TEST_FlushMemTable());
|
|
@@ -948,7 +948,7 @@ TEST_P(PlainTableDBTest, IteratorLargeKeysWithPrefix) {
|
|
|
948
948
|
for (size_t i = 0; i < 7; i++) {
|
|
949
949
|
ASSERT_TRUE(iter->Valid());
|
|
950
950
|
ASSERT_EQ(key_list[i], iter->key().ToString());
|
|
951
|
-
ASSERT_EQ(
|
|
951
|
+
ASSERT_EQ(std::to_string(i), iter->value().ToString());
|
|
952
952
|
iter->Next();
|
|
953
953
|
}
|
|
954
954
|
|
|
@@ -628,7 +628,7 @@ TEST_F(PrefixTest, DynamicPrefixIterator) {
|
|
|
628
628
|
TestKey test_key(prefix, FLAGS_items_per_prefix / 2);
|
|
629
629
|
std::string s;
|
|
630
630
|
Slice key = TestKeyToSlice(s, test_key);
|
|
631
|
-
std::string value = "v" +
|
|
631
|
+
std::string value = "v" + std::to_string(0);
|
|
632
632
|
|
|
633
633
|
get_perf_context()->Reset();
|
|
634
634
|
StopWatchNano timer(SystemClock::Default().get(), true);
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
#include "rocksdb/options.h"
|
|
83
83
|
#include "rocksdb/write_buffer_manager.h"
|
|
84
84
|
#include "table/scoped_arena_iterator.h"
|
|
85
|
+
#include "table/unique_id_impl.h"
|
|
85
86
|
#include "util/string_util.h"
|
|
86
87
|
|
|
87
88
|
namespace ROCKSDB_NAMESPACE {
|
|
@@ -147,7 +148,7 @@ class Repairer {
|
|
|
147
148
|
const auto* cf_opts = GetColumnFamilyOptions(cf_name);
|
|
148
149
|
if (cf_opts == nullptr) {
|
|
149
150
|
return Status::Corruption("Encountered unknown column family with name=" +
|
|
150
|
-
cf_name + ", id=" +
|
|
151
|
+
cf_name + ", id=" + std::to_string(cf_id));
|
|
151
152
|
}
|
|
152
153
|
Options opts(db_options_, *cf_opts);
|
|
153
154
|
MutableCFOptions mut_cf_opts(opts);
|
|
@@ -505,6 +506,15 @@ class Repairer {
|
|
|
505
506
|
t->meta.fd, &props);
|
|
506
507
|
}
|
|
507
508
|
if (status.ok()) {
|
|
509
|
+
auto s =
|
|
510
|
+
GetSstInternalUniqueId(props->db_id, props->db_session_id,
|
|
511
|
+
props->orig_file_number, &t->meta.unique_id);
|
|
512
|
+
if (!s.ok()) {
|
|
513
|
+
ROCKS_LOG_WARN(db_options_.info_log,
|
|
514
|
+
"Table #%" PRIu64
|
|
515
|
+
": unable to get unique id, default to Unknown.",
|
|
516
|
+
t->meta.fd.GetNumber());
|
|
517
|
+
}
|
|
508
518
|
t->column_family_id = static_cast<uint32_t>(props->column_family_id);
|
|
509
519
|
if (t->column_family_id ==
|
|
510
520
|
TablePropertiesCollectorFactory::Context::kUnknownColumnFamily) {
|
|
@@ -639,7 +649,8 @@ class Repairer {
|
|
|
639
649
|
table->meta.temperature, table->meta.oldest_blob_file_number,
|
|
640
650
|
table->meta.oldest_ancester_time, table->meta.file_creation_time,
|
|
641
651
|
table->meta.file_checksum, table->meta.file_checksum_func_name,
|
|
642
|
-
table->meta.min_timestamp, table->meta.max_timestamp
|
|
652
|
+
table->meta.min_timestamp, table->meta.max_timestamp,
|
|
653
|
+
table->meta.unique_id);
|
|
643
654
|
}
|
|
644
655
|
assert(next_file_number_ > 0);
|
|
645
656
|
vset_.MarkFileNumberUsed(next_file_number_ - 1);
|