@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
|
@@ -552,7 +552,7 @@ struct DBOptions {
|
|
|
552
552
|
// compaction. For universal-style compaction, you can usually set it to -1.
|
|
553
553
|
//
|
|
554
554
|
// A high value or -1 for this option can cause high memory usage.
|
|
555
|
-
// See BlockBasedTableOptions::
|
|
555
|
+
// See BlockBasedTableOptions::cache_usage_options to constrain
|
|
556
556
|
// memory usage in case of block based table format.
|
|
557
557
|
//
|
|
558
558
|
// Default: -1
|
|
@@ -767,6 +767,14 @@ struct DBOptions {
|
|
|
767
767
|
|
|
768
768
|
// Allow the OS to mmap file for reading sst tables.
|
|
769
769
|
// Not recommended for 32-bit OS.
|
|
770
|
+
// When the option is set to true and compression is disabled, the blocks
|
|
771
|
+
// will not be copied and will be read directly from the mmap-ed memory
|
|
772
|
+
// area, and the block will not be inserted into the block cache. However,
|
|
773
|
+
// checksums will still be checked if ReadOptions.verify_checksums is set
|
|
774
|
+
// to be true. It means a checksum check every time a block is read, more
|
|
775
|
+
// than the setup where the option is set to false and the block cache is
|
|
776
|
+
// used. The common use of the options is to run RocksDB on ramfs, where
|
|
777
|
+
// checksum verification is usually not needed.
|
|
770
778
|
// Default: false
|
|
771
779
|
bool allow_mmap_reads = false;
|
|
772
780
|
|
|
@@ -1142,8 +1150,7 @@ struct DBOptions {
|
|
|
1142
1150
|
#endif // ROCKSDB_LITE
|
|
1143
1151
|
|
|
1144
1152
|
// If true, then DB::Open / CreateColumnFamily / DropColumnFamily
|
|
1145
|
-
//
|
|
1146
|
-
// persisted.
|
|
1153
|
+
// SetOptions will fail if options file is not properly persisted.
|
|
1147
1154
|
//
|
|
1148
1155
|
// DEFAULT: false
|
|
1149
1156
|
bool fail_if_options_file_error = false;
|
|
@@ -1329,6 +1336,19 @@ struct DBOptions {
|
|
|
1329
1336
|
//
|
|
1330
1337
|
// Default: kNonVolatileBlockTier
|
|
1331
1338
|
CacheTier lowest_used_cache_tier = CacheTier::kNonVolatileBlockTier;
|
|
1339
|
+
|
|
1340
|
+
// If set to false, when compaction or flush sees a SingleDelete followed by
|
|
1341
|
+
// a Delete for the same user key, compaction job will not fail.
|
|
1342
|
+
// Otherwise, compaction job will fail.
|
|
1343
|
+
// This is a temporary option to help existing use cases migrate, and
|
|
1344
|
+
// will be removed in a future release.
|
|
1345
|
+
// Warning: do not set to false unless you are trying to migrate existing
|
|
1346
|
+
// data in which the contract of single delete
|
|
1347
|
+
// (https://github.com/facebook/rocksdb/wiki/Single-Delete) is not enforced,
|
|
1348
|
+
// thus has Delete mixed with SingleDelete for the same user key. Violation
|
|
1349
|
+
// of the contract leads to undefined behaviors with high possibility of data
|
|
1350
|
+
// inconsistency, e.g. deleted old data become visible again, etc.
|
|
1351
|
+
bool enforce_single_del_contracts = true;
|
|
1332
1352
|
};
|
|
1333
1353
|
|
|
1334
1354
|
// Options to control the behavior of a database (passed to DB::Open)
|
|
@@ -1952,6 +1972,11 @@ struct CompactionServiceOptionsOverride {
|
|
|
1952
1972
|
// returned to CompactionService primary host, to collect that, the user needs
|
|
1953
1973
|
// to set it here.
|
|
1954
1974
|
std::shared_ptr<Statistics> statistics = nullptr;
|
|
1975
|
+
|
|
1976
|
+
// Only compaction generated SST files use this user defined table properties
|
|
1977
|
+
// collector.
|
|
1978
|
+
std::vector<std::shared_ptr<TablePropertiesCollectorFactory>>
|
|
1979
|
+
table_properties_collector_factories;
|
|
1955
1980
|
};
|
|
1956
1981
|
|
|
1957
1982
|
struct OpenAndCompactOptions {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
#include <string>
|
|
23
23
|
#include <unordered_map>
|
|
24
24
|
|
|
25
|
+
#include "rocksdb/cache.h"
|
|
25
26
|
#include "rocksdb/customizable.h"
|
|
26
27
|
#include "rocksdb/env.h"
|
|
27
28
|
#include "rocksdb/options.h"
|
|
@@ -104,6 +105,23 @@ struct MetadataCacheOptions {
|
|
|
104
105
|
PinningTier unpartitioned_pinning = PinningTier::kFallback;
|
|
105
106
|
};
|
|
106
107
|
|
|
108
|
+
struct CacheEntryRoleOptions {
|
|
109
|
+
enum class Decision {
|
|
110
|
+
kEnabled,
|
|
111
|
+
kDisabled,
|
|
112
|
+
kFallback,
|
|
113
|
+
};
|
|
114
|
+
Decision charged = Decision::kFallback;
|
|
115
|
+
bool operator==(const CacheEntryRoleOptions& other) const {
|
|
116
|
+
return charged == other.charged;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
struct CacheUsageOptions {
|
|
121
|
+
CacheEntryRoleOptions options;
|
|
122
|
+
std::map<CacheEntryRole, CacheEntryRoleOptions> options_overrides;
|
|
123
|
+
};
|
|
124
|
+
|
|
107
125
|
// For advanced user only
|
|
108
126
|
struct BlockBasedTableOptions {
|
|
109
127
|
static const char* kName() { return "BlockTableOptions"; };
|
|
@@ -287,47 +305,80 @@ struct BlockBasedTableOptions {
|
|
|
287
305
|
// separately
|
|
288
306
|
uint64_t metadata_block_size = 4096;
|
|
289
307
|
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
//
|
|
293
|
-
//
|
|
294
|
-
//
|
|
295
|
-
//
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
//
|
|
299
|
-
//
|
|
300
|
-
//
|
|
301
|
-
//
|
|
302
|
-
//
|
|
308
|
+
// `cache_usage_options` allows users to specify the default
|
|
309
|
+
// options (`cache_usage_options.options`) and the overriding
|
|
310
|
+
// options (`cache_usage_options.options_overrides`)
|
|
311
|
+
// for different `CacheEntryRole` under various features related to cache
|
|
312
|
+
// usage.
|
|
313
|
+
//
|
|
314
|
+
// For a certain `CacheEntryRole role` and a certain feature `f` of
|
|
315
|
+
// `CacheEntryRoleOptions`:
|
|
316
|
+
// 1. If `options_overrides` has an entry for `role` and
|
|
317
|
+
// `options_overrides[role].f != kFallback`, we use
|
|
318
|
+
// `options_overrides[role].f`
|
|
319
|
+
// 2. Otherwise, if `options[role].f != kFallback`, we use `options[role].f`
|
|
320
|
+
// 3. Otherwise, we follow the compatible existing behavior for `f` (see
|
|
321
|
+
// each feature's comment for more)
|
|
322
|
+
//
|
|
323
|
+
// `cache_usage_options` currently supports specifying options for the
|
|
324
|
+
// following features:
|
|
325
|
+
//
|
|
326
|
+
// 1. Memory charging to block cache (`CacheEntryRoleOptions::charged`)
|
|
327
|
+
// Memory charging is a feature of accounting memory usage of specific area
|
|
328
|
+
// (represented by `CacheEntryRole`) toward usage in block cache (if
|
|
329
|
+
// available), by updating a dynamical charge to the block cache loosely based
|
|
330
|
+
// on the actual memory usage of that area.
|
|
331
|
+
//
|
|
332
|
+
// (a) CacheEntryRole::kCompressionDictionaryBuildingBuffer
|
|
333
|
+
// (i) If kEnabled:
|
|
334
|
+
// Charge memory usage of the buffered data used as training samples for
|
|
335
|
+
// dictionary compression.
|
|
336
|
+
// If such memory usage exceeds the avaible space left in the block cache
|
|
303
337
|
// at some point (i.e, causing a cache full under
|
|
304
|
-
// LRUCacheOptions::strict_capacity_limit = true),
|
|
305
|
-
//
|
|
306
|
-
//
|
|
307
|
-
//
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
//
|
|
313
|
-
//
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
//
|
|
317
|
-
//
|
|
318
|
-
//
|
|
319
|
-
//
|
|
320
|
-
//
|
|
321
|
-
//
|
|
322
|
-
//
|
|
323
|
-
//
|
|
324
|
-
//
|
|
325
|
-
//
|
|
326
|
-
//
|
|
327
|
-
//
|
|
328
|
-
//
|
|
329
|
-
//
|
|
330
|
-
|
|
338
|
+
// `LRUCacheOptions::strict_capacity_limit` = true), the data will then be
|
|
339
|
+
// unbuffered.
|
|
340
|
+
// (ii) If kDisabled:
|
|
341
|
+
// Does not charge the memory usage mentioned above.
|
|
342
|
+
// (iii) Compatible existing behavior:
|
|
343
|
+
// Same as kEnabled.
|
|
344
|
+
//
|
|
345
|
+
// (b) CacheEntryRole::kFilterConstruction
|
|
346
|
+
// (i) If kEnabled:
|
|
347
|
+
// Charge memory usage of Bloom Filter
|
|
348
|
+
// (format_version >= 5) and Ribbon Filter construction.
|
|
349
|
+
// If additional temporary memory of Ribbon Filter exceeds the avaible
|
|
350
|
+
// space left in the block cache at some point (i.e, causing a cache full
|
|
351
|
+
// under `LRUCacheOptions::strict_capacity_limit` = true),
|
|
352
|
+
// construction will fall back to Bloom Filter.
|
|
353
|
+
// (ii) If kDisabled:
|
|
354
|
+
// Does not charge the memory usage mentioned above.
|
|
355
|
+
// (iii) Compatible existing behavior:
|
|
356
|
+
// Same as kDisabled.
|
|
357
|
+
//
|
|
358
|
+
// (c) CacheEntryRole::kBlockBasedTableReader
|
|
359
|
+
// (i) If kEnabled:
|
|
360
|
+
// Charge memory usage of table properties +
|
|
361
|
+
// index block/filter block/uncompression dictionary (when stored in table
|
|
362
|
+
// reader i.e, BlockBasedTableOptions::cache_index_and_filter_blocks ==
|
|
363
|
+
// false) + some internal data structures during table reader creation.
|
|
364
|
+
// If such a table reader exceeds
|
|
365
|
+
// the avaible space left in the block cache at some point (i.e, causing
|
|
366
|
+
// a cache full under `LRUCacheOptions::strict_capacity_limit` = true),
|
|
367
|
+
// creation will fail with Status::MemoryLimit().
|
|
368
|
+
// (ii) If kDisabled:
|
|
369
|
+
// Does not charge the memory usage mentioned above.
|
|
370
|
+
// (iii) Compatible existing behavior:
|
|
371
|
+
// Same as kDisabled.
|
|
372
|
+
//
|
|
373
|
+
// (d) Other CacheEntryRole
|
|
374
|
+
// Not supported.
|
|
375
|
+
// `Status::kNotSupported` will be returned if
|
|
376
|
+
// `CacheEntryRoleOptions::charged` is set to {`kEnabled`, `kDisabled`}.
|
|
377
|
+
//
|
|
378
|
+
//
|
|
379
|
+
// 2. More to come ...
|
|
380
|
+
//
|
|
381
|
+
CacheUsageOptions cache_usage_options;
|
|
331
382
|
|
|
332
383
|
// Note: currently this option requires kTwoLevelIndexSearch to be set as
|
|
333
384
|
// well.
|
|
@@ -22,8 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
#include "rocksdb/rocksdb_namespace.h"
|
|
24
24
|
|
|
25
|
-
#if !defined(ROCKSDB_LITE) && !defined(NROCKSDB_THREAD_STATUS)
|
|
26
|
-
defined(ROCKSDB_SUPPORT_THREAD_LOCAL)
|
|
25
|
+
#if !defined(ROCKSDB_LITE) && !defined(NROCKSDB_THREAD_STATUS)
|
|
27
26
|
#define ROCKSDB_USING_THREAD_STATUS
|
|
28
27
|
#endif
|
|
29
28
|
|
|
@@ -9,9 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
namespace ROCKSDB_NAMESPACE {
|
|
11
11
|
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
// Computes a stable, universally unique 192-bit (24 binary char) identifier
|
|
12
|
+
// Computes a stable, universally unique 128-bit (16 binary char) identifier
|
|
15
13
|
// for an SST file from TableProperties. This is supported for table (SST)
|
|
16
14
|
// files created with RocksDB 6.24 and later. NotSupported will be returned
|
|
17
15
|
// for other cases. The first 16 bytes (128 bits) is of sufficient quality
|
|
@@ -22,22 +20,33 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
22
20
|
// .c_str() on the result will often result in information loss and very
|
|
23
21
|
// poor uniqueness probability.
|
|
24
22
|
//
|
|
25
|
-
// More detail: the
|
|
23
|
+
// More detail: the value is *guaranteed* unique for SST files
|
|
26
24
|
// generated in the same process (even different DBs, RocksDB >= 6.26),
|
|
27
25
|
// and first 128 bits are guaranteed not "all zeros" (RocksDB >= 6.26)
|
|
28
26
|
// so that the "all zeros" value can be used reliably for a null ID.
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
// files
|
|
27
|
+
// These IDs are more than sufficient for SST uniqueness within each of
|
|
28
|
+
// many DBs or hosts. For an extreme example assuming random IDs, consider
|
|
29
|
+
// 10^9 hosts each with 10^9 live SST files being replaced at 10^6/second.
|
|
30
|
+
// Such a service would need to run for 10 million years to see an ID
|
|
31
|
+
// collision among live SST files on any host.
|
|
32
|
+
//
|
|
33
|
+
// And assuming one generates many SST files in the lifetime of each process,
|
|
34
|
+
// the probability of ID collisions is much "better than random"; see
|
|
35
|
+
// https://github.com/pdillinger/unique_id
|
|
36
36
|
Status GetUniqueIdFromTableProperties(const TableProperties &props,
|
|
37
37
|
std::string *out_id);
|
|
38
38
|
|
|
39
|
-
//
|
|
40
|
-
//
|
|
39
|
+
// Computes a 192-bit (24 binary char) stable, universally unique ID
|
|
40
|
+
// with an extra 64 bits of uniqueness compared to the standard ID. It is only
|
|
41
|
+
// appropriate to use this ID instead of the 128-bit ID if ID collisions
|
|
42
|
+
// between files among any hosts in a vast fleet is a problem, such as a shared
|
|
43
|
+
// global namespace for SST file backups. Under this criteria, the extreme
|
|
44
|
+
// example above would expect a global file ID collision every 4 days with
|
|
45
|
+
// 128-bit IDs (using some worst-case assumptions about process lifetime).
|
|
46
|
+
// It's 10^17 years with 192-bit IDs.
|
|
47
|
+
Status GetExtendedUniqueIdFromTableProperties(const TableProperties &props,
|
|
48
|
+
std::string *out_id);
|
|
49
|
+
|
|
41
50
|
// Converts a binary string (unique id) to hexadecimal, with each 64 bits
|
|
42
51
|
// separated by '-', e.g. 6474DF650323BDF0-B48E64F3039308CA-17284B32E7F7444B
|
|
43
52
|
// Also works on unique id prefix.
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
// This source code is licensed under both the GPLv2 (found in the
|
|
3
3
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
4
|
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
+
//
|
|
6
|
+
// The methods in this file are used to instantiate new Customizable
|
|
7
|
+
// instances of objects. These methods are most typically used by
|
|
8
|
+
// the "CreateFromString" method of a customizable class.
|
|
9
|
+
// If not developing a new Type of customizable class, you probably
|
|
10
|
+
// do not need the methods in this file.
|
|
11
|
+
//
|
|
12
|
+
// See https://github.com/facebook/rocksdb/wiki/RocksDB-Configurable-Objects
|
|
13
|
+
// for more information on how to develop and use customizable objects
|
|
5
14
|
|
|
6
15
|
#pragma once
|
|
7
16
|
#include <functional>
|
|
@@ -70,6 +70,7 @@ class LDBCommand {
|
|
|
70
70
|
static const std::string ARG_BLOB_GARBAGE_COLLECTION_FORCE_THRESHOLD;
|
|
71
71
|
static const std::string ARG_BLOB_COMPACTION_READAHEAD_SIZE;
|
|
72
72
|
static const std::string ARG_DECODE_BLOB_INDEX;
|
|
73
|
+
static const std::string ARG_DUMP_UNCOMPRESSED_BLOBS;
|
|
73
74
|
|
|
74
75
|
struct ParsedParams {
|
|
75
76
|
std::string cmd;
|
|
@@ -287,6 +288,9 @@ class LDBCommand {
|
|
|
287
288
|
bool IsValueHex(const std::map<std::string, std::string>& options,
|
|
288
289
|
const std::vector<std::string>& flags);
|
|
289
290
|
|
|
291
|
+
bool IsTryLoadOptions(const std::map<std::string, std::string>& options,
|
|
292
|
+
const std::vector<std::string>& flags);
|
|
293
|
+
|
|
290
294
|
/**
|
|
291
295
|
* Converts val to a boolean.
|
|
292
296
|
* val must be either true or false (case insensitive).
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#include <mutex>
|
|
14
14
|
#include <string>
|
|
15
15
|
#include <unordered_map>
|
|
16
|
+
#include <unordered_set>
|
|
16
17
|
#include <vector>
|
|
17
18
|
|
|
18
19
|
#include "rocksdb/status.h"
|
|
@@ -217,6 +218,18 @@ class ObjectLibrary {
|
|
|
217
218
|
// @param num_types returns how many unique types are registered.
|
|
218
219
|
size_t GetFactoryCount(size_t* num_types) const;
|
|
219
220
|
|
|
221
|
+
// Returns the number of factories registered for this library
|
|
222
|
+
// for the input type.
|
|
223
|
+
// @param num_types returns how many unique types are registered.
|
|
224
|
+
size_t GetFactoryCount(const std::string& type) const;
|
|
225
|
+
|
|
226
|
+
// Returns the registered factory names for the input type
|
|
227
|
+
// names is updated to include the names for the type
|
|
228
|
+
void GetFactoryNames(const std::string& type,
|
|
229
|
+
std::vector<std::string>* names) const;
|
|
230
|
+
|
|
231
|
+
void GetFactoryTypes(std::unordered_set<std::string>* types) const;
|
|
232
|
+
|
|
220
233
|
void Dump(Logger* logger) const;
|
|
221
234
|
|
|
222
235
|
// Registers the factory with the library for the name.
|
|
@@ -497,6 +510,18 @@ class ObjectRegistry {
|
|
|
497
510
|
}
|
|
498
511
|
}
|
|
499
512
|
|
|
513
|
+
// Returns the number of factories registered for this library
|
|
514
|
+
// for the input type.
|
|
515
|
+
// @param num_types returns how many unique types are registered.
|
|
516
|
+
size_t GetFactoryCount(const std::string& type) const;
|
|
517
|
+
|
|
518
|
+
// Returns the names of registered factories for the input type.
|
|
519
|
+
// names is updated to include the names for the type
|
|
520
|
+
void GetFactoryNames(const std::string& type,
|
|
521
|
+
std::vector<std::string>* names) const;
|
|
522
|
+
|
|
523
|
+
void GetFactoryTypes(std::unordered_set<std::string>* types) const;
|
|
524
|
+
|
|
500
525
|
// Dump the contents of the registry to the logger
|
|
501
526
|
void Dump(Logger* logger) const;
|
|
502
527
|
|