@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
|
@@ -9,11 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
namespace ROCKSDB_NAMESPACE {
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
__thread PerfLevel perf_level = kEnableCount;
|
|
14
|
-
#else
|
|
15
|
-
PerfLevel perf_level = kEnableCount;
|
|
16
|
-
#endif
|
|
12
|
+
thread_local PerfLevel perf_level = kEnableCount;
|
|
17
13
|
|
|
18
14
|
void SetPerfLevel(PerfLevel level) {
|
|
19
15
|
assert(level > kUninitialized);
|
|
@@ -98,13 +98,13 @@ std::pair<uint64_t, std::string> parseKey(const Slice& key,
|
|
|
98
98
|
std::string::size_type pos = key_str.find("#");
|
|
99
99
|
// TODO(Zhongyi): add counters to track parse failures?
|
|
100
100
|
if (pos == std::string::npos) {
|
|
101
|
-
result.first =
|
|
101
|
+
result.first = std::numeric_limits<uint64_t>::max();
|
|
102
102
|
result.second.clear();
|
|
103
103
|
} else {
|
|
104
104
|
uint64_t parsed_time = ParseUint64(key_str.substr(0, pos));
|
|
105
105
|
// skip entries with timestamp smaller than start_time
|
|
106
106
|
if (parsed_time < start_time) {
|
|
107
|
-
result.first =
|
|
107
|
+
result.first = std::numeric_limits<uint64_t>::max();
|
|
108
108
|
result.second = "";
|
|
109
109
|
} else {
|
|
110
110
|
result.first = parsed_time;
|
|
@@ -16,7 +16,8 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
16
16
|
|
|
17
17
|
#ifdef ROCKSDB_USING_THREAD_STATUS
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
thread_local ThreadStatusData* ThreadStatusUpdater::thread_status_data_ =
|
|
20
|
+
nullptr;
|
|
20
21
|
|
|
21
22
|
void ThreadStatusUpdater::RegisterThread(ThreadStatus::ThreadType ttype,
|
|
22
23
|
uint64_t thread_id) {
|
|
@@ -196,7 +196,7 @@ class ThreadStatusUpdater {
|
|
|
196
196
|
protected:
|
|
197
197
|
#ifdef ROCKSDB_USING_THREAD_STATUS
|
|
198
198
|
// The thread-local variable for storing thread status.
|
|
199
|
-
static
|
|
199
|
+
static thread_local ThreadStatusData* thread_status_data_;
|
|
200
200
|
|
|
201
201
|
// Returns the pointer to the thread status data only when the
|
|
202
202
|
// thread status data is non-null and has enable_tracking == true.
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
namespace ROCKSDB_NAMESPACE {
|
|
13
13
|
|
|
14
14
|
#ifdef ROCKSDB_USING_THREAD_STATUS
|
|
15
|
-
|
|
16
|
-
nullptr;
|
|
17
|
-
|
|
15
|
+
thread_local ThreadStatusUpdater*
|
|
16
|
+
ThreadStatusUtil::thread_updater_local_cache_ = nullptr;
|
|
17
|
+
thread_local bool ThreadStatusUtil::thread_updater_initialized_ = false;
|
|
18
18
|
|
|
19
19
|
void ThreadStatusUtil::RegisterThread(const Env* env,
|
|
20
20
|
ThreadStatus::ThreadType thread_type) {
|
|
@@ -94,7 +94,7 @@ class ThreadStatusUtil {
|
|
|
94
94
|
// When this variable is set to true, thread_updater_local_cache_
|
|
95
95
|
// will not be updated until this variable is again set to false
|
|
96
96
|
// in UnregisterThread().
|
|
97
|
-
static
|
|
97
|
+
static thread_local bool thread_updater_initialized_;
|
|
98
98
|
|
|
99
99
|
// The thread-local cached ThreadStatusUpdater that caches the
|
|
100
100
|
// thread_status_updater_ of the first Env that uses any ThreadStatusUtil
|
|
@@ -109,7 +109,7 @@ class ThreadStatusUtil {
|
|
|
109
109
|
// When thread_updater_initialized_ is set to true, this variable
|
|
110
110
|
// will not be updated until this thread_updater_initialized_ is
|
|
111
111
|
// again set to false in UnregisterThread().
|
|
112
|
-
static
|
|
112
|
+
static thread_local ThreadStatusUpdater* thread_updater_local_cache_;
|
|
113
113
|
#else
|
|
114
114
|
static bool thread_updater_initialized_;
|
|
115
115
|
static ThreadStatusUpdater* thread_updater_local_cache_;
|
|
@@ -364,9 +364,10 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
364
364
|
OptionTypeInfo::Struct(
|
|
365
365
|
"compaction_options_fifo", &fifo_compaction_options_type_info,
|
|
366
366
|
offsetof(struct MutableCFOptions, compaction_options_fifo),
|
|
367
|
-
OptionVerificationType::kNormal, OptionTypeFlags::kMutable
|
|
368
|
-
[](const ConfigOptions& opts,
|
|
369
|
-
|
|
367
|
+
OptionVerificationType::kNormal, OptionTypeFlags::kMutable)
|
|
368
|
+
.SetParseFunc([](const ConfigOptions& opts,
|
|
369
|
+
const std::string& name, const std::string& value,
|
|
370
|
+
void* addr) {
|
|
370
371
|
// This is to handle backward compatibility, where
|
|
371
372
|
// compaction_options_fifo could be assigned a single scalar
|
|
372
373
|
// value, say, like "23", which would be assigned to
|
|
@@ -556,30 +557,30 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
556
557
|
{"comparator",
|
|
557
558
|
OptionTypeInfo::AsCustomRawPtr<const Comparator>(
|
|
558
559
|
offsetof(struct ImmutableCFOptions, user_comparator),
|
|
559
|
-
OptionVerificationType::kByName, OptionTypeFlags::kCompareLoose
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
560
|
+
OptionVerificationType::kByName, OptionTypeFlags::kCompareLoose)
|
|
561
|
+
.SetSerializeFunc(
|
|
562
|
+
// Serializes a Comparator
|
|
563
|
+
[](const ConfigOptions& opts, const std::string&,
|
|
564
|
+
const void* addr, std::string* value) {
|
|
565
|
+
// it's a const pointer of const Comparator*
|
|
566
|
+
const auto* ptr =
|
|
567
|
+
static_cast<const Comparator* const*>(addr);
|
|
568
|
+
// Since the user-specified comparator will be wrapped by
|
|
569
|
+
// InternalKeyComparator, we should persist the
|
|
570
|
+
// user-specified one instead of InternalKeyComparator.
|
|
571
|
+
if (*ptr == nullptr) {
|
|
572
|
+
*value = kNullptrString;
|
|
573
|
+
} else if (opts.mutable_options_only) {
|
|
574
|
+
*value = "";
|
|
575
|
+
} else {
|
|
576
|
+
const Comparator* root_comp = (*ptr)->GetRootComparator();
|
|
577
|
+
if (root_comp == nullptr) {
|
|
578
|
+
root_comp = (*ptr);
|
|
579
|
+
}
|
|
580
|
+
*value = root_comp->ToString(opts);
|
|
581
|
+
}
|
|
582
|
+
return Status::OK();
|
|
583
|
+
})},
|
|
583
584
|
{"memtable_insert_with_hint_prefix_extractor",
|
|
584
585
|
OptionTypeInfo::AsCustomSharedPtr<const SliceTransform>(
|
|
585
586
|
offsetof(struct ImmutableCFOptions,
|
|
@@ -595,10 +596,7 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
595
596
|
auto* shared =
|
|
596
597
|
static_cast<std::shared_ptr<MemTableRepFactory>*>(addr);
|
|
597
598
|
Status s =
|
|
598
|
-
MemTableRepFactory::CreateFromString(opts, value,
|
|
599
|
-
if (factory && s.ok()) {
|
|
600
|
-
shared->reset(factory.release());
|
|
601
|
-
}
|
|
599
|
+
MemTableRepFactory::CreateFromString(opts, value, shared);
|
|
602
600
|
return s;
|
|
603
601
|
}}},
|
|
604
602
|
{"memtable",
|
|
@@ -611,10 +609,7 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
611
609
|
auto* shared =
|
|
612
610
|
static_cast<std::shared_ptr<MemTableRepFactory>*>(addr);
|
|
613
611
|
Status s =
|
|
614
|
-
MemTableRepFactory::CreateFromString(opts, value,
|
|
615
|
-
if (factory && s.ok()) {
|
|
616
|
-
shared->reset(factory.release());
|
|
617
|
-
}
|
|
612
|
+
MemTableRepFactory::CreateFromString(opts, value, shared);
|
|
618
613
|
return s;
|
|
619
614
|
}}},
|
|
620
615
|
{"table_factory",
|
|
@@ -886,7 +881,7 @@ uint64_t MultiplyCheckOverflow(uint64_t op1, double op2) {
|
|
|
886
881
|
if (op1 == 0 || op2 <= 0) {
|
|
887
882
|
return 0;
|
|
888
883
|
}
|
|
889
|
-
if (
|
|
884
|
+
if (std::numeric_limits<uint64_t>::max() / op1 < op2) {
|
|
890
885
|
return op1;
|
|
891
886
|
}
|
|
892
887
|
return static_cast<uint64_t>(op1 * op2);
|
|
@@ -915,8 +910,9 @@ size_t MaxFileSizeForL0MetaPin(const MutableCFOptions& cf_options) {
|
|
|
915
910
|
// or a former larger `write_buffer_size` value to avoid surprising users with
|
|
916
911
|
// pinned memory usage. We use a factor of 1.5 to account for overhead
|
|
917
912
|
// introduced during flush in most cases.
|
|
918
|
-
if (
|
|
919
|
-
|
|
913
|
+
if (std::numeric_limits<size_t>::max() / 3 <
|
|
914
|
+
cf_options.write_buffer_size / 2) {
|
|
915
|
+
return std::numeric_limits<size_t>::max();
|
|
920
916
|
}
|
|
921
917
|
return cf_options.write_buffer_size / 2 * 3;
|
|
922
918
|
}
|
|
@@ -46,20 +46,10 @@ Status Configurable::PrepareOptions(const ConfigOptions& opts) {
|
|
|
46
46
|
if (opt_iter.type_map != nullptr) {
|
|
47
47
|
for (auto map_iter : *(opt_iter.type_map)) {
|
|
48
48
|
auto& opt_info = map_iter.second;
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
if (!
|
|
52
|
-
|
|
53
|
-
opt_info.AsRawPointer<Configurable>(opt_iter.opt_ptr);
|
|
54
|
-
if (config != nullptr) {
|
|
55
|
-
status = config->PrepareOptions(opts);
|
|
56
|
-
} else if (!opt_info.CanBeNull()) {
|
|
57
|
-
status = Status::NotFound("Missing configurable object",
|
|
58
|
-
map_iter.first);
|
|
59
|
-
}
|
|
60
|
-
if (!status.ok()) {
|
|
61
|
-
return status;
|
|
62
|
-
}
|
|
49
|
+
if (opt_info.ShouldPrepare()) {
|
|
50
|
+
status = opt_info.Prepare(opts, map_iter.first, opt_iter.opt_ptr);
|
|
51
|
+
if (!status.ok()) {
|
|
52
|
+
return status;
|
|
63
53
|
}
|
|
64
54
|
}
|
|
65
55
|
}
|
|
@@ -79,19 +69,11 @@ Status Configurable::ValidateOptions(const DBOptions& db_opts,
|
|
|
79
69
|
if (opt_iter.type_map != nullptr) {
|
|
80
70
|
for (auto map_iter : *(opt_iter.type_map)) {
|
|
81
71
|
auto& opt_info = map_iter.second;
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
status = config->ValidateOptions(db_opts, cf_opts);
|
|
88
|
-
} else if (!opt_info.CanBeNull()) {
|
|
89
|
-
status = Status::NotFound("Missing configurable object",
|
|
90
|
-
map_iter.first);
|
|
91
|
-
}
|
|
92
|
-
if (!status.ok()) {
|
|
93
|
-
return status;
|
|
94
|
-
}
|
|
72
|
+
if (opt_info.ShouldValidate()) {
|
|
73
|
+
status = opt_info.Validate(db_opts, cf_opts, map_iter.first,
|
|
74
|
+
opt_iter.opt_ptr);
|
|
75
|
+
if (!status.ok()) {
|
|
76
|
+
return status;
|
|
95
77
|
}
|
|
96
78
|
}
|
|
97
79
|
}
|
|
@@ -173,7 +173,7 @@ TEST_F(ConfigurableTest, GetOptionsTest) {
|
|
|
173
173
|
int i = 11;
|
|
174
174
|
for (auto opt : {"", "shared.", "unique.", "pointer."}) {
|
|
175
175
|
std::string value;
|
|
176
|
-
std::string expected =
|
|
176
|
+
std::string expected = std::to_string(i);
|
|
177
177
|
std::string opt_name = opt;
|
|
178
178
|
ASSERT_OK(
|
|
179
179
|
simple->ConfigureOption(config_options_, opt_name + "int", expected));
|
|
@@ -76,7 +76,9 @@ bool Customizable::AreEquivalent(const ConfigOptions& config_options,
|
|
|
76
76
|
if (config_options.sanity_level > ConfigOptions::kSanityLevelNone &&
|
|
77
77
|
this != other) {
|
|
78
78
|
const Customizable* custom = reinterpret_cast<const Customizable*>(other);
|
|
79
|
-
if (
|
|
79
|
+
if (custom == nullptr) { // Cast failed
|
|
80
|
+
return false;
|
|
81
|
+
} else if (GetId() != custom->GetId()) {
|
|
80
82
|
*mismatch = OptionTypeInfo::kIdPropName();
|
|
81
83
|
return false;
|
|
82
84
|
} else if (config_options.sanity_level >
|