@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
|
@@ -33,20 +33,38 @@ DBImplReadOnly::~DBImplReadOnly() {}
|
|
|
33
33
|
Status DBImplReadOnly::Get(const ReadOptions& read_options,
|
|
34
34
|
ColumnFamilyHandle* column_family, const Slice& key,
|
|
35
35
|
PinnableSlice* pinnable_val) {
|
|
36
|
+
return Get(read_options, column_family, key, pinnable_val,
|
|
37
|
+
/*timestamp*/ nullptr);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
Status DBImplReadOnly::Get(const ReadOptions& read_options,
|
|
41
|
+
ColumnFamilyHandle* column_family, const Slice& key,
|
|
42
|
+
PinnableSlice* pinnable_val,
|
|
43
|
+
std::string* timestamp) {
|
|
36
44
|
assert(pinnable_val != nullptr);
|
|
37
45
|
// TODO: stopwatch DB_GET needed?, perf timer needed?
|
|
38
46
|
PERF_TIMER_GUARD(get_snapshot_time);
|
|
39
47
|
|
|
40
48
|
assert(column_family);
|
|
49
|
+
if (read_options.timestamp) {
|
|
50
|
+
const Status s =
|
|
51
|
+
FailIfTsSizesMismatch(column_family, *(read_options.timestamp));
|
|
52
|
+
if (!s.ok()) {
|
|
53
|
+
return s;
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
const Status s = FailIfCfHasTs(column_family);
|
|
57
|
+
if (!s.ok()) {
|
|
58
|
+
return s;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
41
61
|
const Comparator* ucmp = column_family->GetComparator();
|
|
42
62
|
assert(ucmp);
|
|
43
|
-
|
|
44
|
-
// TODO: support timestamp
|
|
45
|
-
return Status::NotSupported();
|
|
46
|
-
}
|
|
63
|
+
std::string* ts = ucmp->timestamp_size() > 0 ? timestamp : nullptr;
|
|
47
64
|
|
|
48
65
|
Status s;
|
|
49
66
|
SequenceNumber snapshot = versions_->LastSequence();
|
|
67
|
+
GetWithTimestampReadCallback read_cb(snapshot);
|
|
50
68
|
auto cfh = static_cast_with_check<ColumnFamilyHandleImpl>(column_family);
|
|
51
69
|
auto cfd = cfh->cfd();
|
|
52
70
|
if (tracer_) {
|
|
@@ -58,19 +76,23 @@ Status DBImplReadOnly::Get(const ReadOptions& read_options,
|
|
|
58
76
|
SuperVersion* super_version = cfd->GetSuperVersion();
|
|
59
77
|
MergeContext merge_context;
|
|
60
78
|
SequenceNumber max_covering_tombstone_seq = 0;
|
|
61
|
-
LookupKey lkey(key, snapshot);
|
|
79
|
+
LookupKey lkey(key, snapshot, read_options.timestamp);
|
|
62
80
|
PERF_TIMER_STOP(get_snapshot_time);
|
|
63
|
-
if (super_version->mem->Get(lkey, pinnable_val->GetSelf(),
|
|
64
|
-
|
|
65
|
-
|
|
81
|
+
if (super_version->mem->Get(lkey, pinnable_val->GetSelf(), ts, &s,
|
|
82
|
+
&merge_context, &max_covering_tombstone_seq,
|
|
83
|
+
read_options, &read_cb)) {
|
|
66
84
|
pinnable_val->PinSelf();
|
|
67
85
|
RecordTick(stats_, MEMTABLE_HIT);
|
|
68
86
|
} else {
|
|
69
87
|
PERF_TIMER_GUARD(get_from_output_files_time);
|
|
70
88
|
PinnedIteratorsManager pinned_iters_mgr;
|
|
71
|
-
super_version->current->Get(
|
|
72
|
-
|
|
73
|
-
|
|
89
|
+
super_version->current->Get(
|
|
90
|
+
read_options, lkey, pinnable_val, ts, &s, &merge_context,
|
|
91
|
+
&max_covering_tombstone_seq, &pinned_iters_mgr,
|
|
92
|
+
/*value_found*/ nullptr,
|
|
93
|
+
/*key_exists*/ nullptr, /*seq*/ nullptr, &read_cb,
|
|
94
|
+
/*is_blob*/ nullptr,
|
|
95
|
+
/*do_merge*/ true);
|
|
74
96
|
RecordTick(stats_, MEMTABLE_MISS);
|
|
75
97
|
}
|
|
76
98
|
RecordTick(stats_, NUMBER_KEYS_READ);
|
|
@@ -84,11 +106,17 @@ Status DBImplReadOnly::Get(const ReadOptions& read_options,
|
|
|
84
106
|
Iterator* DBImplReadOnly::NewIterator(const ReadOptions& read_options,
|
|
85
107
|
ColumnFamilyHandle* column_family) {
|
|
86
108
|
assert(column_family);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
109
|
+
if (read_options.timestamp) {
|
|
110
|
+
const Status s =
|
|
111
|
+
FailIfTsSizesMismatch(column_family, *(read_options.timestamp));
|
|
112
|
+
if (!s.ok()) {
|
|
113
|
+
return NewErrorIterator(s);
|
|
114
|
+
}
|
|
115
|
+
} else {
|
|
116
|
+
const Status s = FailIfCfHasTs(column_family);
|
|
117
|
+
if (!s.ok()) {
|
|
118
|
+
return NewErrorIterator(s);
|
|
119
|
+
}
|
|
92
120
|
}
|
|
93
121
|
auto cfh = static_cast_with_check<ColumnFamilyHandleImpl>(column_family);
|
|
94
122
|
auto cfd = cfh->cfd();
|
|
@@ -118,16 +146,19 @@ Status DBImplReadOnly::NewIterators(
|
|
|
118
146
|
const std::vector<ColumnFamilyHandle*>& column_families,
|
|
119
147
|
std::vector<Iterator*>* iterators) {
|
|
120
148
|
if (read_options.timestamp) {
|
|
121
|
-
|
|
122
|
-
|
|
149
|
+
for (auto* cf : column_families) {
|
|
150
|
+
assert(cf);
|
|
151
|
+
const Status s = FailIfTsSizesMismatch(cf, *(read_options.timestamp));
|
|
152
|
+
if (!s.ok()) {
|
|
153
|
+
return s;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
123
156
|
} else {
|
|
124
157
|
for (auto* cf : column_families) {
|
|
125
158
|
assert(cf);
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// TODO: support timestamp
|
|
130
|
-
return Status::NotSupported();
|
|
159
|
+
const Status s = FailIfCfHasTs(cf);
|
|
160
|
+
if (!s.ok()) {
|
|
161
|
+
return s;
|
|
131
162
|
}
|
|
132
163
|
}
|
|
133
164
|
}
|
|
@@ -27,6 +27,9 @@ class DBImplReadOnly : public DBImpl {
|
|
|
27
27
|
virtual Status Get(const ReadOptions& options,
|
|
28
28
|
ColumnFamilyHandle* column_family, const Slice& key,
|
|
29
29
|
PinnableSlice* value) override;
|
|
30
|
+
Status Get(const ReadOptions& options, ColumnFamilyHandle* column_family,
|
|
31
|
+
const Slice& key, PinnableSlice* value,
|
|
32
|
+
std::string* timestamp) override;
|
|
30
33
|
|
|
31
34
|
// TODO: Implement ReadOnly MultiGet?
|
|
32
35
|
|
|
@@ -247,15 +247,16 @@ Status DBImplSecondary::RecoverLogFiles(
|
|
|
247
247
|
if (seq_of_batch <= seq) {
|
|
248
248
|
continue;
|
|
249
249
|
}
|
|
250
|
-
auto curr_log_num =
|
|
250
|
+
auto curr_log_num = std::numeric_limits<uint64_t>::max();
|
|
251
251
|
if (cfd_to_current_log_.count(cfd) > 0) {
|
|
252
252
|
curr_log_num = cfd_to_current_log_[cfd];
|
|
253
253
|
}
|
|
254
254
|
// If the active memtable contains records added by replaying an
|
|
255
255
|
// earlier WAL, then we need to seal the memtable, add it to the
|
|
256
256
|
// immutable memtable list and create a new active memtable.
|
|
257
|
-
if (!cfd->mem()->IsEmpty() &&
|
|
258
|
-
|
|
257
|
+
if (!cfd->mem()->IsEmpty() &&
|
|
258
|
+
(curr_log_num == std::numeric_limits<uint64_t>::max() ||
|
|
259
|
+
curr_log_num != log_number)) {
|
|
259
260
|
const MutableCFOptions mutable_cf_options =
|
|
260
261
|
*cfd->GetLatestMutableCFOptions();
|
|
261
262
|
MemTable* new_mem =
|
|
@@ -771,12 +772,19 @@ Status DBImplSecondary::CompactWithoutInstallation(
|
|
|
771
772
|
|
|
772
773
|
const int job_id = next_job_id_.fetch_add(1);
|
|
773
774
|
|
|
775
|
+
// use primary host's db_id for running the compaction, but db_session_id is
|
|
776
|
+
// using the local one, which is to make sure the unique id is unique from
|
|
777
|
+
// the remote compactors. Because the id is generated from db_id,
|
|
778
|
+
// db_session_id and orig_file_number, unlike the local compaction, remote
|
|
779
|
+
// compaction cannot guarantee the uniqueness of orig_file_number, the file
|
|
780
|
+
// number is only assigned when compaction is done.
|
|
774
781
|
CompactionServiceCompactionJob compaction_job(
|
|
775
782
|
job_id, c.get(), immutable_db_options_, mutable_db_options_,
|
|
776
783
|
file_options_for_compaction_, versions_.get(), &shutting_down_,
|
|
777
784
|
&log_buffer, output_dir.get(), stats_, &mutex_, &error_handler_,
|
|
778
785
|
input.snapshots, table_cache_, &event_logger_, dbname_, io_tracer_,
|
|
779
|
-
options.canceled,
|
|
786
|
+
options.canceled, input.db_id, db_session_id_, secondary_path_, input,
|
|
787
|
+
result);
|
|
780
788
|
|
|
781
789
|
mutex_.Unlock();
|
|
782
790
|
s = compaction_job.Run();
|
|
@@ -831,6 +839,8 @@ Status DB::OpenAndCompact(
|
|
|
831
839
|
override_options.table_factory;
|
|
832
840
|
compaction_input.column_family.options.sst_partitioner_factory =
|
|
833
841
|
override_options.sst_partitioner_factory;
|
|
842
|
+
compaction_input.column_family.options.table_properties_collector_factories =
|
|
843
|
+
override_options.table_properties_collector_factories;
|
|
834
844
|
compaction_input.db_options.listeners = override_options.listeners;
|
|
835
845
|
|
|
836
846
|
std::vector<ColumnFamilyDescriptor> column_families;
|
|
@@ -35,10 +35,12 @@ void DumpDBFileSummary(const ImmutableDBOptions& options,
|
|
|
35
35
|
Header(options.info_log, "DB SUMMARY\n");
|
|
36
36
|
Header(options.info_log, "DB Session ID: %s\n", session_id.c_str());
|
|
37
37
|
|
|
38
|
+
Status s;
|
|
38
39
|
// Get files in dbname dir
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
s = env->GetChildren(dbname, &files);
|
|
41
|
+
if (!s.ok()) {
|
|
42
|
+
Error(options.info_log, "Error when reading %s dir %s\n", dbname.c_str(),
|
|
43
|
+
s.ToString().c_str());
|
|
42
44
|
}
|
|
43
45
|
std::sort(files.begin(), files.end());
|
|
44
46
|
for (const std::string& file : files) {
|
|
@@ -53,24 +55,27 @@ void DumpDBFileSummary(const ImmutableDBOptions& options,
|
|
|
53
55
|
Header(options.info_log, "IDENTITY file: %s\n", file.c_str());
|
|
54
56
|
break;
|
|
55
57
|
case kDescriptorFile:
|
|
56
|
-
|
|
58
|
+
s = env->GetFileSize(dbname + "/" + file, &file_size);
|
|
59
|
+
if (s.ok()) {
|
|
57
60
|
Header(options.info_log,
|
|
58
61
|
"MANIFEST file: %s size: %" PRIu64 " Bytes\n", file.c_str(),
|
|
59
62
|
file_size);
|
|
60
63
|
} else {
|
|
61
|
-
Error(options.info_log,
|
|
62
|
-
dbname.c_str(),
|
|
64
|
+
Error(options.info_log,
|
|
65
|
+
"Error when reading MANIFEST file: %s/%s %s\n", dbname.c_str(),
|
|
66
|
+
file.c_str(), s.ToString().c_str());
|
|
63
67
|
}
|
|
64
68
|
break;
|
|
65
69
|
case kWalFile:
|
|
66
|
-
|
|
70
|
+
s = env->GetFileSize(dbname + "/" + file, &file_size);
|
|
71
|
+
if (s.ok()) {
|
|
67
72
|
wal_info.append(file)
|
|
68
73
|
.append(" size: ")
|
|
69
74
|
.append(std::to_string(file_size))
|
|
70
75
|
.append(" ; ");
|
|
71
76
|
} else {
|
|
72
|
-
Error(options.info_log, "Error when reading LOG file: %s/%s\n",
|
|
73
|
-
dbname.c_str(), file.c_str());
|
|
77
|
+
Error(options.info_log, "Error when reading LOG file: %s/%s %s\n",
|
|
78
|
+
dbname.c_str(), file.c_str(), s.ToString().c_str());
|
|
74
79
|
}
|
|
75
80
|
break;
|
|
76
81
|
case kTableFile:
|
|
@@ -86,10 +91,10 @@ void DumpDBFileSummary(const ImmutableDBOptions& options,
|
|
|
86
91
|
// Get sst files in db_path dir
|
|
87
92
|
for (auto& db_path : options.db_paths) {
|
|
88
93
|
if (dbname.compare(db_path.path) != 0) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
s = env->GetChildren(db_path.path, &files);
|
|
95
|
+
if (!s.ok()) {
|
|
96
|
+
Error(options.info_log, "Error when reading %s dir %s\n",
|
|
97
|
+
db_path.path.c_str(), s.ToString().c_str());
|
|
93
98
|
continue;
|
|
94
99
|
}
|
|
95
100
|
std::sort(files.begin(), files.end());
|
|
@@ -111,22 +116,25 @@ void DumpDBFileSummary(const ImmutableDBOptions& options,
|
|
|
111
116
|
// Get wal file in wal_dir
|
|
112
117
|
const auto& wal_dir = options.GetWalDir(dbname);
|
|
113
118
|
if (!options.IsWalDirSameAsDBPath(dbname)) {
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
s = env->GetChildren(wal_dir, &files);
|
|
120
|
+
if (!s.ok()) {
|
|
121
|
+
Error(options.info_log, "Error when reading %s dir %s\n", wal_dir.c_str(),
|
|
122
|
+
s.ToString().c_str());
|
|
116
123
|
return;
|
|
117
124
|
}
|
|
118
125
|
wal_info.clear();
|
|
119
126
|
for (const std::string& file : files) {
|
|
120
127
|
if (ParseFileName(file, &number, &type)) {
|
|
121
128
|
if (type == kWalFile) {
|
|
122
|
-
|
|
129
|
+
s = env->GetFileSize(wal_dir + "/" + file, &file_size);
|
|
130
|
+
if (s.ok()) {
|
|
123
131
|
wal_info.append(file)
|
|
124
132
|
.append(" size: ")
|
|
125
133
|
.append(std::to_string(file_size))
|
|
126
134
|
.append(" ; ");
|
|
127
135
|
} else {
|
|
128
|
-
Error(options.info_log, "Error when reading LOG file %s/%s\n",
|
|
129
|
-
wal_dir.c_str(), file.c_str());
|
|
136
|
+
Error(options.info_log, "Error when reading LOG file %s/%s %s\n",
|
|
137
|
+
wal_dir.c_str(), file.c_str(), s.ToString().c_str());
|
|
130
138
|
}
|
|
131
139
|
}
|
|
132
140
|
}
|
|
@@ -414,7 +414,7 @@ TEST_F(DBIteratorStressTest, StressTest) {
|
|
|
414
414
|
a /= 10;
|
|
415
415
|
++len;
|
|
416
416
|
}
|
|
417
|
-
std::string s =
|
|
417
|
+
std::string s = std::to_string(rnd.Next() % static_cast<uint64_t>(max_key));
|
|
418
418
|
s.insert(0, len - (int)s.size(), '0');
|
|
419
419
|
return s;
|
|
420
420
|
};
|
|
@@ -444,12 +444,13 @@ TEST_F(DBIteratorStressTest, StressTest) {
|
|
|
444
444
|
for (double mutation_probability : {0.01, 0.5}) {
|
|
445
445
|
for (double target_hidden_fraction : {0.1, 0.5}) {
|
|
446
446
|
std::string trace_str =
|
|
447
|
-
"entries: " +
|
|
448
|
-
", key_space: " +
|
|
449
|
-
", error_probability: " +
|
|
450
|
-
", mutation_probability: " +
|
|
447
|
+
"entries: " + std::to_string(num_entries) +
|
|
448
|
+
", key_space: " + std::to_string(key_space) +
|
|
449
|
+
", error_probability: " + std::to_string(error_probability) +
|
|
450
|
+
", mutation_probability: " +
|
|
451
|
+
std::to_string(mutation_probability) +
|
|
451
452
|
", target_hidden_fraction: " +
|
|
452
|
-
|
|
453
|
+
std::to_string(target_hidden_fraction);
|
|
453
454
|
SCOPED_TRACE(trace_str);
|
|
454
455
|
if (trace) {
|
|
455
456
|
std::cout << trace_str << std::endl;
|
|
@@ -470,7 +471,7 @@ TEST_F(DBIteratorStressTest, StressTest) {
|
|
|
470
471
|
types[rnd.Next() % (sizeof(types) / sizeof(types[0]))];
|
|
471
472
|
}
|
|
472
473
|
e.sequence = i;
|
|
473
|
-
e.value = "v" +
|
|
474
|
+
e.value = "v" + std::to_string(i);
|
|
474
475
|
ParsedInternalKey internal_key(e.key, e.sequence, e.type);
|
|
475
476
|
AppendInternalKey(&e.ikey, internal_key);
|
|
476
477
|
|
|
@@ -766,7 +766,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
766
766
|
internal_iter->AddMerge("b", "merge_1");
|
|
767
767
|
internal_iter->AddMerge("a", "merge_2");
|
|
768
768
|
for (size_t k = 0; k < 200; ++k) {
|
|
769
|
-
internal_iter->AddPut("c",
|
|
769
|
+
internal_iter->AddPut("c", std::to_string(k));
|
|
770
770
|
}
|
|
771
771
|
internal_iter->Finish();
|
|
772
772
|
|
|
@@ -780,7 +780,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
780
780
|
ASSERT_TRUE(db_iter->Valid());
|
|
781
781
|
|
|
782
782
|
ASSERT_EQ(db_iter->key().ToString(), "c");
|
|
783
|
-
ASSERT_EQ(db_iter->value().ToString(),
|
|
783
|
+
ASSERT_EQ(db_iter->value().ToString(), std::to_string(i));
|
|
784
784
|
db_iter->Prev();
|
|
785
785
|
ASSERT_TRUE(db_iter->Valid());
|
|
786
786
|
|
|
@@ -925,11 +925,11 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
925
925
|
internal_iter->AddMerge("b", "merge_1");
|
|
926
926
|
internal_iter->AddMerge("a", "merge_2");
|
|
927
927
|
for (size_t k = 0; k < 200; ++k) {
|
|
928
|
-
internal_iter->AddPut("d",
|
|
928
|
+
internal_iter->AddPut("d", std::to_string(k));
|
|
929
929
|
}
|
|
930
930
|
|
|
931
931
|
for (size_t k = 0; k < 200; ++k) {
|
|
932
|
-
internal_iter->AddPut("c",
|
|
932
|
+
internal_iter->AddPut("c", std::to_string(k));
|
|
933
933
|
}
|
|
934
934
|
internal_iter->Finish();
|
|
935
935
|
|
|
@@ -942,7 +942,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
942
942
|
ASSERT_TRUE(db_iter->Valid());
|
|
943
943
|
|
|
944
944
|
ASSERT_EQ(db_iter->key().ToString(), "d");
|
|
945
|
-
ASSERT_EQ(db_iter->value().ToString(),
|
|
945
|
+
ASSERT_EQ(db_iter->value().ToString(), std::to_string(i));
|
|
946
946
|
db_iter->Prev();
|
|
947
947
|
ASSERT_TRUE(db_iter->Valid());
|
|
948
948
|
|
|
@@ -966,7 +966,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
966
966
|
internal_iter->AddMerge("b", "b");
|
|
967
967
|
internal_iter->AddMerge("a", "a");
|
|
968
968
|
for (size_t k = 0; k < 200; ++k) {
|
|
969
|
-
internal_iter->AddMerge("c",
|
|
969
|
+
internal_iter->AddMerge("c", std::to_string(k));
|
|
970
970
|
}
|
|
971
971
|
internal_iter->Finish();
|
|
972
972
|
|
|
@@ -981,7 +981,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
|
|
|
981
981
|
ASSERT_EQ(db_iter->key().ToString(), "c");
|
|
982
982
|
std::string merge_result = "0";
|
|
983
983
|
for (size_t j = 1; j <= i; ++j) {
|
|
984
|
-
merge_result += "," +
|
|
984
|
+
merge_result += "," + std::to_string(j);
|
|
985
985
|
}
|
|
986
986
|
ASSERT_EQ(db_iter->value().ToString(), merge_result);
|
|
987
987
|
|
|
@@ -3156,7 +3156,7 @@ TEST_F(DBIteratorTest, ReverseToForwardWithDisappearingKeys) {
|
|
|
3156
3156
|
internal_iter->AddPut("a", "A");
|
|
3157
3157
|
internal_iter->AddPut("b", "B");
|
|
3158
3158
|
for (int i = 0; i < 100; ++i) {
|
|
3159
|
-
internal_iter->AddPut("c" +
|
|
3159
|
+
internal_iter->AddPut("c" + std::to_string(i), "");
|
|
3160
3160
|
}
|
|
3161
3161
|
internal_iter->Finish();
|
|
3162
3162
|
|
|
@@ -111,9 +111,12 @@ TEST_P(DBIteratorTest, PersistedTierOnIterator) {
|
|
|
111
111
|
TEST_P(DBIteratorTest, NonBlockingIteration) {
|
|
112
112
|
do {
|
|
113
113
|
ReadOptions non_blocking_opts, regular_opts;
|
|
114
|
-
|
|
114
|
+
anon::OptionsOverride options_override;
|
|
115
|
+
options_override.full_block_cache = true;
|
|
116
|
+
Options options = CurrentOptions(options_override);
|
|
115
117
|
options.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
|
|
116
118
|
non_blocking_opts.read_tier = kBlockCacheTier;
|
|
119
|
+
|
|
117
120
|
CreateAndReopenWithCF({"pikachu"}, options);
|
|
118
121
|
// write one kv to the database.
|
|
119
122
|
ASSERT_OK(Put(1, "a", "b"));
|
|
@@ -3157,7 +3160,7 @@ TEST_F(DBIteratorWithReadCallbackTest, ReadCallback) {
|
|
|
3157
3160
|
uint64_t num_versions =
|
|
3158
3161
|
CurrentOptions().max_sequential_skip_in_iterations + 10;
|
|
3159
3162
|
for (uint64_t i = 0; i < num_versions; i++) {
|
|
3160
|
-
ASSERT_OK(Put("bar",
|
|
3163
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
3161
3164
|
}
|
|
3162
3165
|
SequenceNumber seq3 = db_->GetLatestSequenceNumber();
|
|
3163
3166
|
TestReadCallback callback2(seq3);
|
|
@@ -3186,7 +3189,7 @@ TEST_F(DBIteratorWithReadCallbackTest, ReadCallback) {
|
|
|
3186
3189
|
ASSERT_TRUE(iter->Valid());
|
|
3187
3190
|
ASSERT_OK(iter->status());
|
|
3188
3191
|
ASSERT_EQ("bar", iter->key());
|
|
3189
|
-
ASSERT_EQ(
|
|
3192
|
+
ASSERT_EQ(std::to_string(num_versions - 1), iter->value());
|
|
3190
3193
|
|
|
3191
3194
|
delete iter;
|
|
3192
3195
|
}
|
|
@@ -79,7 +79,7 @@ class DbKvChecksumTest
|
|
|
79
79
|
|
|
80
80
|
void CorruptNextByteCallBack(void* arg) {
|
|
81
81
|
Slice encoded = *static_cast<Slice*>(arg);
|
|
82
|
-
if (entry_len_ ==
|
|
82
|
+
if (entry_len_ == std::numeric_limits<size_t>::max()) {
|
|
83
83
|
// We learn the entry size on the first attempt
|
|
84
84
|
entry_len_ = encoded.size();
|
|
85
85
|
}
|
|
@@ -96,7 +96,7 @@ class DbKvChecksumTest
|
|
|
96
96
|
WriteBatchOpType op_type_;
|
|
97
97
|
char corrupt_byte_addend_;
|
|
98
98
|
size_t corrupt_byte_offset_ = 0;
|
|
99
|
-
size_t entry_len_ =
|
|
99
|
+
size_t entry_len_ = std::numeric_limits<size_t>::max();
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
std::string GetTestNameSuffix(
|
|
@@ -187,7 +187,7 @@ TEST_F(DBTestXactLogIterator, TransactionLogIteratorCorruptedLog) {
|
|
|
187
187
|
DestroyAndReopen(options);
|
|
188
188
|
|
|
189
189
|
for (int i = 0; i < 1024; i++) {
|
|
190
|
-
ASSERT_OK(Put("key" +
|
|
190
|
+
ASSERT_OK(Put("key" + std::to_string(i), DummyString(10)));
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
ASSERT_OK(Flush());
|
|
@@ -263,20 +263,20 @@ TEST_F(DBTestXactLogIterator, TransactionLogIteratorBlobs) {
|
|
|
263
263
|
struct Handler : public WriteBatch::Handler {
|
|
264
264
|
std::string seen;
|
|
265
265
|
Status PutCF(uint32_t cf, const Slice& key, const Slice& value) override {
|
|
266
|
-
seen += "Put(" +
|
|
267
|
-
|
|
266
|
+
seen += "Put(" + std::to_string(cf) + ", " + key.ToString() + ", " +
|
|
267
|
+
std::to_string(value.size()) + ")";
|
|
268
268
|
return Status::OK();
|
|
269
269
|
}
|
|
270
270
|
Status MergeCF(uint32_t cf, const Slice& key, const Slice& value) override {
|
|
271
|
-
seen += "Merge(" +
|
|
272
|
-
|
|
271
|
+
seen += "Merge(" + std::to_string(cf) + ", " + key.ToString() + ", " +
|
|
272
|
+
std::to_string(value.size()) + ")";
|
|
273
273
|
return Status::OK();
|
|
274
274
|
}
|
|
275
275
|
void LogData(const Slice& blob) override {
|
|
276
276
|
seen += "LogData(" + blob.ToString() + ")";
|
|
277
277
|
}
|
|
278
278
|
Status DeleteCF(uint32_t cf, const Slice& key) override {
|
|
279
|
-
seen += "Delete(" +
|
|
279
|
+
seen += "Delete(" + std::to_string(cf) + ", " + key.ToString() + ")";
|
|
280
280
|
return Status::OK();
|
|
281
281
|
}
|
|
282
282
|
} handler;
|
|
@@ -97,7 +97,7 @@ class MockMemTableRepFactory : public MemTableRepFactory {
|
|
|
97
97
|
|
|
98
98
|
private:
|
|
99
99
|
MockMemTableRep* mock_rep_;
|
|
100
|
-
// workaround since there's no
|
|
100
|
+
// workaround since there's no std::numeric_limits<uint32_t>::max() yet.
|
|
101
101
|
uint32_t last_column_family_id_ = static_cast<uint32_t>(-1);
|
|
102
102
|
};
|
|
103
103
|
|
|
@@ -171,7 +171,7 @@ TEST_F(DBMemTableTest, DuplicateSeq) {
|
|
|
171
171
|
if (!insert_dup) {
|
|
172
172
|
seq++;
|
|
173
173
|
}
|
|
174
|
-
Status s = mem->Add(seq, kTypeValue, "foo", "value" +
|
|
174
|
+
Status s = mem->Add(seq, kTypeValue, "foo", "value" + std::to_string(seq),
|
|
175
175
|
nullptr /* kv_prot_info */);
|
|
176
176
|
if (insert_dup) {
|
|
177
177
|
ASSERT_TRUE(s.IsTryAgain());
|
|
@@ -95,6 +95,22 @@ TEST_F(DBOptionsTest, ImmutableTrackAndVerifyWalsInManifest) {
|
|
|
95
95
|
ASSERT_FALSE(s.ok());
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
TEST_F(DBOptionsTest, ImmutableVerifySstUniqueIdInManifest) {
|
|
99
|
+
Options options;
|
|
100
|
+
options.env = env_;
|
|
101
|
+
options.verify_sst_unique_id_in_manifest = true;
|
|
102
|
+
|
|
103
|
+
ImmutableDBOptions db_options(options);
|
|
104
|
+
ASSERT_TRUE(db_options.verify_sst_unique_id_in_manifest);
|
|
105
|
+
|
|
106
|
+
Reopen(options);
|
|
107
|
+
ASSERT_TRUE(dbfull()->GetDBOptions().verify_sst_unique_id_in_manifest);
|
|
108
|
+
|
|
109
|
+
Status s =
|
|
110
|
+
dbfull()->SetDBOptions({{"verify_sst_unique_id_in_manifest", "false"}});
|
|
111
|
+
ASSERT_FALSE(s.ok());
|
|
112
|
+
}
|
|
113
|
+
|
|
98
114
|
// RocksDB lite don't support dynamic options.
|
|
99
115
|
#ifndef ROCKSDB_LITE
|
|
100
116
|
|
|
@@ -424,8 +440,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
|
|
|
424
440
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
425
441
|
int i = 0;
|
|
426
442
|
for (; i < 3; i++) {
|
|
427
|
-
ASSERT_OK(Put("foo",
|
|
428
|
-
ASSERT_OK(Put("bar",
|
|
443
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
444
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
429
445
|
ASSERT_OK(Flush());
|
|
430
446
|
}
|
|
431
447
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -442,8 +458,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
|
|
|
442
458
|
dbfull()->GetDBOptions().writable_file_max_buffer_size);
|
|
443
459
|
i = 0;
|
|
444
460
|
for (; i < 3; i++) {
|
|
445
|
-
ASSERT_OK(Put("foo",
|
|
446
|
-
ASSERT_OK(Put("bar",
|
|
461
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
462
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
447
463
|
ASSERT_OK(Flush());
|
|
448
464
|
}
|
|
449
465
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -573,8 +589,8 @@ TEST_F(DBOptionsTest, SetOptionsMayTriggerCompaction) {
|
|
|
573
589
|
Reopen(options);
|
|
574
590
|
for (int i = 0; i < 3; i++) {
|
|
575
591
|
// Need to insert two keys to avoid trivial move.
|
|
576
|
-
ASSERT_OK(Put("foo",
|
|
577
|
-
ASSERT_OK(Put("bar",
|
|
592
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
593
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
578
594
|
ASSERT_OK(Flush());
|
|
579
595
|
}
|
|
580
596
|
ASSERT_EQ("3", FilesPerLevel());
|
|
@@ -717,8 +733,8 @@ TEST_F(DBOptionsTest, SetStatsDumpPeriodSec) {
|
|
|
717
733
|
|
|
718
734
|
for (int i = 0; i < 20; i++) {
|
|
719
735
|
unsigned int num = rand() % 5000 + 1;
|
|
720
|
-
ASSERT_OK(
|
|
721
|
-
|
|
736
|
+
ASSERT_OK(dbfull()->SetDBOptions(
|
|
737
|
+
{{"stats_dump_period_sec", std::to_string(num)}}));
|
|
722
738
|
ASSERT_EQ(num, dbfull()->GetDBOptions().stats_dump_period_sec);
|
|
723
739
|
}
|
|
724
740
|
Close();
|
|
@@ -909,7 +925,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
909
925
|
for (int i = 0; i < 10; i++) {
|
|
910
926
|
// Generate and flush a file about 10KB.
|
|
911
927
|
for (int j = 0; j < 10; j++) {
|
|
912
|
-
ASSERT_OK(Put(
|
|
928
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
913
929
|
}
|
|
914
930
|
ASSERT_OK(Flush());
|
|
915
931
|
}
|
|
@@ -940,7 +956,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
940
956
|
for (int i = 0; i < 10; i++) {
|
|
941
957
|
// Generate and flush a file about 10KB.
|
|
942
958
|
for (int j = 0; j < 10; j++) {
|
|
943
|
-
ASSERT_OK(Put(
|
|
959
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
944
960
|
}
|
|
945
961
|
ASSERT_OK(Flush());
|
|
946
962
|
}
|
|
@@ -972,7 +988,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
972
988
|
for (int i = 0; i < 10; i++) {
|
|
973
989
|
// Generate and flush a file about 10KB.
|
|
974
990
|
for (int j = 0; j < 10; j++) {
|
|
975
|
-
ASSERT_OK(Put(
|
|
991
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
976
992
|
}
|
|
977
993
|
ASSERT_OK(Flush());
|
|
978
994
|
}
|
|
@@ -1036,7 +1052,7 @@ TEST_F(DBOptionsTest, FIFOTtlBackwardCompatible) {
|
|
|
1036
1052
|
for (int i = 0; i < 10; i++) {
|
|
1037
1053
|
// Generate and flush a file about 10KB.
|
|
1038
1054
|
for (int j = 0; j < 10; j++) {
|
|
1039
|
-
ASSERT_OK(Put(
|
|
1055
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
1040
1056
|
}
|
|
1041
1057
|
ASSERT_OK(Flush());
|
|
1042
1058
|
}
|