@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
|
@@ -16,6 +16,7 @@ namespace ROCKSDB_NAMESPACE {
|
|
|
16
16
|
class SystemClock;
|
|
17
17
|
class Transaction;
|
|
18
18
|
class TransactionDB;
|
|
19
|
+
struct TransactionDBOptions;
|
|
19
20
|
|
|
20
21
|
class StressTest {
|
|
21
22
|
public:
|
|
@@ -29,7 +30,7 @@ class StressTest {
|
|
|
29
30
|
|
|
30
31
|
bool BuildOptionsTable();
|
|
31
32
|
|
|
32
|
-
void InitDb();
|
|
33
|
+
void InitDb(SharedState*);
|
|
33
34
|
// The initialization work is split into two parts to avoid a circular
|
|
34
35
|
// dependency with `SharedState`.
|
|
35
36
|
virtual void FinishInitDb(SharedState*);
|
|
@@ -218,11 +219,16 @@ class StressTest {
|
|
|
218
219
|
|
|
219
220
|
void PrintEnv() const;
|
|
220
221
|
|
|
221
|
-
void Open();
|
|
222
|
+
void Open(SharedState* shared);
|
|
222
223
|
|
|
223
224
|
void Reopen(ThreadState* thread);
|
|
224
225
|
|
|
225
|
-
void
|
|
226
|
+
virtual void RegisterAdditionalListeners() {}
|
|
227
|
+
|
|
228
|
+
#ifndef ROCKSDB_LITE
|
|
229
|
+
virtual void PrepareTxnDbOptions(SharedState* /*shared*/,
|
|
230
|
+
TransactionDBOptions& /*txn_db_opts*/) {}
|
|
231
|
+
#endif
|
|
226
232
|
|
|
227
233
|
std::shared_ptr<Cache> cache_;
|
|
228
234
|
std::shared_ptr<Cache> compressed_cache_;
|
|
@@ -251,5 +257,49 @@ class StressTest {
|
|
|
251
257
|
bool is_db_stopped_;
|
|
252
258
|
};
|
|
253
259
|
|
|
260
|
+
// Load options from OPTIONS file and populate `options`.
|
|
261
|
+
extern bool InitializeOptionsFromFile(Options& options);
|
|
262
|
+
|
|
263
|
+
// Initialize `options` using command line arguments.
|
|
264
|
+
// When this function is called, `cache`, `block_cache_compressed`,
|
|
265
|
+
// `filter_policy` have all been initialized. Therefore, we just pass them as
|
|
266
|
+
// input arguments.
|
|
267
|
+
extern void InitializeOptionsFromFlags(
|
|
268
|
+
const std::shared_ptr<Cache>& cache,
|
|
269
|
+
const std::shared_ptr<Cache>& block_cache_compressed,
|
|
270
|
+
const std::shared_ptr<const FilterPolicy>& filter_policy, Options& options);
|
|
271
|
+
|
|
272
|
+
// Initialize `options` on which `InitializeOptionsFromFile()` and
|
|
273
|
+
// `InitializeOptionsFromFlags()` have both been called already.
|
|
274
|
+
// There are two cases.
|
|
275
|
+
// Case 1: OPTIONS file is not specified. Command line arguments have been used
|
|
276
|
+
// to initialize `options`. InitializeOptionsGeneral() will use
|
|
277
|
+
// `cache`, `block_cache_compressed` and `filter_policy` to initialize
|
|
278
|
+
// corresponding fields of `options`. InitializeOptionsGeneral() will
|
|
279
|
+
// also set up other fields of `options` so that stress test can run.
|
|
280
|
+
// Examples include `create_if_missing` and
|
|
281
|
+
// `create_missing_column_families`, etc.
|
|
282
|
+
// Case 2: OPTIONS file is specified. It is possible that, after loading from
|
|
283
|
+
// the given OPTIONS files, some shared object fields are still not
|
|
284
|
+
// initialized because they are not set in the OPTIONS file. In this
|
|
285
|
+
// case, if command line arguments indicate that the user wants to set
|
|
286
|
+
// up such shared objects, e.g. block cache, compressed block cache,
|
|
287
|
+
// row cache, filter policy, then InitializeOptionsGeneral() will honor
|
|
288
|
+
// the user's choice, thus passing `cache`, `block_cache_compressed`,
|
|
289
|
+
// `filter_policy` as input arguments.
|
|
290
|
+
//
|
|
291
|
+
// InitializeOptionsGeneral() must not overwrite fields of `options` loaded
|
|
292
|
+
// from OPTIONS file.
|
|
293
|
+
extern void InitializeOptionsGeneral(
|
|
294
|
+
const std::shared_ptr<Cache>& cache,
|
|
295
|
+
const std::shared_ptr<Cache>& block_cache_compressed,
|
|
296
|
+
const std::shared_ptr<const FilterPolicy>& filter_policy, Options& options);
|
|
297
|
+
|
|
298
|
+
// If no OPTIONS file is specified, set up `options` so that we can test
|
|
299
|
+
// user-defined timestamp which requires `-user_timestamp_size=8`.
|
|
300
|
+
// This function also checks for known (currently) incompatible features with
|
|
301
|
+
// user-defined timestamp.
|
|
302
|
+
extern void CheckAndSetOptionsForUserTimestamp(Options& options);
|
|
303
|
+
|
|
254
304
|
} // namespace ROCKSDB_NAMESPACE
|
|
255
305
|
#endif // GFLAGS
|
|
@@ -24,9 +24,7 @@
|
|
|
24
24
|
#include "db_stress_tool/db_stress_common.h"
|
|
25
25
|
#include "db_stress_tool/db_stress_driver.h"
|
|
26
26
|
#include "rocksdb/convenience.h"
|
|
27
|
-
#ifndef NDEBUG
|
|
28
27
|
#include "utilities/fault_injection_fs.h"
|
|
29
|
-
#endif
|
|
30
28
|
|
|
31
29
|
namespace ROCKSDB_NAMESPACE {
|
|
32
30
|
namespace {
|
|
@@ -82,7 +80,6 @@ int db_stress_tool(int argc, char** argv) {
|
|
|
82
80
|
dbsl_env_wrapper_guard = std::make_shared<DbStressEnvWrapper>(raw_env);
|
|
83
81
|
db_stress_listener_env = dbsl_env_wrapper_guard.get();
|
|
84
82
|
|
|
85
|
-
#ifndef NDEBUG
|
|
86
83
|
if (FLAGS_read_fault_one_in || FLAGS_sync_fault_injection ||
|
|
87
84
|
FLAGS_write_fault_one_in || FLAGS_open_metadata_write_fault_one_in ||
|
|
88
85
|
FLAGS_open_write_fault_one_in || FLAGS_open_read_fault_one_in) {
|
|
@@ -98,18 +95,10 @@ int db_stress_tool(int argc, char** argv) {
|
|
|
98
95
|
std::make_shared<CompositeEnvWrapper>(raw_env, fault_fs_guard);
|
|
99
96
|
raw_env = fault_env_guard.get();
|
|
100
97
|
}
|
|
101
|
-
if (FLAGS_write_fault_one_in) {
|
|
102
|
-
SyncPoint::GetInstance()->SetCallBack(
|
|
103
|
-
"BuildTable:BeforeFinishBuildTable",
|
|
104
|
-
[&](void*) { fault_fs_guard->EnableWriteErrorInjection(); });
|
|
105
|
-
SyncPoint::GetInstance()->EnableProcessing();
|
|
106
|
-
}
|
|
107
|
-
#endif
|
|
108
98
|
|
|
109
99
|
env_wrapper_guard = std::make_shared<DbStressEnvWrapper>(raw_env);
|
|
110
100
|
db_stress_env = env_wrapper_guard.get();
|
|
111
101
|
|
|
112
|
-
#ifndef NDEBUG
|
|
113
102
|
if (FLAGS_write_fault_one_in) {
|
|
114
103
|
// In the write injection case, we need to use the FS interface and returns
|
|
115
104
|
// the IOStatus with different error and flags. Therefore,
|
|
@@ -118,7 +107,6 @@ int db_stress_tool(int argc, char** argv) {
|
|
|
118
107
|
// CompositeEnvWrapper of env and fault_fs.
|
|
119
108
|
db_stress_env = raw_env;
|
|
120
109
|
}
|
|
121
|
-
#endif
|
|
122
110
|
|
|
123
111
|
FLAGS_rep_factory = StringToRepFactory(FLAGS_memtablerep.c_str());
|
|
124
112
|
|
|
@@ -187,8 +187,8 @@ Status FileExpectedStateManager::Open() {
|
|
|
187
187
|
// Check if crash happened after creating state file but before creating
|
|
188
188
|
// trace file.
|
|
189
189
|
if (saved_seqno_ != kMaxSequenceNumber) {
|
|
190
|
-
std::string saved_seqno_trace_path =
|
|
191
|
-
|
|
190
|
+
std::string saved_seqno_trace_path = GetPathForFilename(
|
|
191
|
+
std::to_string(saved_seqno_) + kTraceFilenameSuffix);
|
|
192
192
|
Status exists_status = Env::Default()->FileExists(saved_seqno_trace_path);
|
|
193
193
|
if (exists_status.ok()) {
|
|
194
194
|
found_trace = true;
|
|
@@ -205,7 +205,7 @@ Status FileExpectedStateManager::Open() {
|
|
|
205
205
|
std::unique_ptr<WritableFile> wfile;
|
|
206
206
|
const EnvOptions soptions;
|
|
207
207
|
std::string saved_seqno_trace_path =
|
|
208
|
-
GetPathForFilename(
|
|
208
|
+
GetPathForFilename(std::to_string(saved_seqno_) + kTraceFilenameSuffix);
|
|
209
209
|
s = Env::Default()->NewWritableFile(saved_seqno_trace_path, &wfile,
|
|
210
210
|
soptions);
|
|
211
211
|
}
|
|
@@ -257,14 +257,14 @@ Status FileExpectedStateManager::Open() {
|
|
|
257
257
|
Status FileExpectedStateManager::SaveAtAndAfter(DB* db) {
|
|
258
258
|
SequenceNumber seqno = db->GetLatestSequenceNumber();
|
|
259
259
|
|
|
260
|
-
std::string state_filename =
|
|
260
|
+
std::string state_filename = std::to_string(seqno) + kStateFilenameSuffix;
|
|
261
261
|
std::string state_file_temp_path = GetTempPathForFilename(state_filename);
|
|
262
262
|
std::string state_file_path = GetPathForFilename(state_filename);
|
|
263
263
|
|
|
264
264
|
std::string latest_file_path =
|
|
265
265
|
GetPathForFilename(kLatestBasename + kStateFilenameSuffix);
|
|
266
266
|
|
|
267
|
-
std::string trace_filename =
|
|
267
|
+
std::string trace_filename = std::to_string(seqno) + kTraceFilenameSuffix;
|
|
268
268
|
std::string trace_file_path = GetPathForFilename(trace_filename);
|
|
269
269
|
|
|
270
270
|
// Populate a tempfile and then rename it to atomically create "<seqno>.state"
|
|
@@ -311,13 +311,13 @@ Status FileExpectedStateManager::SaveAtAndAfter(DB* db) {
|
|
|
311
311
|
// again, even if we crash.
|
|
312
312
|
if (s.ok() && old_saved_seqno != kMaxSequenceNumber &&
|
|
313
313
|
old_saved_seqno != saved_seqno_) {
|
|
314
|
-
s = Env::Default()->DeleteFile(
|
|
315
|
-
|
|
314
|
+
s = Env::Default()->DeleteFile(GetPathForFilename(
|
|
315
|
+
std::to_string(old_saved_seqno) + kStateFilenameSuffix));
|
|
316
316
|
}
|
|
317
317
|
if (s.ok() && old_saved_seqno != kMaxSequenceNumber &&
|
|
318
318
|
old_saved_seqno != saved_seqno_) {
|
|
319
|
-
s = Env::Default()->DeleteFile(
|
|
320
|
-
|
|
319
|
+
s = Env::Default()->DeleteFile(GetPathForFilename(
|
|
320
|
+
std::to_string(old_saved_seqno) + kTraceFilenameSuffix));
|
|
321
321
|
}
|
|
322
322
|
return s;
|
|
323
323
|
}
|
|
@@ -461,7 +461,8 @@ Status FileExpectedStateManager::Restore(DB* db) {
|
|
|
461
461
|
return Status::Corruption("DB is older than any restorable expected state");
|
|
462
462
|
}
|
|
463
463
|
|
|
464
|
-
std::string state_filename =
|
|
464
|
+
std::string state_filename =
|
|
465
|
+
std::to_string(saved_seqno_) + kStateFilenameSuffix;
|
|
465
466
|
std::string state_file_path = GetPathForFilename(state_filename);
|
|
466
467
|
|
|
467
468
|
std::string latest_file_temp_path =
|
|
@@ -469,7 +470,8 @@ Status FileExpectedStateManager::Restore(DB* db) {
|
|
|
469
470
|
std::string latest_file_path =
|
|
470
471
|
GetPathForFilename(kLatestBasename + kStateFilenameSuffix);
|
|
471
472
|
|
|
472
|
-
std::string trace_filename =
|
|
473
|
+
std::string trace_filename =
|
|
474
|
+
std::to_string(saved_seqno_) + kTraceFilenameSuffix;
|
|
473
475
|
std::string trace_file_path = GetPathForFilename(trace_filename);
|
|
474
476
|
|
|
475
477
|
std::unique_ptr<TraceReader> trace_reader;
|