@nxtedition/rocksdb 6.0.1 → 6.0.2
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 +2 -2
- package/binding.cc +14 -17
- package/deps/rocksdb/build_version.cc +4 -10
- package/deps/rocksdb/rocksdb/CMakeLists.txt +17 -3
- package/deps/rocksdb/rocksdb/Makefile +57 -86
- package/deps/rocksdb/rocksdb/TARGETS +4 -0
- 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/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 +11 -4
- package/deps/rocksdb/rocksdb/db/c.cc +45 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +25 -2
- package/deps/rocksdb/rocksdb/db/column_family.cc +4 -3
- 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 +25 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +6 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +69 -14
- 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 +21 -21
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +135 -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 +2 -2
- 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 +9 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +9 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +6 -3
- 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 +12 -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_rate_limiter_test.cc +15 -14
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +6 -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 +44 -42
- package/deps/rocksdb/rocksdb/db/db_test2.cc +23 -19
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +95 -17
- package/deps/rocksdb/rocksdb/db/db_test_util.h +48 -0
- 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 +4 -4
- 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/external_sst_file_basic_test.cc +34 -12
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +3 -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 +18 -4
- 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 +3 -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 +1 -1
- package/deps/rocksdb/rocksdb/db/repair_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
- package/deps/rocksdb/rocksdb/db/table_cache.cc +2 -4
- package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/version_edit.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_set.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_set.h +3 -3
- 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 +7 -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 +31 -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 +359 -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.h +1 -1
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- 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 +69 -45
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +35 -0
- 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/iostats_context.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +28 -3
- 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 +189 -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 +2 -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/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 +34 -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 +38 -17
- package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +82 -39
- package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -3
- package/deps/rocksdb/rocksdb/options/options_test.cc +115 -59
- 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 +2 -0
- 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 +14 -4
- 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 +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +85 -41
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +42 -72
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +7 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
- 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 +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +6 -3
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -5
- 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/meta_blocks.cc +2 -2
- package/deps/rocksdb/rocksdb/table/multiget_context.h +14 -11
- 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_writer_collectors.h +1 -1
- package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
- package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
- package/deps/rocksdb/rocksdb/table/unique_id.cc +57 -25
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +34 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +1 -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 +254 -98
- 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 +17 -3
- 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/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 +7 -7
- 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/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 +8 -2
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/deps/rocksdb/rocksdb/python.mk +0 -9
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-arm64/node.napi.node +0 -0
|
@@ -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());
|
|
@@ -424,8 +424,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
|
|
|
424
424
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
|
|
425
425
|
int i = 0;
|
|
426
426
|
for (; i < 3; i++) {
|
|
427
|
-
ASSERT_OK(Put("foo",
|
|
428
|
-
ASSERT_OK(Put("bar",
|
|
427
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
428
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
429
429
|
ASSERT_OK(Flush());
|
|
430
430
|
}
|
|
431
431
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -442,8 +442,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
|
|
|
442
442
|
dbfull()->GetDBOptions().writable_file_max_buffer_size);
|
|
443
443
|
i = 0;
|
|
444
444
|
for (; i < 3; i++) {
|
|
445
|
-
ASSERT_OK(Put("foo",
|
|
446
|
-
ASSERT_OK(Put("bar",
|
|
445
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
446
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
447
447
|
ASSERT_OK(Flush());
|
|
448
448
|
}
|
|
449
449
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -573,8 +573,8 @@ TEST_F(DBOptionsTest, SetOptionsMayTriggerCompaction) {
|
|
|
573
573
|
Reopen(options);
|
|
574
574
|
for (int i = 0; i < 3; i++) {
|
|
575
575
|
// Need to insert two keys to avoid trivial move.
|
|
576
|
-
ASSERT_OK(Put("foo",
|
|
577
|
-
ASSERT_OK(Put("bar",
|
|
576
|
+
ASSERT_OK(Put("foo", std::to_string(i)));
|
|
577
|
+
ASSERT_OK(Put("bar", std::to_string(i)));
|
|
578
578
|
ASSERT_OK(Flush());
|
|
579
579
|
}
|
|
580
580
|
ASSERT_EQ("3", FilesPerLevel());
|
|
@@ -717,8 +717,8 @@ TEST_F(DBOptionsTest, SetStatsDumpPeriodSec) {
|
|
|
717
717
|
|
|
718
718
|
for (int i = 0; i < 20; i++) {
|
|
719
719
|
unsigned int num = rand() % 5000 + 1;
|
|
720
|
-
ASSERT_OK(
|
|
721
|
-
|
|
720
|
+
ASSERT_OK(dbfull()->SetDBOptions(
|
|
721
|
+
{{"stats_dump_period_sec", std::to_string(num)}}));
|
|
722
722
|
ASSERT_EQ(num, dbfull()->GetDBOptions().stats_dump_period_sec);
|
|
723
723
|
}
|
|
724
724
|
Close();
|
|
@@ -909,7 +909,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
909
909
|
for (int i = 0; i < 10; i++) {
|
|
910
910
|
// Generate and flush a file about 10KB.
|
|
911
911
|
for (int j = 0; j < 10; j++) {
|
|
912
|
-
ASSERT_OK(Put(
|
|
912
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
913
913
|
}
|
|
914
914
|
ASSERT_OK(Flush());
|
|
915
915
|
}
|
|
@@ -940,7 +940,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
940
940
|
for (int i = 0; i < 10; i++) {
|
|
941
941
|
// Generate and flush a file about 10KB.
|
|
942
942
|
for (int j = 0; j < 10; j++) {
|
|
943
|
-
ASSERT_OK(Put(
|
|
943
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
944
944
|
}
|
|
945
945
|
ASSERT_OK(Flush());
|
|
946
946
|
}
|
|
@@ -972,7 +972,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
|
|
|
972
972
|
for (int i = 0; i < 10; i++) {
|
|
973
973
|
// Generate and flush a file about 10KB.
|
|
974
974
|
for (int j = 0; j < 10; j++) {
|
|
975
|
-
ASSERT_OK(Put(
|
|
975
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
976
976
|
}
|
|
977
977
|
ASSERT_OK(Flush());
|
|
978
978
|
}
|
|
@@ -1036,7 +1036,7 @@ TEST_F(DBOptionsTest, FIFOTtlBackwardCompatible) {
|
|
|
1036
1036
|
for (int i = 0; i < 10; i++) {
|
|
1037
1037
|
// Generate and flush a file about 10KB.
|
|
1038
1038
|
for (int j = 0; j < 10; j++) {
|
|
1039
|
-
ASSERT_OK(Put(
|
|
1039
|
+
ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
|
|
1040
1040
|
}
|
|
1041
1041
|
ASSERT_OK(Flush());
|
|
1042
1042
|
}
|
|
@@ -593,9 +593,9 @@ TEST_F(DBPropertiesTest, AggregatedTablePropertiesAtLevel) {
|
|
|
593
593
|
ASSERT_OK(db_->CompactRange(CompactRangeOptions(), nullptr, nullptr));
|
|
594
594
|
ResetTableProperties(&sum_tp);
|
|
595
595
|
for (int level = 0; level < kMaxLevel; ++level) {
|
|
596
|
-
db_->GetProperty(
|
|
597
|
-
|
|
598
|
-
|
|
596
|
+
db_->GetProperty(DB::Properties::kAggregatedTablePropertiesAtLevel +
|
|
597
|
+
std::to_string(level),
|
|
598
|
+
&level_tp_strings[level]);
|
|
599
599
|
ParseTablePropertiesString(level_tp_strings[level], &level_tps[level]);
|
|
600
600
|
sum_tp.data_size += level_tps[level].data_size;
|
|
601
601
|
sum_tp.index_size += level_tps[level].index_size;
|
|
@@ -1091,7 +1091,7 @@ TEST_F(DBPropertiesTest, EstimateCompressionRatio) {
|
|
|
1091
1091
|
for (int j = 0; j < kNumEntriesPerFile; ++j) {
|
|
1092
1092
|
// Put common data ("key") at end to prevent delta encoding from
|
|
1093
1093
|
// compressing the key effectively
|
|
1094
|
-
std::string key =
|
|
1094
|
+
std::string key = std::to_string(i) + std::to_string(j) + "key";
|
|
1095
1095
|
ASSERT_OK(dbfull()->Put(WriteOptions(), key, kVal));
|
|
1096
1096
|
}
|
|
1097
1097
|
ASSERT_OK(Flush());
|
|
@@ -1185,7 +1185,7 @@ class CountingDeleteTabPropCollector : public TablePropertiesCollector {
|
|
|
1185
1185
|
|
|
1186
1186
|
Status Finish(UserCollectedProperties* properties) override {
|
|
1187
1187
|
*properties =
|
|
1188
|
-
UserCollectedProperties{{"num_delete",
|
|
1188
|
+
UserCollectedProperties{{"num_delete", std::to_string(num_deletes_)}};
|
|
1189
1189
|
return Status::OK();
|
|
1190
1190
|
}
|
|
1191
1191
|
|
|
@@ -1215,7 +1215,7 @@ class BlockCountingTablePropertiesCollector : public TablePropertiesCollector {
|
|
|
1215
1215
|
|
|
1216
1216
|
Status Finish(UserCollectedProperties* properties) override {
|
|
1217
1217
|
(*properties)[kNumSampledBlocksPropertyName] =
|
|
1218
|
-
|
|
1218
|
+
std::to_string(num_sampled_blocks_);
|
|
1219
1219
|
return Status::OK();
|
|
1220
1220
|
}
|
|
1221
1221
|
|
|
@@ -1235,7 +1235,7 @@ class BlockCountingTablePropertiesCollector : public TablePropertiesCollector {
|
|
|
1235
1235
|
|
|
1236
1236
|
UserCollectedProperties GetReadableProperties() const override {
|
|
1237
1237
|
return UserCollectedProperties{
|
|
1238
|
-
{kNumSampledBlocksPropertyName,
|
|
1238
|
+
{kNumSampledBlocksPropertyName, std::to_string(num_sampled_blocks_)},
|
|
1239
1239
|
};
|
|
1240
1240
|
}
|
|
1241
1241
|
|
|
@@ -1272,7 +1272,8 @@ TEST_F(DBPropertiesTest, GetUserDefinedTableProperties) {
|
|
|
1272
1272
|
// Create 4 tables
|
|
1273
1273
|
for (int table = 0; table < 4; ++table) {
|
|
1274
1274
|
for (int i = 0; i < 10 + table; ++i) {
|
|
1275
|
-
ASSERT_OK(
|
|
1275
|
+
ASSERT_OK(
|
|
1276
|
+
db_->Put(WriteOptions(), std::to_string(table * 100 + i), "val"));
|
|
1276
1277
|
}
|
|
1277
1278
|
ASSERT_OK(db_->Flush(FlushOptions()));
|
|
1278
1279
|
}
|
|
@@ -1312,7 +1313,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
|
|
|
1312
1313
|
// Create 2 files
|
|
1313
1314
|
for (int table = 0; table < 2; ++table) {
|
|
1314
1315
|
for (int i = 0; i < 10 + table; ++i) {
|
|
1315
|
-
ASSERT_OK(Put(1,
|
|
1316
|
+
ASSERT_OK(Put(1, std::to_string(table * 100 + i), "val"));
|
|
1316
1317
|
}
|
|
1317
1318
|
ASSERT_OK(Flush(1));
|
|
1318
1319
|
}
|
|
@@ -1322,7 +1323,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
|
|
|
1322
1323
|
// Trigger automatic compactions.
|
|
1323
1324
|
for (int table = 0; table < 3; ++table) {
|
|
1324
1325
|
for (int i = 0; i < 10 + table; ++i) {
|
|
1325
|
-
ASSERT_OK(Put(1,
|
|
1326
|
+
ASSERT_OK(Put(1, std::to_string(table * 100 + i), "val"));
|
|
1326
1327
|
}
|
|
1327
1328
|
ASSERT_OK(Flush(1));
|
|
1328
1329
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -1339,7 +1340,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
|
|
|
1339
1340
|
// Create 4 tables in default column family
|
|
1340
1341
|
for (int table = 0; table < 2; ++table) {
|
|
1341
1342
|
for (int i = 0; i < 10 + table; ++i) {
|
|
1342
|
-
ASSERT_OK(Put(
|
|
1343
|
+
ASSERT_OK(Put(std::to_string(table * 100 + i), "val"));
|
|
1343
1344
|
}
|
|
1344
1345
|
ASSERT_OK(Flush());
|
|
1345
1346
|
}
|
|
@@ -1349,7 +1350,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
|
|
|
1349
1350
|
// Trigger automatic compactions.
|
|
1350
1351
|
for (int table = 0; table < 3; ++table) {
|
|
1351
1352
|
for (int i = 0; i < 10 + table; ++i) {
|
|
1352
|
-
ASSERT_OK(Put(
|
|
1353
|
+
ASSERT_OK(Put(std::to_string(table * 100 + i), "val"));
|
|
1353
1354
|
}
|
|
1354
1355
|
ASSERT_OK(Flush());
|
|
1355
1356
|
ASSERT_OK(dbfull()->TEST_WaitForCompact());
|
|
@@ -1545,7 +1546,7 @@ TEST_F(DBPropertiesTest, BlockAddForCompressionSampling) {
|
|
|
1545
1546
|
user_props.end());
|
|
1546
1547
|
ASSERT_EQ(user_props.at(BlockCountingTablePropertiesCollector::
|
|
1547
1548
|
kNumSampledBlocksPropertyName),
|
|
1548
|
-
|
|
1549
|
+
std::to_string(sample_for_compression ? 1 : 0));
|
|
1549
1550
|
}
|
|
1550
1551
|
}
|
|
1551
1552
|
}
|
|
@@ -1742,11 +1743,11 @@ TEST_F(DBPropertiesTest, SstFilesSize) {
|
|
|
1742
1743
|
Reopen(options);
|
|
1743
1744
|
|
|
1744
1745
|
for (int i = 0; i < 10; i++) {
|
|
1745
|
-
ASSERT_OK(Put("key" +
|
|
1746
|
+
ASSERT_OK(Put("key" + std::to_string(i), std::string(1000, 'v')));
|
|
1746
1747
|
}
|
|
1747
1748
|
ASSERT_OK(Flush());
|
|
1748
1749
|
for (int i = 0; i < 5; i++) {
|
|
1749
|
-
ASSERT_OK(Delete("key" +
|
|
1750
|
+
ASSERT_OK(Delete("key" + std::to_string(i)));
|
|
1750
1751
|
}
|
|
1751
1752
|
ASSERT_OK(Flush());
|
|
1752
1753
|
uint64_t sst_size;
|
|
@@ -190,9 +190,10 @@ TEST_F(DBRangeDelTest, MaxCompactionBytesCutsOutputFiles) {
|
|
|
190
190
|
ASSERT_EQ(0, NumTableFilesAtLevel(0));
|
|
191
191
|
ASSERT_EQ(NumTableFilesAtLevel(2), 2);
|
|
192
192
|
|
|
193
|
-
ASSERT_OK(
|
|
194
|
-
db_->DefaultColumnFamily(),
|
|
195
|
-
|
|
193
|
+
ASSERT_OK(
|
|
194
|
+
db_->SetOptions(db_->DefaultColumnFamily(),
|
|
195
|
+
{{"target_file_size_base",
|
|
196
|
+
std::to_string(100 * opts.max_compaction_bytes)}}));
|
|
196
197
|
|
|
197
198
|
// It spans the whole key-range, thus will be included in all output files
|
|
198
199
|
ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(),
|
|
@@ -500,7 +501,8 @@ TEST_F(DBRangeDelTest, ValidUniversalSubcompactionBoundaries) {
|
|
|
500
501
|
1 /* input_level */, 2 /* output_level */, CompactRangeOptions(),
|
|
501
502
|
nullptr /* begin */, nullptr /* end */, true /* exclusive */,
|
|
502
503
|
true /* disallow_trivial_move */,
|
|
503
|
-
|
|
504
|
+
std::numeric_limits<uint64_t>::max() /* max_file_num_to_ignore */,
|
|
505
|
+
"" /*trim_ts*/));
|
|
504
506
|
}
|
|
505
507
|
#endif // ROCKSDB_LITE
|
|
506
508
|
|
|
@@ -116,9 +116,8 @@ TEST_P(DBRateLimiterOnReadTest, Get) {
|
|
|
116
116
|
}
|
|
117
117
|
Init();
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
int expected = 0;
|
|
119
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
120
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
122
121
|
for (int i = 0; i < kNumFiles; ++i) {
|
|
123
122
|
{
|
|
124
123
|
std::string value;
|
|
@@ -146,7 +145,8 @@ TEST_P(DBRateLimiterOnReadTest, NewMultiGet) {
|
|
|
146
145
|
}
|
|
147
146
|
Init();
|
|
148
147
|
|
|
149
|
-
|
|
148
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
149
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
150
150
|
|
|
151
151
|
const int kNumKeys = kNumFiles * kNumKeysPerFile;
|
|
152
152
|
{
|
|
@@ -166,7 +166,7 @@ TEST_P(DBRateLimiterOnReadTest, NewMultiGet) {
|
|
|
166
166
|
ASSERT_TRUE(statuses[i].IsNotSupported());
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
|
-
ASSERT_EQ(
|
|
169
|
+
ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
TEST_P(DBRateLimiterOnReadTest, OldMultiGet) {
|
|
@@ -177,10 +177,10 @@ TEST_P(DBRateLimiterOnReadTest, OldMultiGet) {
|
|
|
177
177
|
}
|
|
178
178
|
Init();
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
181
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
181
182
|
|
|
182
183
|
const int kNumKeys = kNumFiles * kNumKeysPerFile;
|
|
183
|
-
int expected = 0;
|
|
184
184
|
{
|
|
185
185
|
std::vector<std::string> key_bufs;
|
|
186
186
|
key_bufs.reserve(kNumKeys);
|
|
@@ -207,10 +207,10 @@ TEST_P(DBRateLimiterOnReadTest, Iterator) {
|
|
|
207
207
|
}
|
|
208
208
|
Init();
|
|
209
209
|
|
|
210
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
211
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
210
212
|
std::unique_ptr<Iterator> iter(db_->NewIterator(GetReadOptions()));
|
|
211
|
-
ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
|
|
212
213
|
|
|
213
|
-
int expected = 0;
|
|
214
214
|
for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
|
|
215
215
|
++expected;
|
|
216
216
|
ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
|
|
@@ -236,12 +236,12 @@ TEST_P(DBRateLimiterOnReadTest, VerifyChecksum) {
|
|
|
236
236
|
return;
|
|
237
237
|
}
|
|
238
238
|
Init();
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
240
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
241
241
|
|
|
242
242
|
ASSERT_OK(db_->VerifyChecksum(GetReadOptions()));
|
|
243
243
|
// The files are tiny so there should have just been one read per file.
|
|
244
|
-
|
|
244
|
+
expected += kNumFiles;
|
|
245
245
|
ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
|
|
246
246
|
}
|
|
247
247
|
|
|
@@ -251,11 +251,12 @@ TEST_P(DBRateLimiterOnReadTest, VerifyFileChecksums) {
|
|
|
251
251
|
}
|
|
252
252
|
Init();
|
|
253
253
|
|
|
254
|
-
|
|
254
|
+
// In Init(), compaction may request tokens for `Env::IO_USER`.
|
|
255
|
+
int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
|
|
255
256
|
|
|
256
257
|
ASSERT_OK(db_->VerifyFileChecksums(GetReadOptions()));
|
|
257
258
|
// The files are tiny so there should have just been one read per file.
|
|
258
|
-
|
|
259
|
+
expected += kNumFiles;
|
|
259
260
|
ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
|
|
260
261
|
}
|
|
261
262
|
|
|
@@ -212,20 +212,20 @@ TEST_F(DBSecondaryTest, InternalCompactionMultiLevels) {
|
|
|
212
212
|
const int kRangeL2 = 10;
|
|
213
213
|
const int kRangeL1 = 30;
|
|
214
214
|
for (int i = 0; i < 10; i++) {
|
|
215
|
-
ASSERT_OK(Put(Key(i * kRangeL2), "value" +
|
|
216
|
-
ASSERT_OK(Put(Key((i + 1) * kRangeL2 - 1), "value" +
|
|
215
|
+
ASSERT_OK(Put(Key(i * kRangeL2), "value" + std::to_string(i)));
|
|
216
|
+
ASSERT_OK(Put(Key((i + 1) * kRangeL2 - 1), "value" + std::to_string(i)));
|
|
217
217
|
ASSERT_OK(Flush());
|
|
218
218
|
}
|
|
219
219
|
MoveFilesToLevel(2);
|
|
220
220
|
for (int i = 0; i < 5; i++) {
|
|
221
|
-
ASSERT_OK(Put(Key(i * kRangeL1), "value" +
|
|
222
|
-
ASSERT_OK(Put(Key((i + 1) * kRangeL1 - 1), "value" +
|
|
221
|
+
ASSERT_OK(Put(Key(i * kRangeL1), "value" + std::to_string(i)));
|
|
222
|
+
ASSERT_OK(Put(Key((i + 1) * kRangeL1 - 1), "value" + std::to_string(i)));
|
|
223
223
|
ASSERT_OK(Flush());
|
|
224
224
|
}
|
|
225
225
|
MoveFilesToLevel(1);
|
|
226
226
|
for (int i = 0; i < 4; i++) {
|
|
227
|
-
ASSERT_OK(Put(Key(i * 30), "value" +
|
|
228
|
-
ASSERT_OK(Put(Key(i * 30 + 50), "value" +
|
|
227
|
+
ASSERT_OK(Put(Key(i * 30), "value" + std::to_string(i)));
|
|
228
|
+
ASSERT_OK(Put(Key(i * 30 + 50), "value" + std::to_string(i)));
|
|
229
229
|
ASSERT_OK(Flush());
|
|
230
230
|
}
|
|
231
231
|
|
|
@@ -280,6 +280,58 @@ TEST_F(DBSSTTest, DeleteObsoleteFilesPendingOutputs) {
|
|
|
280
280
|
listener->VerifyMatchedCount(1);
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
+
// Test that producing an empty .sst file does not write it out to
|
|
284
|
+
// disk, and that the DeleteFile() env method is not called for
|
|
285
|
+
// removing the non-existing file later.
|
|
286
|
+
TEST_F(DBSSTTest, DeleteFileNotCalledForNotCreatedSSTFile) {
|
|
287
|
+
Options options = CurrentOptions();
|
|
288
|
+
options.env = env_;
|
|
289
|
+
|
|
290
|
+
OnFileDeletionListener* listener = new OnFileDeletionListener();
|
|
291
|
+
options.listeners.emplace_back(listener);
|
|
292
|
+
|
|
293
|
+
Reopen(options);
|
|
294
|
+
|
|
295
|
+
// Flush the empty database.
|
|
296
|
+
ASSERT_OK(Flush());
|
|
297
|
+
ASSERT_EQ("", FilesPerLevel(0));
|
|
298
|
+
|
|
299
|
+
// We expect no .sst files.
|
|
300
|
+
std::vector<LiveFileMetaData> metadata;
|
|
301
|
+
db_->GetLiveFilesMetaData(&metadata);
|
|
302
|
+
ASSERT_EQ(metadata.size(), 0U);
|
|
303
|
+
|
|
304
|
+
// We expect no file deletions.
|
|
305
|
+
listener->VerifyMatchedCount(0);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// Test that producing a non-empty .sst file does write it out to
|
|
309
|
+
// disk, and that the DeleteFile() env method is not called for removing
|
|
310
|
+
// the file later.
|
|
311
|
+
TEST_F(DBSSTTest, DeleteFileNotCalledForCreatedSSTFile) {
|
|
312
|
+
Options options = CurrentOptions();
|
|
313
|
+
options.env = env_;
|
|
314
|
+
|
|
315
|
+
OnFileDeletionListener* listener = new OnFileDeletionListener();
|
|
316
|
+
options.listeners.emplace_back(listener);
|
|
317
|
+
|
|
318
|
+
Reopen(options);
|
|
319
|
+
|
|
320
|
+
ASSERT_OK(Put("pika", "choo"));
|
|
321
|
+
|
|
322
|
+
// Flush the non-empty database.
|
|
323
|
+
ASSERT_OK(Flush());
|
|
324
|
+
ASSERT_EQ("1", FilesPerLevel(0));
|
|
325
|
+
|
|
326
|
+
// We expect 1 .sst files.
|
|
327
|
+
std::vector<LiveFileMetaData> metadata;
|
|
328
|
+
db_->GetLiveFilesMetaData(&metadata);
|
|
329
|
+
ASSERT_EQ(metadata.size(), 1U);
|
|
330
|
+
|
|
331
|
+
// We expect no file deletions.
|
|
332
|
+
listener->VerifyMatchedCount(0);
|
|
333
|
+
}
|
|
334
|
+
|
|
283
335
|
TEST_F(DBSSTTest, DBWithSstFileManager) {
|
|
284
336
|
std::shared_ptr<SstFileManager> sst_file_manager(NewSstFileManager(env_));
|
|
285
337
|
auto sfm = static_cast<SstFileManagerImpl*>(sst_file_manager.get());
|
|
@@ -947,7 +999,7 @@ TEST_F(DBSSTTest, DeleteSchedulerMultipleDBPaths) {
|
|
|
947
999
|
|
|
948
1000
|
// Create 4 files in L0
|
|
949
1001
|
for (int i = 0; i < 4; i++) {
|
|
950
|
-
ASSERT_OK(Put("Key" +
|
|
1002
|
+
ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'A'), wo));
|
|
951
1003
|
ASSERT_OK(Flush());
|
|
952
1004
|
}
|
|
953
1005
|
// We created 4 sst files in L0
|
|
@@ -963,7 +1015,7 @@ TEST_F(DBSSTTest, DeleteSchedulerMultipleDBPaths) {
|
|
|
963
1015
|
|
|
964
1016
|
// Create 4 files in L0
|
|
965
1017
|
for (int i = 4; i < 8; i++) {
|
|
966
|
-
ASSERT_OK(Put("Key" +
|
|
1018
|
+
ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'B'), wo));
|
|
967
1019
|
ASSERT_OK(Flush());
|
|
968
1020
|
}
|
|
969
1021
|
ASSERT_EQ("4,1", FilesPerLevel(0));
|
|
@@ -1009,7 +1061,7 @@ TEST_F(DBSSTTest, DestroyDBWithRateLimitedDelete) {
|
|
|
1009
1061
|
|
|
1010
1062
|
// Create 4 files in L0
|
|
1011
1063
|
for (int i = 0; i < 4; i++) {
|
|
1012
|
-
ASSERT_OK(Put("Key" +
|
|
1064
|
+
ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'A')));
|
|
1013
1065
|
ASSERT_OK(Flush());
|
|
1014
1066
|
}
|
|
1015
1067
|
// We created 4 sst files in L0
|
|
@@ -1396,7 +1448,9 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFiles) {
|
|
|
1396
1448
|
}
|
|
1397
1449
|
|
|
1398
1450
|
TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
|
|
1399
|
-
for (
|
|
1451
|
+
for (CacheEntryRoleOptions::Decision charge_table_reader :
|
|
1452
|
+
{CacheEntryRoleOptions::Decision::kEnabled,
|
|
1453
|
+
CacheEntryRoleOptions::Decision::kDisabled}) {
|
|
1400
1454
|
// Open DB with infinite max open files
|
|
1401
1455
|
// - First iteration use 1 thread to open files
|
|
1402
1456
|
// - Second iteration use 5 threads to open files
|
|
@@ -1436,7 +1490,9 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
|
|
|
1436
1490
|
}
|
|
1437
1491
|
Close();
|
|
1438
1492
|
|
|
1439
|
-
table_options.
|
|
1493
|
+
table_options.cache_usage_options.options_overrides.insert(
|
|
1494
|
+
{CacheEntryRole::kBlockBasedTableReader,
|
|
1495
|
+
{/*.charged = */ charge_table_reader}});
|
|
1440
1496
|
table_options.block_cache =
|
|
1441
1497
|
NewLRUCache(1024 /* capacity */, 0 /* num_shard_bits */,
|
|
1442
1498
|
true /* strict_capacity_limit */);
|
|
@@ -1445,8 +1501,13 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
|
|
|
1445
1501
|
// Reopening the DB will try to load all existing files, conditionally
|
|
1446
1502
|
// subject to memory limit
|
|
1447
1503
|
Status s = TryReopen(options);
|
|
1448
|
-
|
|
1504
|
+
|
|
1505
|
+
if (charge_table_reader == CacheEntryRoleOptions::Decision::kEnabled) {
|
|
1449
1506
|
EXPECT_TRUE(s.IsMemoryLimit());
|
|
1507
|
+
EXPECT_TRUE(s.ToString().find(
|
|
1508
|
+
kCacheEntryRoleToCamelString[static_cast<std::uint32_t>(
|
|
1509
|
+
CacheEntryRole::kBlockBasedTableReader)]) !=
|
|
1510
|
+
std::string::npos);
|
|
1450
1511
|
EXPECT_TRUE(s.ToString().find("memory limit based on cache capacity") !=
|
|
1451
1512
|
std::string::npos);
|
|
1452
1513
|
|
|
@@ -1478,7 +1539,7 @@ TEST_F(DBSSTTest, GetTotalSstFilesSize) {
|
|
|
1478
1539
|
// Generate 5 files in L0
|
|
1479
1540
|
for (int i = 0; i < 5; i++) {
|
|
1480
1541
|
for (int j = 0; j < 10; j++) {
|
|
1481
|
-
std::string val = "val_file_" +
|
|
1542
|
+
std::string val = "val_file_" + std::to_string(i);
|
|
1482
1543
|
ASSERT_OK(Put(Key(j), val));
|
|
1483
1544
|
}
|
|
1484
1545
|
ASSERT_OK(Flush());
|