@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
|
@@ -24,7 +24,7 @@ class CompactorCommand : public LDBCommand {
|
|
|
24
24
|
|
|
25
25
|
static void Help(std::string& ret);
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
void DoCommand() override;
|
|
28
28
|
|
|
29
29
|
private:
|
|
30
30
|
bool null_from_;
|
|
@@ -43,10 +43,11 @@ class DBFileDumperCommand : public LDBCommand {
|
|
|
43
43
|
|
|
44
44
|
static void Help(std::string& ret);
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
void DoCommand() override;
|
|
47
47
|
|
|
48
48
|
private:
|
|
49
49
|
bool decode_blob_index_;
|
|
50
|
+
bool dump_uncompressed_blobs_;
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
class DBLiveFilesMetadataDumperCommand : public LDBCommand {
|
|
@@ -60,7 +61,7 @@ class DBLiveFilesMetadataDumperCommand : public LDBCommand {
|
|
|
60
61
|
|
|
61
62
|
static void Help(std::string& ret);
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
void DoCommand() override;
|
|
64
65
|
|
|
65
66
|
private:
|
|
66
67
|
bool sort_by_filename_;
|
|
@@ -78,7 +79,7 @@ class DBDumperCommand : public LDBCommand {
|
|
|
78
79
|
|
|
79
80
|
static void Help(std::string& ret);
|
|
80
81
|
|
|
81
|
-
|
|
82
|
+
void DoCommand() override;
|
|
82
83
|
|
|
83
84
|
private:
|
|
84
85
|
/**
|
|
@@ -107,6 +108,8 @@ class DBDumperCommand : public LDBCommand {
|
|
|
107
108
|
bool count_delim_;
|
|
108
109
|
bool print_stats_;
|
|
109
110
|
std::string path_;
|
|
111
|
+
bool decode_blob_index_;
|
|
112
|
+
bool dump_uncompressed_blobs_;
|
|
110
113
|
|
|
111
114
|
static const std::string ARG_COUNT_ONLY;
|
|
112
115
|
static const std::string ARG_COUNT_DELIM;
|
|
@@ -124,7 +127,7 @@ class InternalDumpCommand : public LDBCommand {
|
|
|
124
127
|
|
|
125
128
|
static void Help(std::string& ret);
|
|
126
129
|
|
|
127
|
-
|
|
130
|
+
void DoCommand() override;
|
|
128
131
|
|
|
129
132
|
private:
|
|
130
133
|
bool has_from_;
|
|
@@ -137,6 +140,7 @@ class InternalDumpCommand : public LDBCommand {
|
|
|
137
140
|
bool count_delim_;
|
|
138
141
|
bool print_stats_;
|
|
139
142
|
bool is_input_key_hex_;
|
|
143
|
+
bool decode_blob_index_;
|
|
140
144
|
|
|
141
145
|
static const std::string ARG_DELIM;
|
|
142
146
|
static const std::string ARG_COUNT_ONLY;
|
|
@@ -156,9 +160,10 @@ class DBLoaderCommand : public LDBCommand {
|
|
|
156
160
|
const std::vector<std::string>& flags);
|
|
157
161
|
|
|
158
162
|
static void Help(std::string& ret);
|
|
159
|
-
virtual void DoCommand() override;
|
|
160
163
|
|
|
161
|
-
|
|
164
|
+
void DoCommand() override;
|
|
165
|
+
|
|
166
|
+
void OverrideBaseOptions() override;
|
|
162
167
|
|
|
163
168
|
private:
|
|
164
169
|
bool disable_wal_;
|
|
@@ -179,9 +184,10 @@ class ManifestDumpCommand : public LDBCommand {
|
|
|
179
184
|
const std::vector<std::string>& flags);
|
|
180
185
|
|
|
181
186
|
static void Help(std::string& ret);
|
|
182
|
-
virtual void DoCommand() override;
|
|
183
187
|
|
|
184
|
-
|
|
188
|
+
void DoCommand() override;
|
|
189
|
+
|
|
190
|
+
bool NoDBOpen() override { return true; }
|
|
185
191
|
|
|
186
192
|
private:
|
|
187
193
|
bool verbose_;
|
|
@@ -259,9 +265,10 @@ class ListColumnFamiliesCommand : public LDBCommand {
|
|
|
259
265
|
const std::vector<std::string>& flags);
|
|
260
266
|
|
|
261
267
|
static void Help(std::string& ret);
|
|
262
|
-
virtual void DoCommand() override;
|
|
263
268
|
|
|
264
|
-
|
|
269
|
+
void DoCommand() override;
|
|
270
|
+
|
|
271
|
+
bool NoDBOpen() override { return true; }
|
|
265
272
|
};
|
|
266
273
|
|
|
267
274
|
class CreateColumnFamilyCommand : public LDBCommand {
|
|
@@ -273,9 +280,10 @@ class CreateColumnFamilyCommand : public LDBCommand {
|
|
|
273
280
|
const std::vector<std::string>& flags);
|
|
274
281
|
|
|
275
282
|
static void Help(std::string& ret);
|
|
276
|
-
virtual void DoCommand() override;
|
|
277
283
|
|
|
278
|
-
|
|
284
|
+
void DoCommand() override;
|
|
285
|
+
|
|
286
|
+
bool NoDBOpen() override { return false; }
|
|
279
287
|
|
|
280
288
|
private:
|
|
281
289
|
std::string new_cf_name_;
|
|
@@ -290,9 +298,10 @@ class DropColumnFamilyCommand : public LDBCommand {
|
|
|
290
298
|
const std::vector<std::string>& flags);
|
|
291
299
|
|
|
292
300
|
static void Help(std::string& ret);
|
|
293
|
-
virtual void DoCommand() override;
|
|
294
301
|
|
|
295
|
-
|
|
302
|
+
void DoCommand() override;
|
|
303
|
+
|
|
304
|
+
bool NoDBOpen() override { return false; }
|
|
296
305
|
|
|
297
306
|
private:
|
|
298
307
|
std::string cf_name_to_drop_;
|
|
@@ -306,11 +315,11 @@ class ReduceDBLevelsCommand : public LDBCommand {
|
|
|
306
315
|
const std::map<std::string, std::string>& options,
|
|
307
316
|
const std::vector<std::string>& flags);
|
|
308
317
|
|
|
309
|
-
|
|
318
|
+
void OverrideBaseCFOptions(ColumnFamilyOptions* cf_opts) override;
|
|
310
319
|
|
|
311
|
-
|
|
320
|
+
void DoCommand() override;
|
|
312
321
|
|
|
313
|
-
|
|
322
|
+
bool NoDBOpen() override { return true; }
|
|
314
323
|
|
|
315
324
|
static void Help(std::string& msg);
|
|
316
325
|
|
|
@@ -338,9 +347,9 @@ class ChangeCompactionStyleCommand : public LDBCommand {
|
|
|
338
347
|
const std::map<std::string, std::string>& options,
|
|
339
348
|
const std::vector<std::string>& flags);
|
|
340
349
|
|
|
341
|
-
|
|
350
|
+
void OverrideBaseCFOptions(ColumnFamilyOptions* cf_opts) override;
|
|
342
351
|
|
|
343
|
-
|
|
352
|
+
void DoCommand() override;
|
|
344
353
|
|
|
345
354
|
static void Help(std::string& msg);
|
|
346
355
|
|
|
@@ -360,10 +369,11 @@ class WALDumperCommand : public LDBCommand {
|
|
|
360
369
|
const std::map<std::string, std::string>& options,
|
|
361
370
|
const std::vector<std::string>& flags);
|
|
362
371
|
|
|
363
|
-
|
|
372
|
+
bool NoDBOpen() override { return true; }
|
|
364
373
|
|
|
365
374
|
static void Help(std::string& ret);
|
|
366
|
-
|
|
375
|
+
|
|
376
|
+
void DoCommand() override;
|
|
367
377
|
|
|
368
378
|
private:
|
|
369
379
|
bool print_header_;
|
|
@@ -385,7 +395,7 @@ class GetCommand : public LDBCommand {
|
|
|
385
395
|
const std::map<std::string, std::string>& options,
|
|
386
396
|
const std::vector<std::string>& flags);
|
|
387
397
|
|
|
388
|
-
|
|
398
|
+
void DoCommand() override;
|
|
389
399
|
|
|
390
400
|
static void Help(std::string& ret);
|
|
391
401
|
|
|
@@ -401,7 +411,7 @@ class ApproxSizeCommand : public LDBCommand {
|
|
|
401
411
|
const std::map<std::string, std::string>& options,
|
|
402
412
|
const std::vector<std::string>& flags);
|
|
403
413
|
|
|
404
|
-
|
|
414
|
+
void DoCommand() override;
|
|
405
415
|
|
|
406
416
|
static void Help(std::string& ret);
|
|
407
417
|
|
|
@@ -418,11 +428,11 @@ class BatchPutCommand : public LDBCommand {
|
|
|
418
428
|
const std::map<std::string, std::string>& options,
|
|
419
429
|
const std::vector<std::string>& flags);
|
|
420
430
|
|
|
421
|
-
|
|
431
|
+
void DoCommand() override;
|
|
422
432
|
|
|
423
433
|
static void Help(std::string& ret);
|
|
424
434
|
|
|
425
|
-
|
|
435
|
+
void OverrideBaseOptions() override;
|
|
426
436
|
|
|
427
437
|
private:
|
|
428
438
|
/**
|
|
@@ -439,7 +449,7 @@ class ScanCommand : public LDBCommand {
|
|
|
439
449
|
const std::map<std::string, std::string>& options,
|
|
440
450
|
const std::vector<std::string>& flags);
|
|
441
451
|
|
|
442
|
-
|
|
452
|
+
void DoCommand() override;
|
|
443
453
|
|
|
444
454
|
static void Help(std::string& ret);
|
|
445
455
|
|
|
@@ -460,7 +470,23 @@ class DeleteCommand : public LDBCommand {
|
|
|
460
470
|
const std::map<std::string, std::string>& options,
|
|
461
471
|
const std::vector<std::string>& flags);
|
|
462
472
|
|
|
463
|
-
|
|
473
|
+
void DoCommand() override;
|
|
474
|
+
|
|
475
|
+
static void Help(std::string& ret);
|
|
476
|
+
|
|
477
|
+
private:
|
|
478
|
+
std::string key_;
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
class SingleDeleteCommand : public LDBCommand {
|
|
482
|
+
public:
|
|
483
|
+
static std::string Name() { return "singledelete"; }
|
|
484
|
+
|
|
485
|
+
SingleDeleteCommand(const std::vector<std::string>& params,
|
|
486
|
+
const std::map<std::string, std::string>& options,
|
|
487
|
+
const std::vector<std::string>& flags);
|
|
488
|
+
|
|
489
|
+
void DoCommand() override;
|
|
464
490
|
|
|
465
491
|
static void Help(std::string& ret);
|
|
466
492
|
|
|
@@ -476,7 +502,7 @@ class DeleteRangeCommand : public LDBCommand {
|
|
|
476
502
|
const std::map<std::string, std::string>& options,
|
|
477
503
|
const std::vector<std::string>& flags);
|
|
478
504
|
|
|
479
|
-
|
|
505
|
+
void DoCommand() override;
|
|
480
506
|
|
|
481
507
|
static void Help(std::string& ret);
|
|
482
508
|
|
|
@@ -493,11 +519,11 @@ class PutCommand : public LDBCommand {
|
|
|
493
519
|
const std::map<std::string, std::string>& options,
|
|
494
520
|
const std::vector<std::string>& flags);
|
|
495
521
|
|
|
496
|
-
|
|
522
|
+
void DoCommand() override;
|
|
497
523
|
|
|
498
524
|
static void Help(std::string& ret);
|
|
499
525
|
|
|
500
|
-
|
|
526
|
+
void OverrideBaseOptions() override;
|
|
501
527
|
|
|
502
528
|
private:
|
|
503
529
|
std::string key_;
|
|
@@ -518,7 +544,7 @@ class DBQuerierCommand : public LDBCommand {
|
|
|
518
544
|
|
|
519
545
|
static void Help(std::string& ret);
|
|
520
546
|
|
|
521
|
-
|
|
547
|
+
void DoCommand() override;
|
|
522
548
|
|
|
523
549
|
private:
|
|
524
550
|
static const char* HELP_CMD;
|
|
@@ -535,9 +561,9 @@ class CheckConsistencyCommand : public LDBCommand {
|
|
|
535
561
|
const std::map<std::string, std::string>& options,
|
|
536
562
|
const std::vector<std::string>& flags);
|
|
537
563
|
|
|
538
|
-
|
|
564
|
+
void DoCommand() override;
|
|
539
565
|
|
|
540
|
-
|
|
566
|
+
bool NoDBOpen() override { return true; }
|
|
541
567
|
|
|
542
568
|
static void Help(std::string& ret);
|
|
543
569
|
};
|
|
@@ -550,7 +576,7 @@ class CheckPointCommand : public LDBCommand {
|
|
|
550
576
|
const std::map<std::string, std::string>& options,
|
|
551
577
|
const std::vector<std::string>& flags);
|
|
552
578
|
|
|
553
|
-
|
|
579
|
+
void DoCommand() override;
|
|
554
580
|
|
|
555
581
|
static void Help(std::string& ret);
|
|
556
582
|
|
|
@@ -567,11 +593,11 @@ class RepairCommand : public LDBCommand {
|
|
|
567
593
|
const std::map<std::string, std::string>& options,
|
|
568
594
|
const std::vector<std::string>& flags);
|
|
569
595
|
|
|
570
|
-
|
|
596
|
+
void DoCommand() override;
|
|
571
597
|
|
|
572
|
-
|
|
598
|
+
bool NoDBOpen() override { return true; }
|
|
573
599
|
|
|
574
|
-
|
|
600
|
+
void OverrideBaseOptions() override;
|
|
575
601
|
|
|
576
602
|
static void Help(std::string& ret);
|
|
577
603
|
|
|
@@ -611,7 +637,7 @@ class BackupCommand : public BackupEngineCommand {
|
|
|
611
637
|
BackupCommand(const std::vector<std::string>& params,
|
|
612
638
|
const std::map<std::string, std::string>& options,
|
|
613
639
|
const std::vector<std::string>& flags);
|
|
614
|
-
|
|
640
|
+
void DoCommand() override;
|
|
615
641
|
static void Help(std::string& ret);
|
|
616
642
|
};
|
|
617
643
|
|
|
@@ -621,8 +647,8 @@ class RestoreCommand : public BackupEngineCommand {
|
|
|
621
647
|
RestoreCommand(const std::vector<std::string>& params,
|
|
622
648
|
const std::map<std::string, std::string>& options,
|
|
623
649
|
const std::vector<std::string>& flags);
|
|
624
|
-
|
|
625
|
-
|
|
650
|
+
void DoCommand() override;
|
|
651
|
+
bool NoDBOpen() override { return true; }
|
|
626
652
|
static void Help(std::string& ret);
|
|
627
653
|
};
|
|
628
654
|
|
|
@@ -634,11 +660,11 @@ class WriteExternalSstFilesCommand : public LDBCommand {
|
|
|
634
660
|
const std::map<std::string, std::string>& options,
|
|
635
661
|
const std::vector<std::string>& flags);
|
|
636
662
|
|
|
637
|
-
|
|
663
|
+
void DoCommand() override;
|
|
638
664
|
|
|
639
|
-
|
|
665
|
+
bool NoDBOpen() override { return false; }
|
|
640
666
|
|
|
641
|
-
|
|
667
|
+
void OverrideBaseOptions() override;
|
|
642
668
|
|
|
643
669
|
static void Help(std::string& ret);
|
|
644
670
|
|
|
@@ -654,11 +680,11 @@ class IngestExternalSstFilesCommand : public LDBCommand {
|
|
|
654
680
|
const std::map<std::string, std::string>& options,
|
|
655
681
|
const std::vector<std::string>& flags);
|
|
656
682
|
|
|
657
|
-
|
|
683
|
+
void DoCommand() override;
|
|
658
684
|
|
|
659
|
-
|
|
685
|
+
bool NoDBOpen() override { return false; }
|
|
660
686
|
|
|
661
|
-
|
|
687
|
+
void OverrideBaseOptions() override;
|
|
662
688
|
|
|
663
689
|
static void Help(std::string& ret);
|
|
664
690
|
|
|
@@ -706,9 +732,9 @@ class UnsafeRemoveSstFileCommand : public LDBCommand {
|
|
|
706
732
|
|
|
707
733
|
static void Help(std::string& ret);
|
|
708
734
|
|
|
709
|
-
|
|
735
|
+
void DoCommand() override;
|
|
710
736
|
|
|
711
|
-
|
|
737
|
+
bool NoDBOpen() override { return true; }
|
|
712
738
|
|
|
713
739
|
private:
|
|
714
740
|
uint64_t sst_file_number_;
|
|
@@ -244,7 +244,7 @@ class FileChecksumTestHelper {
|
|
|
244
244
|
live_files[i].file_checksum_func_name != stored_func_name) {
|
|
245
245
|
return Status::Corruption(
|
|
246
246
|
"Checksum does not match! The file: " +
|
|
247
|
-
|
|
247
|
+
std::to_string(live_files[i].file_number) +
|
|
248
248
|
". In Manifest, checksum name: " + stored_func_name +
|
|
249
249
|
" and checksum " + stored_checksum +
|
|
250
250
|
". However, expected checksum name: " +
|
|
@@ -937,7 +937,7 @@ TEST_F(LdbCmdTest, UnsafeRemoveSstFile) {
|
|
|
937
937
|
|
|
938
938
|
// Create three SST files
|
|
939
939
|
for (size_t i = 0; i < 3; ++i) {
|
|
940
|
-
ASSERT_OK(db->Put(WriteOptions(),
|
|
940
|
+
ASSERT_OK(db->Put(WriteOptions(), std::to_string(i), std::to_string(i)));
|
|
941
941
|
ASSERT_OK(db->Flush(FlushOptions()));
|
|
942
942
|
}
|
|
943
943
|
|
|
@@ -985,7 +985,8 @@ TEST_F(LdbCmdTest, UnsafeRemoveSstFile) {
|
|
|
985
985
|
ColumnFamilyOptions cf_opts;
|
|
986
986
|
ASSERT_OK(db->CreateColumnFamily(cf_opts, "cf1", &cf_handle));
|
|
987
987
|
for (size_t i = 3; i < 5; ++i) {
|
|
988
|
-
ASSERT_OK(db->Put(WriteOptions(), cf_handle,
|
|
988
|
+
ASSERT_OK(db->Put(WriteOptions(), cf_handle, std::to_string(i),
|
|
989
|
+
std::to_string(i)));
|
|
989
990
|
ASSERT_OK(db->Flush(FlushOptions(), cf_handle));
|
|
990
991
|
}
|
|
991
992
|
|
|
@@ -1048,7 +1049,7 @@ TEST_F(LdbCmdTest, FileTemperatureUpdateManifest) {
|
|
|
1048
1049
|
Temperature::kWarm, Temperature::kCold};
|
|
1049
1050
|
std::map<uint64_t, Temperature> number_to_temp;
|
|
1050
1051
|
for (size_t i = 0; i < kTestTemps.size(); ++i) {
|
|
1051
|
-
ASSERT_OK(db->Put(WriteOptions(),
|
|
1052
|
+
ASSERT_OK(db->Put(WriteOptions(), std::to_string(i), std::to_string(i)));
|
|
1052
1053
|
ASSERT_OK(db->Flush(FlushOptions()));
|
|
1053
1054
|
|
|
1054
1055
|
std::map<uint64_t, Temperature> current_temps;
|
|
@@ -1069,8 +1070,8 @@ TEST_F(LdbCmdTest, FileTemperatureUpdateManifest) {
|
|
|
1069
1070
|
|
|
1070
1071
|
for (size_t i = 0; i < kTestTemps.size(); ++i) {
|
|
1071
1072
|
std::string val;
|
|
1072
|
-
ASSERT_OK(db->Get(ReadOptions(),
|
|
1073
|
-
ASSERT_EQ(val,
|
|
1073
|
+
ASSERT_OK(db->Get(ReadOptions(), std::to_string(i), &val));
|
|
1074
|
+
ASSERT_EQ(val, std::to_string(i));
|
|
1074
1075
|
}
|
|
1075
1076
|
|
|
1076
1077
|
// Still all unknown
|
|
@@ -1101,8 +1102,8 @@ TEST_F(LdbCmdTest, FileTemperatureUpdateManifest) {
|
|
|
1101
1102
|
|
|
1102
1103
|
for (size_t i = 0; i < kTestTemps.size(); ++i) {
|
|
1103
1104
|
std::string val;
|
|
1104
|
-
ASSERT_OK(db->Get(ReadOptions(),
|
|
1105
|
-
ASSERT_EQ(val,
|
|
1105
|
+
ASSERT_OK(db->Get(ReadOptions(), std::to_string(i), &val));
|
|
1106
|
+
ASSERT_EQ(val, std::to_string(i));
|
|
1106
1107
|
}
|
|
1107
1108
|
|
|
1108
1109
|
requests.clear();
|
|
@@ -50,7 +50,10 @@ void LDBCommandRunner::PrintHelp(const LDBOptions& ldb_options,
|
|
|
50
50
|
" with 'put','get','scan','dump','query','batchput'"
|
|
51
51
|
" : DB supports ttl and value is internally timestamp-suffixed\n");
|
|
52
52
|
ret.append(" --" + LDBCommand::ARG_TRY_LOAD_OPTIONS +
|
|
53
|
-
" : Try to load option file from DB
|
|
53
|
+
" : Try to load option file from DB. Default to true if " +
|
|
54
|
+
LDBCommand::ARG_DB +
|
|
55
|
+
" is specified and not creating a new DB and not open as TTL DB. "
|
|
56
|
+
"Can be set to false explicitly.\n");
|
|
54
57
|
ret.append(" --" + LDBCommand::ARG_DISABLE_CONSISTENCY_CHECKS +
|
|
55
58
|
" : Set options.force_consistency_checks = false.\n");
|
|
56
59
|
ret.append(" --" + LDBCommand::ARG_IGNORE_UNKNOWN_OPTIONS +
|
|
@@ -70,8 +70,8 @@ public:
|
|
|
70
70
|
|
|
71
71
|
int FilesOnLevel(int level) {
|
|
72
72
|
std::string property;
|
|
73
|
-
EXPECT_TRUE(db_->GetProperty(
|
|
74
|
-
|
|
73
|
+
EXPECT_TRUE(db_->GetProperty(
|
|
74
|
+
"rocksdb.num-files-at-level" + std::to_string(level), &property));
|
|
75
75
|
return atoi(property.c_str());
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
#include <cinttypes>
|
|
11
11
|
#include <iostream>
|
|
12
12
|
|
|
13
|
+
#include "options/options_helper.h"
|
|
13
14
|
#include "port/port.h"
|
|
15
|
+
#include "rocksdb/convenience.h"
|
|
14
16
|
#include "rocksdb/utilities/ldb_cmd.h"
|
|
15
17
|
#include "table/sst_file_dumper.h"
|
|
16
18
|
|
|
@@ -30,6 +32,16 @@ static const std::vector<std::pair<CompressionType, const char*>>
|
|
|
30
32
|
namespace {
|
|
31
33
|
|
|
32
34
|
void print_help(bool to_stderr) {
|
|
35
|
+
std::string supported_compressions;
|
|
36
|
+
for (CompressionType ct : GetSupportedCompressions()) {
|
|
37
|
+
if (!supported_compressions.empty()) {
|
|
38
|
+
supported_compressions += ", ";
|
|
39
|
+
}
|
|
40
|
+
std::string str;
|
|
41
|
+
Status s = GetStringFromCompressionType(&str, ct);
|
|
42
|
+
assert(s.ok());
|
|
43
|
+
supported_compressions += str;
|
|
44
|
+
}
|
|
33
45
|
fprintf(
|
|
34
46
|
to_stderr ? stderr : stdout,
|
|
35
47
|
R"(sst_dump --file=<data_dir_OR_sst_file> [--command=check|scan|raw|recompress|identify]
|
|
@@ -88,6 +100,7 @@ void print_help(bool to_stderr) {
|
|
|
88
100
|
kSnappyCompression>
|
|
89
101
|
Can be combined with --command=recompress to run recompression for this
|
|
90
102
|
list of compression types
|
|
103
|
+
Supported compression types: %s
|
|
91
104
|
|
|
92
105
|
--parse_internal_key=<0xKEY>
|
|
93
106
|
Convenience option to parse an internal key on the command line. Dumps the
|
|
@@ -109,7 +122,8 @@ void print_help(bool to_stderr) {
|
|
|
109
122
|
|
|
110
123
|
--compression_max_dict_buffer_bytes=<int64_t>
|
|
111
124
|
Limit on buffer size from which we collect samples for dictionary generation.
|
|
112
|
-
)"
|
|
125
|
+
)",
|
|
126
|
+
supported_compressions.c_str());
|
|
113
127
|
}
|
|
114
128
|
|
|
115
129
|
// arg_name would include all prefix, e.g. "--my_arg="
|
|
@@ -268,7 +282,7 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
|
|
|
268
282
|
} else if (ParseIntArg(argv[i], "--compression_max_dict_bytes=",
|
|
269
283
|
"compression_max_dict_bytes must be numeric",
|
|
270
284
|
&tmp_val)) {
|
|
271
|
-
if (tmp_val < 0 || tmp_val >
|
|
285
|
+
if (tmp_val < 0 || tmp_val > std::numeric_limits<uint32_t>::max()) {
|
|
272
286
|
fprintf(stderr, "compression_max_dict_bytes must be a uint32_t: '%s'\n",
|
|
273
287
|
argv[i]);
|
|
274
288
|
print_help(/*to_stderr*/ true);
|
|
@@ -278,7 +292,7 @@ int SSTDumpTool::Run(int argc, char const* const* argv, Options options) {
|
|
|
278
292
|
} else if (ParseIntArg(argv[i], "--compression_zstd_max_train_bytes=",
|
|
279
293
|
"compression_zstd_max_train_bytes must be numeric",
|
|
280
294
|
&tmp_val)) {
|
|
281
|
-
if (tmp_val < 0 || tmp_val >
|
|
295
|
+
if (tmp_val < 0 || tmp_val > std::numeric_limits<uint32_t>::max()) {
|
|
282
296
|
fprintf(stderr,
|
|
283
297
|
"compression_zstd_max_train_bytes must be a uint32_t: '%s'\n",
|
|
284
298
|
argv[i]);
|
|
@@ -190,7 +190,7 @@ uint64_t MultiplyCheckOverflow(uint64_t op1, uint64_t op2) {
|
|
|
190
190
|
if (op1 == 0 || op2 == 0) {
|
|
191
191
|
return 0;
|
|
192
192
|
}
|
|
193
|
-
if (
|
|
193
|
+
if (std::numeric_limits<uint64_t>::max() / op1 < op2) {
|
|
194
194
|
return op1;
|
|
195
195
|
}
|
|
196
196
|
return (op1 * op2);
|
|
@@ -281,7 +281,7 @@ class BlockCacheTracer {
|
|
|
281
281
|
const Slice& block_key, const Slice& cf_name,
|
|
282
282
|
const Slice& referenced_key);
|
|
283
283
|
|
|
284
|
-
// GetId cycles from 1 to
|
|
284
|
+
// GetId cycles from 1 to std::numeric_limits<uint64_t>::max().
|
|
285
285
|
uint64_t NextGetId();
|
|
286
286
|
|
|
287
287
|
private:
|
|
@@ -68,7 +68,7 @@ TEST_F(AutoVectorTest, EmplaceBack) {
|
|
|
68
68
|
autovector<ValType, kSize> vec;
|
|
69
69
|
|
|
70
70
|
for (size_t i = 0; i < 1000 * kSize; ++i) {
|
|
71
|
-
vec.emplace_back(i,
|
|
71
|
+
vec.emplace_back(i, std::to_string(i + 123));
|
|
72
72
|
ASSERT_TRUE(!vec.empty());
|
|
73
73
|
if (i < kSize) {
|
|
74
74
|
AssertAutoVectorOnlyInStack(&vec, true);
|
|
@@ -78,7 +78,7 @@ TEST_F(AutoVectorTest, EmplaceBack) {
|
|
|
78
78
|
|
|
79
79
|
ASSERT_EQ(i + 1, vec.size());
|
|
80
80
|
ASSERT_EQ(i, vec[i].first);
|
|
81
|
-
ASSERT_EQ(
|
|
81
|
+
ASSERT_EQ(std::to_string(i + 123), vec[i].second);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
vec.clear();
|
|
@@ -146,7 +146,7 @@ TEST_F(AutoVectorTest, CopyAndAssignment) {
|
|
|
146
146
|
TEST_F(AutoVectorTest, Iterators) {
|
|
147
147
|
autovector<std::string, kSize> vec;
|
|
148
148
|
for (size_t i = 0; i < kSize * 1000; ++i) {
|
|
149
|
-
vec.push_back(
|
|
149
|
+
vec.push_back(std::to_string(i));
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
// basic operator test
|
|
@@ -208,7 +208,7 @@ std::vector<std::string> GetTestKeys(size_t size) {
|
|
|
208
208
|
|
|
209
209
|
int index = 0;
|
|
210
210
|
for (auto& key : keys) {
|
|
211
|
-
key = "item-" +
|
|
211
|
+
key = "item-" + std::to_string(index++);
|
|
212
212
|
}
|
|
213
213
|
return keys;
|
|
214
214
|
}
|
|
@@ -618,18 +618,23 @@ TEST_P(FullBloomTest, OptimizeForMemory) {
|
|
|
618
618
|
}
|
|
619
619
|
}
|
|
620
620
|
|
|
621
|
-
|
|
622
|
-
|
|
621
|
+
class ChargeFilterConstructionTest : public testing::Test {};
|
|
622
|
+
TEST_F(ChargeFilterConstructionTest, RibbonFilterFallBackOnLargeBanding) {
|
|
623
623
|
constexpr std::size_t kCacheCapacity =
|
|
624
624
|
8 * CacheReservationManagerImpl<
|
|
625
625
|
CacheEntryRole::kFilterConstruction>::GetDummyEntrySize();
|
|
626
626
|
constexpr std::size_t num_entries_for_cache_full = kCacheCapacity / 8;
|
|
627
627
|
|
|
628
|
-
for (
|
|
629
|
-
|
|
628
|
+
for (CacheEntryRoleOptions::Decision charge_filter_construction_mem :
|
|
629
|
+
{CacheEntryRoleOptions::Decision::kEnabled,
|
|
630
|
+
CacheEntryRoleOptions::Decision::kDisabled}) {
|
|
631
|
+
bool will_fall_back = charge_filter_construction_mem ==
|
|
632
|
+
CacheEntryRoleOptions::Decision::kEnabled;
|
|
630
633
|
|
|
631
634
|
BlockBasedTableOptions table_options;
|
|
632
|
-
table_options.
|
|
635
|
+
table_options.cache_usage_options.options_overrides.insert(
|
|
636
|
+
{CacheEntryRole::kFilterConstruction,
|
|
637
|
+
{/*.charged = */ charge_filter_construction_mem}});
|
|
633
638
|
LRUCacheOptions lo;
|
|
634
639
|
lo.capacity = kCacheCapacity;
|
|
635
640
|
lo.num_shard_bits = 0; // 2^0 shard
|
|
@@ -651,7 +656,7 @@ TEST(FullBloomFilterConstructionReserveMemTest,
|
|
|
651
656
|
Slice filter = filter_bits_builder->Finish(&buf);
|
|
652
657
|
|
|
653
658
|
// To verify Ribbon Filter fallbacks to Bloom Filter properly
|
|
654
|
-
// based on cache
|
|
659
|
+
// based on cache charging result
|
|
655
660
|
// See BloomFilterPolicy::GetBloomBitsReader re: metadata
|
|
656
661
|
// -1 = Marker for newer Bloom implementations
|
|
657
662
|
// -2 = Marker for Standard128 Ribbon
|
|
@@ -661,7 +666,8 @@ TEST(FullBloomFilterConstructionReserveMemTest,
|
|
|
661
666
|
EXPECT_EQ(filter.data()[filter.size() - 5], static_cast<char>(-2));
|
|
662
667
|
}
|
|
663
668
|
|
|
664
|
-
if (
|
|
669
|
+
if (charge_filter_construction_mem ==
|
|
670
|
+
CacheEntryRoleOptions::Decision::kEnabled) {
|
|
665
671
|
const size_t dummy_entry_num = static_cast<std::size_t>(std::ceil(
|
|
666
672
|
filter.size() * 1.0 /
|
|
667
673
|
CacheReservationManagerImpl<
|
|
@@ -1257,7 +1263,7 @@ TEST_P(FullBloomTest, CorruptFilters) {
|
|
|
1257
1263
|
ASSERT_TRUE(Matches("hello"));
|
|
1258
1264
|
ASSERT_TRUE(Matches("world"));
|
|
1259
1265
|
// Need many queries to find a "true negative"
|
|
1260
|
-
for (int i = 0; Matches(
|
|
1266
|
+
for (int i = 0; Matches(std::to_string(i)); ++i) {
|
|
1261
1267
|
ASSERT_LT(i, 1000);
|
|
1262
1268
|
}
|
|
1263
1269
|
|
|
@@ -27,7 +27,7 @@ extern "C" {
|
|
|
27
27
|
} // extern "C"
|
|
28
28
|
|
|
29
29
|
std::unordered_map<std::string, ROCKSDB_NAMESPACE::RegistrarFunc> ROCKSDB_NAMESPACE::ObjectRegistry::builtins_ = {
|
|
30
|
-
@ROCKSDB_PLUGIN_BUILTINS@
|
|
30
|
+
@ROCKSDB_PLUGIN_BUILTINS@
|
|
31
31
|
};
|
|
32
32
|
#endif //ROCKSDB_LITE
|
|
33
33
|
|
|
@@ -43,7 +43,7 @@ static void AddProperty(std::unordered_map<std::string, std::string> *props, con
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
static std::unordered_map<std::string, std::string>* LoadPropertiesSet() {
|
|
48
48
|
auto * properties = new std::unordered_map<std::string, std::string>();
|
|
49
49
|
AddProperty(properties, rocksdb_build_git_sha);
|
|
@@ -58,14 +58,14 @@ const std::unordered_map<std::string, std::string>& GetRocksBuildProperties() {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
std::string GetRocksVersionAsString(bool with_patch) {
|
|
61
|
-
std::string version =
|
|
61
|
+
std::string version = std::to_string(ROCKSDB_MAJOR) + "." + std::to_string(ROCKSDB_MINOR);
|
|
62
62
|
if (with_patch) {
|
|
63
|
-
return version + "." +
|
|
63
|
+
return version + "." + std::to_string(ROCKSDB_PATCH);
|
|
64
64
|
} else {
|
|
65
65
|
return version;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
|
|
68
|
+
|
|
69
69
|
std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose) {
|
|
70
70
|
std::string info = program + " (RocksDB) " + GetRocksVersionAsString(true);
|
|
71
71
|
if (verbose) {
|
|
@@ -79,4 +79,3 @@ std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose)
|
|
|
79
79
|
return info;
|
|
80
80
|
}
|
|
81
81
|
} // namespace ROCKSDB_NAMESPACE
|
|
82
|
-
|