@nxtedition/rocksdb 10.0.13 → 10.0.15
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/.tap/coverage/213879bb-47ae-470e-bb54-f4157d9f60e2.json +162898 -0
- package/.tap/processinfo/{4c642b53-6895-4ef0-9391-7c6b8d484262.json → 213879bb-47ae-470e-bb54-f4157d9f60e2.json} +117 -121
- package/.tap/test-results/node_modules/abstract-level/test/get-test.js.tap +0 -0
- package/.tap/test-results/test/abstract-level-test.js.tap +1705 -0
- package/.tap/test-results/test/batch-test.js.tap +12 -0
- package/.tap/test-results/test/chained-batch-gc-test.js.tap +11 -0
- package/.tap/test-results/test/cleanup-hanging-iterators-test.js.tap +58 -0
- package/.tap/test-results/test/clear-gc-test.js.tap +13 -0
- package/.tap/test-results/test/column-test.js.tap +55 -0
- package/.tap/test-results/test/common.js.tap +0 -0
- package/.tap/test-results/test/compression-test.js.tap +30 -0
- package/.tap/test-results/test/db-identity.js.tap +12 -0
- package/.tap/test-results/test/electron.js.tap +0 -0
- package/.tap/test-results/test/env-cleanup-hook-test.js.tap +2 -0
- package/.tap/test-results/test/env-cleanup-hook.js.tap +0 -0
- package/.tap/test-results/test/gc.js.tap +0 -0
- package/.tap/test-results/test/getproperty-test.js.tap +29 -0
- package/.tap/test-results/test/iterator-gc-test.js.tap +4 -0
- package/.tap/test-results/test/iterator-hwm-test.js.tap +24 -0
- package/.tap/test-results/test/iterator-recursion-test.js.tap +12 -0
- package/.tap/test-results/test/iterator-starvation-test.js.tap +2 -0
- package/.tap/test-results/test/iterator-test.js.tap +0 -0
- package/.tap/test-results/test/leak-tester-batch.js.tap +0 -0
- package/.tap/test-results/test/leak-tester-iterator.js.tap +0 -0
- package/.tap/test-results/test/leak-tester.js.tap +0 -0
- package/.tap/test-results/test/lock-test.js.tap +0 -0
- package/.tap/test-results/test/lock.js.tap +0 -0
- package/.tap/test-results/test/make.js.tap +0 -0
- package/.tap/test-results/test/max-rev-merge.js.tap +0 -12
- package/.tap/test-results/test/merge-operator-test.js.tap +0 -0
- package/.tap/test-results/test/mkdir-test.js.tap +0 -0
- package/.tap/test-results/test/segfault-test.js.tap +0 -0
- package/.tap/test-results/test/stack-blower.js.tap +0 -0
- package/binding.cc +42 -34
- package/deps/rocksdb/rocksdb/CMakeLists.txt +44 -14
- package/deps/rocksdb/rocksdb/Makefile +34 -17
- package/deps/rocksdb/rocksdb/TARGETS +27 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +95 -42
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +5 -3
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +381 -393
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +88 -51
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +14 -7
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +1 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +21 -19
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +8 -7
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +1 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +89 -13
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +16 -8
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +6 -6
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +15 -9
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +16 -13
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +306 -23
- package/deps/rocksdb/rocksdb/cache/typed_cache.h +3 -4
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +30 -27
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +8 -10
- package/deps/rocksdb/rocksdb/db/attribute_group_iterator_impl.cc +20 -0
- package/deps/rocksdb/rocksdb/db/attribute_group_iterator_impl.h +83 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +19 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +6 -5
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +18 -21
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +5 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +7 -6
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +56 -27
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +11 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +20 -19
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +106 -31
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +5 -8
- package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.cc +4 -2
- package/deps/rocksdb/rocksdb/db/builder.cc +89 -44
- package/deps/rocksdb/rocksdb/db/builder.h +4 -6
- package/deps/rocksdb/rocksdb/db/c.cc +205 -57
- package/deps/rocksdb/rocksdb/db/c_test.c +141 -20
- package/deps/rocksdb/rocksdb/db/coalescing_iterator.cc +47 -0
- package/deps/rocksdb/rocksdb/db/coalescing_iterator.h +79 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +100 -36
- package/deps/rocksdb/rocksdb/db/column_family.h +46 -28
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +168 -46
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +51 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +72 -24
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +11 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +7 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +87 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +310 -70
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +78 -62
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +33 -96
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +18 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +7 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +42 -22
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +20 -16
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +7 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +18 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +95 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +6 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +213 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +7 -8
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +16 -16
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +75 -142
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +577 -34
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/convenience.cc +1 -1
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +7 -38
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +366 -136
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +9 -10
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +282 -6
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +551 -150
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +41 -13
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +54 -17
- package/deps/rocksdb/rocksdb/db/db_follower_test.cc +527 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +40 -58
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +34 -45
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +699 -580
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +308 -230
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +180 -107
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +6 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +10 -6
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +36 -61
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +347 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.h +54 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +206 -155
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +5 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +41 -39
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +26 -22
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +14 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +126 -46
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +21 -9
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +294 -0
- package/deps/rocksdb/rocksdb/db/db_iter.cc +116 -78
- package/deps/rocksdb/rocksdb/db/db_iter.h +31 -7
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +34 -14
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +69 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +153 -18
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +9 -11
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +9 -1
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +6 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +105 -0
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +97 -111
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +12 -3
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +82 -30
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +64 -22
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +74 -0
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +175 -47
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +4 -3
- package/deps/rocksdb/rocksdb/db/db_test.cc +133 -109
- package/deps/rocksdb/rocksdb/db/db_test2.cc +227 -139
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +42 -19
- package/deps/rocksdb/rocksdb/db/db_test_util.h +67 -24
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +140 -2
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +17 -19
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +332 -87
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +250 -30
- package/deps/rocksdb/rocksdb/db/dbformat.cc +41 -8
- package/deps/rocksdb/rocksdb/db/dbformat.h +100 -17
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +48 -8
- package/deps/rocksdb/rocksdb/db/error_handler.cc +102 -116
- package/deps/rocksdb/rocksdb/db/error_handler.h +28 -6
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +263 -99
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +3 -1
- package/deps/rocksdb/rocksdb/db/experimental.cc +1073 -7
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +261 -111
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +263 -183
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +31 -12
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +698 -7
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +5 -3
- package/deps/rocksdb/rocksdb/db/flush_job.cc +41 -41
- package/deps/rocksdb/rocksdb/db/flush_job.h +11 -8
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +90 -13
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +19 -6
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +12 -12
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +83 -52
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +169 -2
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -6
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -2
- package/deps/rocksdb/rocksdb/db/job_context.h +17 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/log_reader.cc +44 -20
- package/deps/rocksdb/rocksdb/db/log_reader.h +3 -0
- package/deps/rocksdb/rocksdb/db/log_test.cc +81 -17
- package/deps/rocksdb/rocksdb/db/log_writer.cc +135 -92
- package/deps/rocksdb/rocksdb/db/log_writer.h +11 -10
- package/deps/rocksdb/rocksdb/db/malloc_stats.cc +2 -3
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/memtable.cc +82 -62
- package/deps/rocksdb/rocksdb/db/memtable.h +17 -9
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +19 -13
- package/deps/rocksdb/rocksdb/db/memtable_list.h +3 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +38 -5
- package/deps/rocksdb/rocksdb/db/merge_context.h +3 -0
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +34 -156
- package/deps/rocksdb/rocksdb/db/merge_helper.h +52 -46
- package/deps/rocksdb/rocksdb/db/merge_test.cc +16 -11
- package/deps/rocksdb/rocksdb/db/multi_cf_iterator_impl.h +289 -0
- package/deps/rocksdb/rocksdb/db/multi_cf_iterator_test.cc +918 -0
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +4 -6
- package/deps/rocksdb/rocksdb/db/options_file_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/output_validator.cc +8 -12
- package/deps/rocksdb/rocksdb/db/output_validator.h +1 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +23 -4
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +2 -3
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +2 -2
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +3 -6
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +21 -8
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +0 -2
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +0 -1
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +17 -4
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +6 -3
- package/deps/rocksdb/rocksdb/db/repair.cc +35 -29
- package/deps/rocksdb/rocksdb/db/repair_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +428 -156
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +393 -227
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +154 -82
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +2 -2
- package/deps/rocksdb/rocksdb/db/table_cache.cc +9 -11
- package/deps/rocksdb/rocksdb/db/table_cache.h +2 -1
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +8 -3
- package/deps/rocksdb/rocksdb/db/table_properties_collector.h +27 -26
- package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +23 -23
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +5 -5
- package/deps/rocksdb/rocksdb/db/version_builder.cc +6 -0
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +62 -29
- package/deps/rocksdb/rocksdb/db/version_edit.cc +1 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +30 -11
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +291 -116
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +54 -11
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/version_set.cc +301 -141
- package/deps/rocksdb/rocksdb/db/version_set.h +90 -33
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +817 -193
- package/deps/rocksdb/rocksdb/db/version_util.h +10 -5
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +15 -11
- package/deps/rocksdb/rocksdb/db/wal_manager.h +2 -1
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +10 -9
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +403 -28
- package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +2 -2
- package/deps/rocksdb/rocksdb/db/write_batch.cc +204 -18
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +4 -0
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +149 -5
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/write_stall_stats.h +7 -7
- package/deps/rocksdb/rocksdb/db/write_thread.cc +86 -47
- package/deps/rocksdb/rocksdb/db/write_thread.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +176 -68
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +337 -125
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +38 -9
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +126 -34
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.h +2 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +161 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +267 -9
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +13 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +9 -9
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +535 -86
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +27 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +8 -15
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +46 -21
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +74 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +28 -11
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +426 -151
- package/deps/rocksdb/rocksdb/env/composite_env.cc +1 -1
- package/deps/rocksdb/rocksdb/env/emulated_clock.h +6 -6
- package/deps/rocksdb/rocksdb/env/env.cc +21 -11
- package/deps/rocksdb/rocksdb/env/env_basic_test.cc +9 -9
- package/deps/rocksdb/rocksdb/env/env_chroot.cc +3 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +3 -3
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -2
- package/deps/rocksdb/rocksdb/env/env_posix.cc +12 -10
- package/deps/rocksdb/rocksdb/env/env_test.cc +24 -18
- package/deps/rocksdb/rocksdb/env/file_system.cc +7 -6
- package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +3 -3
- package/deps/rocksdb/rocksdb/env/file_system_tracer.h +3 -3
- package/deps/rocksdb/rocksdb/env/fs_on_demand.cc +331 -0
- package/deps/rocksdb/rocksdb/env/fs_on_demand.h +139 -0
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +14 -15
- package/deps/rocksdb/rocksdb/env/io_posix.cc +15 -10
- package/deps/rocksdb/rocksdb/env/io_posix.h +86 -92
- package/deps/rocksdb/rocksdb/env/mock_env.cc +1 -1
- package/deps/rocksdb/rocksdb/env/mock_env_test.cc +6 -6
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +8 -6
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +1 -1
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +599 -592
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +312 -200
- package/deps/rocksdb/rocksdb/file/file_util.cc +19 -14
- package/deps/rocksdb/rocksdb/file/file_util.h +34 -24
- package/deps/rocksdb/rocksdb/file/filename.cc +32 -17
- package/deps/rocksdb/rocksdb/file/filename.h +51 -53
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +82 -441
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +7 -6
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -5
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +9 -3
- package/deps/rocksdb/rocksdb/file/read_write_util.h +3 -3
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +6 -2
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +9 -4
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +8 -4
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +110 -89
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +34 -17
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +16 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +39 -189
- package/deps/rocksdb/rocksdb/include/rocksdb/attribute_groups.h +114 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +91 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +52 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +27 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +146 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +254 -151
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +39 -36
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +431 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +57 -23
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +27 -57
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator_base.h +74 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +11 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +146 -71
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +6 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +7 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +17 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +17 -19
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +10 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +18 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +12 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +118 -116
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +26 -21
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +18 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/threadpool.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record_result.h +8 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +12 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +8 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +5 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +159 -167
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +52 -17
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +3 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/types_util.h +36 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +118 -20
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +87 -45
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +26 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +22 -1
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +7 -9
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +5 -6
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +2 -2
- package/deps/rocksdb/rocksdb/logging/env_logger.h +3 -3
- package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -1
- package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -3
- package/deps/rocksdb/rocksdb/memory/arena.h +11 -0
- package/deps/rocksdb/rocksdb/memory/arena_test.cc +17 -2
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +1 -1
- package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +1 -0
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
- package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +11 -10
- package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +8 -7
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +2 -2
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +3 -3
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +2 -2
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +3 -1
- package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +2 -2
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +20 -10
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +15 -15
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +7 -3
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +14 -14
- package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +4 -0
- package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +8 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +5 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +64 -58
- package/deps/rocksdb/rocksdb/monitoring/statistics_impl.h +11 -12
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +7 -1
- package/deps/rocksdb/rocksdb/options/cf_options.cc +20 -28
- package/deps/rocksdb/rocksdb/options/cf_options.h +7 -14
- package/deps/rocksdb/rocksdb/options/configurable.cc +20 -12
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +4 -6
- package/deps/rocksdb/rocksdb/options/configurable_test.h +2 -2
- package/deps/rocksdb/rocksdb/options/customizable.cc +1 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +3 -2
- package/deps/rocksdb/rocksdb/options/db_options.cc +22 -48
- package/deps/rocksdb/rocksdb/options/db_options.h +3 -3
- package/deps/rocksdb/rocksdb/options/offpeak_time_info.cc +59 -0
- package/deps/rocksdb/rocksdb/options/offpeak_time_info.h +37 -0
- package/deps/rocksdb/rocksdb/options/options.cc +14 -6
- package/deps/rocksdb/rocksdb/options/options_helper.cc +8 -13
- package/deps/rocksdb/rocksdb/options/options_helper.h +2 -3
- package/deps/rocksdb/rocksdb/options/options_parser.cc +35 -26
- package/deps/rocksdb/rocksdb/options/options_parser.h +4 -2
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +3 -3
- package/deps/rocksdb/rocksdb/options/options_test.cc +30 -23
- package/deps/rocksdb/rocksdb/port/lang.h +1 -1
- package/deps/rocksdb/rocksdb/port/port_example.h +7 -7
- package/deps/rocksdb/rocksdb/port/port_posix.cc +7 -7
- package/deps/rocksdb/rocksdb/port/port_posix.h +7 -7
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +85 -24
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +1 -2
- package/deps/rocksdb/rocksdb/port/win/io_win.cc +4 -4
- package/deps/rocksdb/rocksdb/port/win/io_win.h +13 -17
- package/deps/rocksdb/rocksdb/port/win/port_win.cc +3 -2
- package/deps/rocksdb/rocksdb/port/win/port_win.h +4 -4
- package/deps/rocksdb/rocksdb/src.mk +16 -1
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +1 -7
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +39 -15
- package/deps/rocksdb/rocksdb/table/block_based/block.h +7 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +80 -40
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +2 -3
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +20 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +228 -122
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +50 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +82 -25
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +17 -20
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +47 -13
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +163 -50
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +23 -23
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +6 -4
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +32 -27
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +7 -10
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +25 -7
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -5
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +4 -6
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +6 -6
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +3 -5
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +4 -5
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +138 -86
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +22 -0
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +26 -13
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +11 -11
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +11 -11
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +10 -5
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +6 -7
- package/deps/rocksdb/rocksdb/table/format.cc +15 -21
- package/deps/rocksdb/rocksdb/table/format.h +8 -0
- package/deps/rocksdb/rocksdb/table/get_context.cc +121 -78
- package/deps/rocksdb/rocksdb/table/get_context.h +11 -6
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +12 -5
- package/deps/rocksdb/rocksdb/table/iterator.cc +4 -0
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -1
- package/deps/rocksdb/rocksdb/table/merger_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +5 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.h +4 -3
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +15 -11
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +8 -4
- package/deps/rocksdb/rocksdb/table/mock_table.cc +12 -8
- package/deps/rocksdb/rocksdb/table/mock_table.h +1 -3
- package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +0 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +29 -21
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +4 -14
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +7 -8
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +7 -5
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +15 -8
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +1 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +75 -30
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +7 -2
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +76 -11
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +358 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +93 -16
- package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +12 -12
- package/deps/rocksdb/rocksdb/table/table_builder.h +12 -6
- package/deps/rocksdb/rocksdb/table/table_iterator.h +69 -0
- package/deps/rocksdb/rocksdb/table/table_properties.cc +1 -1
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +8 -6
- package/deps/rocksdb/rocksdb/table/table_test.cc +732 -121
- package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +3 -1
- package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
- package/deps/rocksdb/rocksdb/table/unique_id.cc +2 -2
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +2 -2
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +5 -5
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -6
- package/deps/rocksdb/rocksdb/test_util/testharness.cc +2 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +56 -32
- package/deps/rocksdb/rocksdb/test_util/testutil.h +57 -34
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +18 -1
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +1 -0
- 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 +210 -112
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +3 -3
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +22 -27
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +10 -4
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +328 -59
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +34 -2
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +64 -17
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +8 -1
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +3 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +136 -10
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +4 -2
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +50 -8
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +51 -45
- package/deps/rocksdb/rocksdb/trace_replay/trace_record.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.h +10 -10
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +14 -4
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +2 -1
- package/deps/rocksdb/rocksdb/unreleased_history/README.txt +2 -2
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +2 -4
- package/deps/rocksdb/rocksdb/util/atomic.h +111 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +5 -1
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +12 -2
- package/deps/rocksdb/rocksdb/util/cast_util.h +22 -0
- package/deps/rocksdb/rocksdb/util/coding.h +34 -38
- package/deps/rocksdb/rocksdb/util/coding_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/comparator.cc +18 -5
- package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +4 -4
- package/deps/rocksdb/rocksdb/util/crc32c.cc +3 -6
- package/deps/rocksdb/rocksdb/util/crc32c.h +3 -3
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +3 -4
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +1 -2
- package/deps/rocksdb/rocksdb/util/crc32c_test.cc +2 -4
- package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -4
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +3 -2
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +3 -3
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +83 -59
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +3 -3
- package/deps/rocksdb/rocksdb/util/hash.h +4 -4
- package/deps/rocksdb/rocksdb/util/log_write_bench.cc +3 -3
- package/deps/rocksdb/rocksdb/util/murmurhash.cc +1 -1
- package/deps/rocksdb/rocksdb/util/random.cc +3 -4
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +23 -43
- package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +21 -16
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +44 -24
- package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +2 -3
- package/deps/rocksdb/rocksdb/util/ribbon_config.cc +2 -10
- package/deps/rocksdb/rocksdb/util/ribbon_impl.h +2 -2
- package/deps/rocksdb/rocksdb/util/slice.cc +4 -5
- package/deps/rocksdb/rocksdb/util/slice_test.cc +70 -4
- package/deps/rocksdb/rocksdb/util/status.cc +1 -1
- package/deps/rocksdb/rocksdb/util/stderr_logger.cc +39 -7
- package/deps/rocksdb/rocksdb/util/stderr_logger.h +12 -2
- package/deps/rocksdb/rocksdb/util/string_util.cc +31 -18
- package/deps/rocksdb/rocksdb/util/string_util.h +9 -9
- package/deps/rocksdb/rocksdb/util/string_util_test.cc +36 -0
- package/deps/rocksdb/rocksdb/util/thread_list_test.cc +5 -5
- package/deps/rocksdb/rocksdb/util/thread_local.cc +1 -1
- package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +3 -4
- package/deps/rocksdb/rocksdb/util/threadpool_imp.h +1 -1
- package/deps/rocksdb/rocksdb/util/udt_util_test.cc +4 -4
- package/deps/rocksdb/rocksdb/util/vector_iterator.h +12 -16
- package/deps/rocksdb/rocksdb/util/write_batch_util.h +5 -0
- package/deps/rocksdb/rocksdb/util/xxhash.h +116 -116
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_impl.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +33 -31
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +123 -22
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +9 -7
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +3 -6
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +22 -55
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +113 -74
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +36 -24
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +27 -11
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +5 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +68 -54
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -6
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +16 -16
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +3 -2
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +29 -9
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +27 -14
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +3 -3
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +8 -8
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -7
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +7 -8
- package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +2 -4
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +9 -7
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +7 -10
- package/deps/rocksdb/rocksdb/utilities/debug.cc +6 -2
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +18 -11
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +18 -25
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +32 -23
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +51 -48
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +2 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +3 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +7 -7
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +10 -10
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +5 -6
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +5 -6
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -8
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +29 -21
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +14 -15
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_bench.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -5
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +8 -8
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +4 -4
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +6 -9
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +6 -6
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +5 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +12 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +17 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +4 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +3 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +442 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +27 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +28 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +70 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +50 -22
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +64 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +76 -17
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +6 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +573 -77
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +65 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +13 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +1 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +14 -16
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +37 -24
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +23 -29
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +4 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +31 -40
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +8 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +3 -4
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +34 -18
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +21 -25
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +26 -5
- package/deps/rocksdb/rocksdb/utilities/types_util.cc +88 -0
- package/deps/rocksdb/rocksdb/utilities/types_util_test.cc +98 -0
- package/deps/rocksdb/rocksdb/utilities/util_merge_operators_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +463 -90
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +259 -76
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +70 -14
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +609 -10
- package/deps/rocksdb/rocksdb.gyp +8 -4
- package/index.js +18 -4
- package/max_rev_operator.h +2 -0
- package/package.json +2 -2
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
- package/util.h +29 -5
- package/.tap/coverage/4c642b53-6895-4ef0-9391-7c6b8d484262.json +0 -14334
- package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +0 -57
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
#include "monitoring/histogram.h"
|
|
47
47
|
#include "options/options_helper.h"
|
|
48
48
|
#include "port/port.h"
|
|
49
|
+
#include "rocksdb/advanced_options.h"
|
|
49
50
|
#include "rocksdb/cache.h"
|
|
50
51
|
#include "rocksdb/env.h"
|
|
51
52
|
#include "rocksdb/slice.h"
|
|
@@ -136,7 +137,8 @@ DECLARE_int32(universal_min_merge_width);
|
|
|
136
137
|
DECLARE_int32(universal_max_merge_width);
|
|
137
138
|
DECLARE_int32(universal_max_size_amplification_percent);
|
|
138
139
|
DECLARE_int32(clear_column_family_one_in);
|
|
139
|
-
DECLARE_int32(
|
|
140
|
+
DECLARE_int32(get_live_files_apis_one_in);
|
|
141
|
+
DECLARE_int32(get_all_column_family_metadata_one_in);
|
|
140
142
|
DECLARE_int32(get_sorted_wal_files_one_in);
|
|
141
143
|
DECLARE_int32(get_current_wal_file_one_in);
|
|
142
144
|
DECLARE_int32(set_options_one_in);
|
|
@@ -155,6 +157,7 @@ DECLARE_int32(unpartitioned_pinning);
|
|
|
155
157
|
DECLARE_string(cache_type);
|
|
156
158
|
DECLARE_uint64(subcompactions);
|
|
157
159
|
DECLARE_uint64(periodic_compaction_seconds);
|
|
160
|
+
DECLARE_string(daily_offpeak_time_utc);
|
|
158
161
|
DECLARE_uint64(compaction_ttl);
|
|
159
162
|
DECLARE_bool(fifo_allow_compaction);
|
|
160
163
|
DECLARE_bool(allow_concurrent_memtable_write);
|
|
@@ -206,9 +209,14 @@ DECLARE_int32(ingest_external_file_one_in);
|
|
|
206
209
|
DECLARE_int32(ingest_external_file_width);
|
|
207
210
|
DECLARE_int32(compact_files_one_in);
|
|
208
211
|
DECLARE_int32(compact_range_one_in);
|
|
212
|
+
DECLARE_int32(promote_l0_one_in);
|
|
209
213
|
DECLARE_int32(mark_for_compaction_one_file_in);
|
|
210
214
|
DECLARE_int32(flush_one_in);
|
|
215
|
+
DECLARE_int32(key_may_exist_one_in);
|
|
216
|
+
DECLARE_int32(reset_stats_one_in);
|
|
211
217
|
DECLARE_int32(pause_background_one_in);
|
|
218
|
+
DECLARE_int32(disable_file_deletions_one_in);
|
|
219
|
+
DECLARE_int32(disable_manual_compaction_one_in);
|
|
212
220
|
DECLARE_int32(compact_range_width);
|
|
213
221
|
DECLARE_int32(acquire_snapshot_one_in);
|
|
214
222
|
DECLARE_bool(compare_full_db_state_snapshot);
|
|
@@ -245,6 +253,7 @@ DECLARE_string(memtablerep);
|
|
|
245
253
|
DECLARE_int32(prefix_size);
|
|
246
254
|
DECLARE_bool(use_merge);
|
|
247
255
|
DECLARE_uint32(use_put_entity_one_in);
|
|
256
|
+
DECLARE_bool(use_attribute_group);
|
|
248
257
|
DECLARE_bool(use_full_merge_v1);
|
|
249
258
|
DECLARE_int32(sync_wal_one_in);
|
|
250
259
|
DECLARE_bool(avoid_unnecessary_blocking_io);
|
|
@@ -257,8 +266,12 @@ DECLARE_int32(verify_file_checksums_one_in);
|
|
|
257
266
|
DECLARE_int32(verify_db_one_in);
|
|
258
267
|
DECLARE_int32(continuous_verification_interval);
|
|
259
268
|
DECLARE_int32(get_property_one_in);
|
|
269
|
+
DECLARE_int32(get_properties_of_all_tables_one_in);
|
|
260
270
|
DECLARE_string(file_checksum_impl);
|
|
261
271
|
DECLARE_bool(verification_only);
|
|
272
|
+
DECLARE_string(last_level_temperature);
|
|
273
|
+
DECLARE_string(default_write_temperature);
|
|
274
|
+
DECLARE_string(default_temperature);
|
|
262
275
|
|
|
263
276
|
// Options for transaction dbs.
|
|
264
277
|
// Use TransactionDB (a.k.a. Pessimistic Transaction DB)
|
|
@@ -313,6 +326,7 @@ DECLARE_uint32(memtable_protection_bytes_per_key);
|
|
|
313
326
|
DECLARE_uint32(block_protection_bytes_per_key);
|
|
314
327
|
|
|
315
328
|
DECLARE_uint64(user_timestamp_size);
|
|
329
|
+
DECLARE_bool(persist_user_defined_timestamps);
|
|
316
330
|
DECLARE_string(secondary_cache_uri);
|
|
317
331
|
DECLARE_int32(secondary_cache_fault_one_in);
|
|
318
332
|
|
|
@@ -339,9 +353,9 @@ DECLARE_uint32(memtable_max_range_deletions);
|
|
|
339
353
|
DECLARE_uint32(bottommost_file_compaction_delay);
|
|
340
354
|
|
|
341
355
|
// Tiered storage
|
|
342
|
-
DECLARE_bool(enable_tiered_storage); // set last_level_temperature
|
|
343
356
|
DECLARE_int64(preclude_last_level_data_seconds);
|
|
344
357
|
DECLARE_int64(preserve_internal_time_seconds);
|
|
358
|
+
DECLARE_uint32(use_timed_put_one_in);
|
|
345
359
|
|
|
346
360
|
DECLARE_int32(verify_iterator_with_expected_state_one_in);
|
|
347
361
|
DECLARE_bool(preserve_unverified_changes);
|
|
@@ -350,12 +364,62 @@ DECLARE_uint64(readahead_size);
|
|
|
350
364
|
DECLARE_uint64(initial_auto_readahead_size);
|
|
351
365
|
DECLARE_uint64(max_auto_readahead_size);
|
|
352
366
|
DECLARE_uint64(num_file_reads_for_auto_readahead);
|
|
353
|
-
DECLARE_bool(use_io_uring);
|
|
354
367
|
DECLARE_bool(auto_readahead_size);
|
|
368
|
+
DECLARE_bool(allow_fallocate);
|
|
369
|
+
DECLARE_int32(table_cache_numshardbits);
|
|
370
|
+
DECLARE_bool(enable_write_thread_adaptive_yield);
|
|
371
|
+
DECLARE_uint64(log_readahead_size);
|
|
372
|
+
DECLARE_uint64(bgerror_resume_retry_interval);
|
|
373
|
+
DECLARE_uint64(delete_obsolete_files_period_micros);
|
|
374
|
+
DECLARE_uint64(max_log_file_size);
|
|
375
|
+
DECLARE_uint64(log_file_time_to_roll);
|
|
376
|
+
DECLARE_bool(use_adaptive_mutex);
|
|
377
|
+
DECLARE_bool(advise_random_on_open);
|
|
378
|
+
DECLARE_uint64(WAL_ttl_seconds);
|
|
379
|
+
DECLARE_uint64(WAL_size_limit_MB);
|
|
380
|
+
DECLARE_bool(strict_bytes_per_sync);
|
|
381
|
+
DECLARE_bool(avoid_flush_during_shutdown);
|
|
382
|
+
DECLARE_bool(fill_cache);
|
|
383
|
+
DECLARE_bool(optimize_multiget_for_io);
|
|
384
|
+
DECLARE_bool(memtable_insert_hint_per_batch);
|
|
385
|
+
DECLARE_bool(dump_malloc_stats);
|
|
386
|
+
DECLARE_uint64(stats_history_buffer_size);
|
|
387
|
+
DECLARE_bool(skip_stats_update_on_db_open);
|
|
388
|
+
DECLARE_bool(optimize_filters_for_hits);
|
|
389
|
+
DECLARE_uint64(sample_for_compression);
|
|
390
|
+
DECLARE_bool(report_bg_io_stats);
|
|
391
|
+
DECLARE_bool(cache_index_and_filter_blocks_with_high_priority);
|
|
392
|
+
DECLARE_bool(use_delta_encoding);
|
|
393
|
+
DECLARE_bool(verify_compression);
|
|
394
|
+
DECLARE_uint32(read_amp_bytes_per_bit);
|
|
395
|
+
DECLARE_bool(enable_index_compression);
|
|
396
|
+
DECLARE_uint32(index_shortening);
|
|
397
|
+
DECLARE_uint32(metadata_charge_policy);
|
|
398
|
+
DECLARE_bool(use_adaptive_mutex_lru);
|
|
399
|
+
DECLARE_uint32(compress_format_version);
|
|
400
|
+
DECLARE_uint64(manifest_preallocation_size);
|
|
401
|
+
DECLARE_bool(enable_checksum_handoff);
|
|
402
|
+
DECLARE_uint64(max_total_wal_size);
|
|
403
|
+
DECLARE_double(high_pri_pool_ratio);
|
|
404
|
+
DECLARE_double(low_pri_pool_ratio);
|
|
405
|
+
DECLARE_uint64(soft_pending_compaction_bytes_limit);
|
|
406
|
+
DECLARE_uint64(hard_pending_compaction_bytes_limit);
|
|
407
|
+
DECLARE_uint64(max_sequential_skip_in_iterations);
|
|
408
|
+
DECLARE_bool(enable_sst_partitioner_factory);
|
|
409
|
+
DECLARE_bool(enable_do_not_compress_roles);
|
|
410
|
+
DECLARE_bool(block_align);
|
|
411
|
+
DECLARE_uint32(lowest_used_cache_tier);
|
|
412
|
+
DECLARE_bool(enable_custom_split_merge);
|
|
413
|
+
DECLARE_uint32(adm_policy);
|
|
414
|
+
DECLARE_bool(enable_memtable_insert_with_hint_prefix_extractor);
|
|
415
|
+
DECLARE_bool(check_multiget_consistency);
|
|
416
|
+
DECLARE_bool(check_multiget_entity_consistency);
|
|
417
|
+
DECLARE_bool(inplace_update_support);
|
|
355
418
|
|
|
356
419
|
constexpr long KB = 1024;
|
|
357
420
|
constexpr int kRandomValueMaxFactor = 3;
|
|
358
421
|
constexpr int kValueMaxLen = 100;
|
|
422
|
+
constexpr uint32_t kLargePrimeForCommonFactorSkew = 1872439133;
|
|
359
423
|
|
|
360
424
|
// wrapped posix environment
|
|
361
425
|
extern ROCKSDB_NAMESPACE::Env* db_stress_env;
|
|
@@ -447,6 +511,28 @@ inline std::string ChecksumTypeToString(ROCKSDB_NAMESPACE::ChecksumType ctype) {
|
|
|
447
511
|
return iter->first;
|
|
448
512
|
}
|
|
449
513
|
|
|
514
|
+
inline enum ROCKSDB_NAMESPACE::Temperature StringToTemperature(
|
|
515
|
+
const char* ctype) {
|
|
516
|
+
assert(ctype);
|
|
517
|
+
auto iter = std::find_if(
|
|
518
|
+
ROCKSDB_NAMESPACE::temperature_to_string.begin(),
|
|
519
|
+
ROCKSDB_NAMESPACE::temperature_to_string.end(),
|
|
520
|
+
[&](const std::pair<ROCKSDB_NAMESPACE::Temperature, std::string>&
|
|
521
|
+
temp_and_string_val) {
|
|
522
|
+
return ctype == temp_and_string_val.second;
|
|
523
|
+
});
|
|
524
|
+
assert(iter != ROCKSDB_NAMESPACE::temperature_to_string.end());
|
|
525
|
+
return iter->first;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
inline std::string TemperatureToString(
|
|
529
|
+
ROCKSDB_NAMESPACE::Temperature temperature) {
|
|
530
|
+
auto iter =
|
|
531
|
+
ROCKSDB_NAMESPACE::OptionsHelper::temperature_to_string.find(temperature);
|
|
532
|
+
assert(iter != ROCKSDB_NAMESPACE::OptionsHelper::temperature_to_string.end());
|
|
533
|
+
return iter->second;
|
|
534
|
+
}
|
|
535
|
+
|
|
450
536
|
inline std::vector<std::string> SplitString(std::string src) {
|
|
451
537
|
std::vector<std::string> ret;
|
|
452
538
|
if (src.empty()) {
|
|
@@ -488,7 +574,7 @@ inline bool GetNextPrefix(const ROCKSDB_NAMESPACE::Slice& src, std::string* v) {
|
|
|
488
574
|
#endif
|
|
489
575
|
|
|
490
576
|
// Append `val` to `*key` in fixed-width big-endian format
|
|
491
|
-
|
|
577
|
+
inline void AppendIntToString(uint64_t val, std::string* key) {
|
|
492
578
|
// PutFixed64 uses little endian
|
|
493
579
|
PutFixed64(key, val);
|
|
494
580
|
// Reverse to get big endian
|
|
@@ -517,7 +603,7 @@ extern KeyGenContext key_gen_ctx;
|
|
|
517
603
|
// - {0}...{x-1}
|
|
518
604
|
// {(x-1),0}..{(x-1),(y-1)},{(x-1),(y-1),0}..{(x-1),(y-1),(z-1)} and so on.
|
|
519
605
|
// Additionally, a trailer of 0-7 bytes could be appended.
|
|
520
|
-
|
|
606
|
+
inline std::string Key(int64_t val) {
|
|
521
607
|
uint64_t window = key_gen_ctx.window;
|
|
522
608
|
size_t levels = key_gen_ctx.weights.size();
|
|
523
609
|
std::string key;
|
|
@@ -555,7 +641,7 @@ extern inline std::string Key(int64_t val) {
|
|
|
555
641
|
}
|
|
556
642
|
|
|
557
643
|
// Given a string key, map it to an index into the expected values buffer
|
|
558
|
-
|
|
644
|
+
inline bool GetIntVal(std::string big_endian_key, uint64_t* key_p) {
|
|
559
645
|
size_t size_key = big_endian_key.size();
|
|
560
646
|
std::vector<uint64_t> prefixes;
|
|
561
647
|
|
|
@@ -610,8 +696,8 @@ inline bool GetFirstIntValInPrefix(std::string big_endian_prefix,
|
|
|
610
696
|
return GetIntVal(std::move(big_endian_prefix), key_p);
|
|
611
697
|
}
|
|
612
698
|
|
|
613
|
-
|
|
614
|
-
|
|
699
|
+
inline uint64_t GetPrefixKeyCount(const std::string& prefix,
|
|
700
|
+
const std::string& ub) {
|
|
615
701
|
uint64_t start = 0;
|
|
616
702
|
uint64_t end = 0;
|
|
617
703
|
|
|
@@ -623,7 +709,7 @@ extern inline uint64_t GetPrefixKeyCount(const std::string& prefix,
|
|
|
623
709
|
return end - start;
|
|
624
710
|
}
|
|
625
711
|
|
|
626
|
-
|
|
712
|
+
inline std::string StringToHex(const std::string& str) {
|
|
627
713
|
std::string result = "0x";
|
|
628
714
|
result.append(Slice(str).ToString(true));
|
|
629
715
|
return result;
|
|
@@ -642,49 +728,55 @@ inline std::string WideColumnsToHex(const WideColumns& columns) {
|
|
|
642
728
|
}
|
|
643
729
|
|
|
644
730
|
// Unified output format for double parameters
|
|
645
|
-
|
|
731
|
+
inline std::string FormatDoubleParam(double param) {
|
|
646
732
|
return std::to_string(param);
|
|
647
733
|
}
|
|
648
734
|
|
|
649
735
|
// Make sure that double parameter is a value we can reproduce by
|
|
650
736
|
// re-inputting the value printed.
|
|
651
|
-
|
|
737
|
+
inline void SanitizeDoubleParam(double* param) {
|
|
652
738
|
*param = std::atof(FormatDoubleParam(*param).c_str());
|
|
653
739
|
}
|
|
654
740
|
|
|
655
|
-
|
|
741
|
+
void PoolSizeChangeThread(void* v);
|
|
742
|
+
|
|
743
|
+
void DbVerificationThread(void* v);
|
|
744
|
+
|
|
745
|
+
void CompressedCacheSetCapacityThread(void* v);
|
|
656
746
|
|
|
657
|
-
|
|
747
|
+
void TimestampedSnapshotsThread(void* v);
|
|
658
748
|
|
|
659
|
-
|
|
749
|
+
void PrintKeyValue(int cf, uint64_t key, const char* value, size_t sz);
|
|
660
750
|
|
|
661
|
-
|
|
751
|
+
int64_t GenerateOneKey(ThreadState* thread, uint64_t iteration);
|
|
662
752
|
|
|
663
|
-
|
|
753
|
+
std::vector<int64_t> GenerateNKeys(ThreadState* thread, int num_keys,
|
|
754
|
+
uint64_t iteration);
|
|
664
755
|
|
|
665
|
-
|
|
756
|
+
size_t GenerateValue(uint32_t rand, char* v, size_t max_sz);
|
|
757
|
+
uint32_t GetValueBase(Slice s);
|
|
666
758
|
|
|
667
|
-
|
|
668
|
-
|
|
759
|
+
WideColumns GenerateWideColumns(uint32_t value_base, const Slice& slice);
|
|
760
|
+
WideColumns GenerateExpectedWideColumns(uint32_t value_base,
|
|
761
|
+
const Slice& slice);
|
|
762
|
+
bool VerifyWideColumns(const Slice& value, const WideColumns& columns);
|
|
763
|
+
bool VerifyWideColumns(const WideColumns& columns);
|
|
669
764
|
|
|
670
|
-
|
|
671
|
-
|
|
765
|
+
AttributeGroups GenerateAttributeGroups(
|
|
766
|
+
const std::vector<ColumnFamilyHandle*>& cfhs, uint32_t value_base,
|
|
767
|
+
const Slice& slice);
|
|
672
768
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
769
|
+
StressTest* CreateCfConsistencyStressTest();
|
|
770
|
+
StressTest* CreateBatchedOpsStressTest();
|
|
771
|
+
StressTest* CreateNonBatchedOpsStressTest();
|
|
772
|
+
StressTest* CreateMultiOpsTxnsStressTest();
|
|
773
|
+
void CheckAndSetOptionsForMultiOpsTxnStressTest();
|
|
774
|
+
void InitializeHotKeyGenerator(double alpha);
|
|
775
|
+
int64_t GetOneHotKeyID(double rand_seed, int64_t max_key);
|
|
678
776
|
|
|
679
|
-
|
|
680
|
-
extern StressTest* CreateBatchedOpsStressTest();
|
|
681
|
-
extern StressTest* CreateNonBatchedOpsStressTest();
|
|
682
|
-
extern StressTest* CreateMultiOpsTxnsStressTest();
|
|
683
|
-
extern void CheckAndSetOptionsForMultiOpsTxnStressTest();
|
|
684
|
-
extern void InitializeHotKeyGenerator(double alpha);
|
|
685
|
-
extern int64_t GetOneHotKeyID(double rand_seed, int64_t max_key);
|
|
777
|
+
std::string GetNowNanos();
|
|
686
778
|
|
|
687
|
-
|
|
779
|
+
uint64_t GetWriteUnixTime(ThreadState* thread);
|
|
688
780
|
|
|
689
781
|
std::shared_ptr<FileChecksumGenFactory> GetFileChecksumImpl(
|
|
690
782
|
const std::string& name);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
namespace ROCKSDB_NAMESPACE {
|
|
16
16
|
void ThreadBody(void* v) {
|
|
17
17
|
ThreadStatusUtil::RegisterThread(db_stress_env, ThreadStatus::USER);
|
|
18
|
-
ThreadState* thread =
|
|
18
|
+
ThreadState* thread = static_cast<ThreadState*>(v);
|
|
19
19
|
SharedState* shared = thread->shared;
|
|
20
20
|
|
|
21
21
|
if (!FLAGS_skip_verifydb && shared->ShouldVerifyAtBeginning()) {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
#pragma once
|
|
13
13
|
#include "db_stress_tool/db_stress_test_base.h"
|
|
14
14
|
namespace ROCKSDB_NAMESPACE {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
void ThreadBody(void* /*thread_state*/);
|
|
16
|
+
bool RunStressTest(SharedState*);
|
|
17
17
|
} // namespace ROCKSDB_NAMESPACE
|
|
18
18
|
#endif // GFLAGS
|
|
@@ -60,7 +60,7 @@ class DbStressRandomAccessFileWrapper : public FSRandomAccessFileOwnerWrapper {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
IOStatus ReadAsync(FSReadRequest& req, const IOOptions& options,
|
|
63
|
-
std::function<void(
|
|
63
|
+
std::function<void(FSReadRequest&, void*)> cb,
|
|
64
64
|
void* cb_arg, void** io_handle, IOHandleDeleter* del_fn,
|
|
65
65
|
IODebugContext* dbg) override {
|
|
66
66
|
#ifndef NDEBUG
|
|
@@ -76,6 +76,155 @@ class DbStressRandomAccessFileWrapper : public FSRandomAccessFileOwnerWrapper {
|
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
+
class DbStressWritableFileWrapper : public FSWritableFileOwnerWrapper {
|
|
80
|
+
public:
|
|
81
|
+
explicit DbStressWritableFileWrapper(std::unique_ptr<FSWritableFile>&& target)
|
|
82
|
+
: FSWritableFileOwnerWrapper(std::move(target)) {}
|
|
83
|
+
|
|
84
|
+
IOStatus Append(const Slice& data, const IOOptions& options,
|
|
85
|
+
IODebugContext* dbg) override {
|
|
86
|
+
#ifndef NDEBUG
|
|
87
|
+
const ThreadStatus::OperationType thread_op =
|
|
88
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
89
|
+
Env::IOActivity io_activity =
|
|
90
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
91
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
92
|
+
io_activity == options.io_activity);
|
|
93
|
+
#endif
|
|
94
|
+
return target()->Append(data, options, dbg);
|
|
95
|
+
}
|
|
96
|
+
IOStatus Append(const Slice& data, const IOOptions& options,
|
|
97
|
+
const DataVerificationInfo& verification_info,
|
|
98
|
+
IODebugContext* dbg) override {
|
|
99
|
+
#ifndef NDEBUG
|
|
100
|
+
const ThreadStatus::OperationType thread_op =
|
|
101
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
102
|
+
Env::IOActivity io_activity =
|
|
103
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
104
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
105
|
+
io_activity == options.io_activity);
|
|
106
|
+
#endif
|
|
107
|
+
return target()->Append(data, options, verification_info, dbg);
|
|
108
|
+
}
|
|
109
|
+
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
110
|
+
const IOOptions& options,
|
|
111
|
+
IODebugContext* dbg) override {
|
|
112
|
+
#ifndef NDEBUG
|
|
113
|
+
const ThreadStatus::OperationType thread_op =
|
|
114
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
115
|
+
Env::IOActivity io_activity =
|
|
116
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
117
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
118
|
+
io_activity == options.io_activity);
|
|
119
|
+
#endif
|
|
120
|
+
return target()->PositionedAppend(data, offset, options, dbg);
|
|
121
|
+
}
|
|
122
|
+
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
123
|
+
const IOOptions& options,
|
|
124
|
+
const DataVerificationInfo& verification_info,
|
|
125
|
+
IODebugContext* dbg) override {
|
|
126
|
+
#ifndef NDEBUG
|
|
127
|
+
const ThreadStatus::OperationType thread_op =
|
|
128
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
129
|
+
Env::IOActivity io_activity =
|
|
130
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
131
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
132
|
+
io_activity == options.io_activity);
|
|
133
|
+
#endif
|
|
134
|
+
return target()->PositionedAppend(data, offset, options, verification_info,
|
|
135
|
+
dbg);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
IOStatus Truncate(uint64_t size, const IOOptions& options,
|
|
139
|
+
IODebugContext* dbg) override {
|
|
140
|
+
#ifndef NDEBUG
|
|
141
|
+
const ThreadStatus::OperationType thread_op =
|
|
142
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
143
|
+
Env::IOActivity io_activity =
|
|
144
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
145
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
146
|
+
io_activity == options.io_activity);
|
|
147
|
+
#endif
|
|
148
|
+
return target()->Truncate(size, options, dbg);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
IOStatus Close(const IOOptions& options, IODebugContext* dbg) override {
|
|
152
|
+
#ifndef NDEBUG
|
|
153
|
+
const ThreadStatus::OperationType thread_op =
|
|
154
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
155
|
+
Env::IOActivity io_activity =
|
|
156
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
157
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
158
|
+
io_activity == options.io_activity);
|
|
159
|
+
#endif
|
|
160
|
+
return target()->Close(options, dbg);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
IOStatus Flush(const IOOptions& options, IODebugContext* dbg) override {
|
|
164
|
+
#ifndef NDEBUG
|
|
165
|
+
const ThreadStatus::OperationType thread_op =
|
|
166
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
167
|
+
Env::IOActivity io_activity =
|
|
168
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
169
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
170
|
+
io_activity == options.io_activity);
|
|
171
|
+
#endif
|
|
172
|
+
return target()->Flush(options, dbg);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
IOStatus Sync(const IOOptions& options, IODebugContext* dbg) override {
|
|
176
|
+
#ifndef NDEBUG
|
|
177
|
+
const ThreadStatus::OperationType thread_op =
|
|
178
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
179
|
+
Env::IOActivity io_activity =
|
|
180
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
181
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
182
|
+
io_activity == options.io_activity);
|
|
183
|
+
#endif
|
|
184
|
+
return target()->Sync(options, dbg);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
IOStatus Fsync(const IOOptions& options, IODebugContext* dbg) override {
|
|
188
|
+
#ifndef NDEBUG
|
|
189
|
+
const ThreadStatus::OperationType thread_op =
|
|
190
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
191
|
+
Env::IOActivity io_activity =
|
|
192
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
193
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
194
|
+
io_activity == options.io_activity);
|
|
195
|
+
#endif
|
|
196
|
+
return target()->Fsync(options, dbg);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
#ifdef ROCKSDB_FALLOCATE_PRESENT
|
|
200
|
+
IOStatus Allocate(uint64_t offset, uint64_t len, const IOOptions& options,
|
|
201
|
+
IODebugContext* dbg) override {
|
|
202
|
+
#ifndef NDEBUG
|
|
203
|
+
const ThreadStatus::OperationType thread_op =
|
|
204
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
205
|
+
Env::IOActivity io_activity =
|
|
206
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
207
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
208
|
+
io_activity == options.io_activity);
|
|
209
|
+
#endif
|
|
210
|
+
return target()->Allocate(offset, len, options, dbg);
|
|
211
|
+
}
|
|
212
|
+
#endif
|
|
213
|
+
|
|
214
|
+
IOStatus RangeSync(uint64_t offset, uint64_t nbytes, const IOOptions& options,
|
|
215
|
+
IODebugContext* dbg) override {
|
|
216
|
+
#ifndef NDEBUG
|
|
217
|
+
const ThreadStatus::OperationType thread_op =
|
|
218
|
+
ThreadStatusUtil::GetThreadOperation();
|
|
219
|
+
Env::IOActivity io_activity =
|
|
220
|
+
ThreadStatusUtil::TEST_GetExpectedIOActivity(thread_op);
|
|
221
|
+
assert(io_activity == Env::IOActivity::kUnknown ||
|
|
222
|
+
io_activity == options.io_activity);
|
|
223
|
+
#endif
|
|
224
|
+
return target()->RangeSync(offset, nbytes, options, dbg);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
79
228
|
class DbStressFSWrapper : public FileSystemWrapper {
|
|
80
229
|
public:
|
|
81
230
|
explicit DbStressFSWrapper(const std::shared_ptr<FileSystem>& t)
|
|
@@ -95,6 +244,17 @@ class DbStressFSWrapper : public FileSystemWrapper {
|
|
|
95
244
|
return s;
|
|
96
245
|
}
|
|
97
246
|
|
|
247
|
+
IOStatus NewWritableFile(const std::string& f, const FileOptions& file_opts,
|
|
248
|
+
std::unique_ptr<FSWritableFile>* r,
|
|
249
|
+
IODebugContext* dbg) override {
|
|
250
|
+
std::unique_ptr<FSWritableFile> file;
|
|
251
|
+
IOStatus s = target()->NewWritableFile(f, file_opts, &file, dbg);
|
|
252
|
+
if (s.ok()) {
|
|
253
|
+
r->reset(new DbStressWritableFileWrapper(std::move(file)));
|
|
254
|
+
}
|
|
255
|
+
return s;
|
|
256
|
+
}
|
|
257
|
+
|
|
98
258
|
IOStatus DeleteFile(const std::string& f, const IOOptions& opts,
|
|
99
259
|
IODebugContext* dbg) override {
|
|
100
260
|
// We determine whether it is a manifest file by searching a strong,
|