@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
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
|
|
30
30
|
// For non linux platform, the following macros are used only as place
|
|
31
31
|
// holder.
|
|
32
|
-
#if !(defined OS_LINUX) && !(defined
|
|
32
|
+
#if !(defined OS_LINUX) && !(defined OS_FREEBSD) && !(defined CYGWIN) && \
|
|
33
|
+
!(defined OS_AIX)
|
|
33
34
|
#define POSIX_FADV_NORMAL 0 /* [MC1] no further special treatment */
|
|
34
35
|
#define POSIX_FADV_RANDOM 1 /* [MC1] expect random page refs */
|
|
35
36
|
#define POSIX_FADV_SEQUENTIAL 2 /* [MC1] expect sequential page refs */
|
|
@@ -75,8 +76,8 @@ inline bool IsSectorAligned(const void* ptr, size_t sector_size) {
|
|
|
75
76
|
#if defined(ROCKSDB_IOURING_PRESENT)
|
|
76
77
|
struct Posix_IOHandle {
|
|
77
78
|
Posix_IOHandle(struct io_uring* _iu,
|
|
78
|
-
std::function<void(
|
|
79
|
-
|
|
79
|
+
std::function<void(FSReadRequest&, void*)> _cb, void* _cb_arg,
|
|
80
|
+
uint64_t _offset, size_t _len, char* _scratch,
|
|
80
81
|
bool _use_direct_io, size_t _alignment)
|
|
81
82
|
: iu(_iu),
|
|
82
83
|
cb(_cb),
|
|
@@ -91,7 +92,7 @@ struct Posix_IOHandle {
|
|
|
91
92
|
|
|
92
93
|
struct iovec iov;
|
|
93
94
|
struct io_uring* iu;
|
|
94
|
-
std::function<void(
|
|
95
|
+
std::function<void(FSReadRequest&, void*)> cb;
|
|
95
96
|
void* cb_arg;
|
|
96
97
|
uint64_t offset;
|
|
97
98
|
size_t len;
|
|
@@ -245,15 +246,15 @@ class PosixSequentialFile : public FSSequentialFile {
|
|
|
245
246
|
size_t logical_block_size, const EnvOptions& options);
|
|
246
247
|
virtual ~PosixSequentialFile();
|
|
247
248
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
249
|
+
IOStatus Read(size_t n, const IOOptions& opts, Slice* result, char* scratch,
|
|
250
|
+
IODebugContext* dbg) override;
|
|
251
|
+
IOStatus PositionedRead(uint64_t offset, size_t n, const IOOptions& opts,
|
|
252
|
+
Slice* result, char* scratch,
|
|
253
|
+
IODebugContext* dbg) override;
|
|
254
|
+
IOStatus Skip(uint64_t n) override;
|
|
255
|
+
IOStatus InvalidateCache(size_t offset, size_t length) override;
|
|
256
|
+
bool use_direct_io() const override { return use_direct_io_; }
|
|
257
|
+
size_t GetRequiredBufferAlignment() const override {
|
|
257
258
|
return logical_sector_size_;
|
|
258
259
|
}
|
|
259
260
|
};
|
|
@@ -298,31 +299,30 @@ class PosixRandomAccessFile : public FSRandomAccessFile {
|
|
|
298
299
|
);
|
|
299
300
|
virtual ~PosixRandomAccessFile();
|
|
300
301
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
IODebugContext* dbg) const override;
|
|
302
|
+
IOStatus Read(uint64_t offset, size_t n, const IOOptions& opts, Slice* result,
|
|
303
|
+
char* scratch, IODebugContext* dbg) const override;
|
|
304
304
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
IODebugContext* dbg) override;
|
|
305
|
+
IOStatus MultiRead(FSReadRequest* reqs, size_t num_reqs,
|
|
306
|
+
const IOOptions& options, IODebugContext* dbg) override;
|
|
308
307
|
|
|
309
|
-
|
|
310
|
-
|
|
308
|
+
IOStatus Prefetch(uint64_t offset, size_t n, const IOOptions& opts,
|
|
309
|
+
IODebugContext* dbg) override;
|
|
311
310
|
|
|
312
311
|
#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_AIX)
|
|
313
|
-
|
|
312
|
+
size_t GetUniqueId(char* id, size_t max_size) const override;
|
|
314
313
|
#endif
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
314
|
+
void Hint(AccessPattern pattern) override;
|
|
315
|
+
IOStatus InvalidateCache(size_t offset, size_t length) override;
|
|
316
|
+
bool use_direct_io() const override { return use_direct_io_; }
|
|
317
|
+
size_t GetRequiredBufferAlignment() const override {
|
|
319
318
|
return logical_sector_size_;
|
|
320
319
|
}
|
|
321
|
-
|
|
322
|
-
virtual IOStatus ReadAsync(
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
320
|
+
|
|
321
|
+
virtual IOStatus ReadAsync(FSReadRequest& req, const IOOptions& opts,
|
|
322
|
+
std::function<void(FSReadRequest&, void*)> cb,
|
|
323
|
+
void* cb_arg, void** io_handle,
|
|
324
|
+
IOHandleDeleter* del_fn,
|
|
325
|
+
IODebugContext* dbg) override;
|
|
326
326
|
};
|
|
327
327
|
|
|
328
328
|
class PosixWritableFile : public FSWritableFile {
|
|
@@ -350,47 +350,44 @@ class PosixWritableFile : public FSWritableFile {
|
|
|
350
350
|
|
|
351
351
|
// Need to implement this so the file is truncated correctly
|
|
352
352
|
// with direct I/O
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
353
|
+
IOStatus Truncate(uint64_t size, const IOOptions& opts,
|
|
354
|
+
IODebugContext* dbg) override;
|
|
355
|
+
IOStatus Close(const IOOptions& opts, IODebugContext* dbg) override;
|
|
356
|
+
IOStatus Append(const Slice& data, const IOOptions& opts,
|
|
357
|
+
IODebugContext* dbg) override;
|
|
358
|
+
IOStatus Append(const Slice& data, const IOOptions& opts,
|
|
359
|
+
const DataVerificationInfo& /* verification_info */,
|
|
360
|
+
IODebugContext* dbg) override {
|
|
361
361
|
return Append(data, opts, dbg);
|
|
362
362
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
363
|
+
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
364
|
+
const IOOptions& opts,
|
|
365
|
+
IODebugContext* dbg) override;
|
|
366
|
+
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
367
|
+
const IOOptions& opts,
|
|
368
|
+
const DataVerificationInfo& /* verification_info */,
|
|
369
|
+
IODebugContext* dbg) override {
|
|
370
370
|
return PositionedAppend(data, offset, opts, dbg);
|
|
371
371
|
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
virtual size_t GetRequiredBufferAlignment() const override {
|
|
372
|
+
IOStatus Flush(const IOOptions& opts, IODebugContext* dbg) override;
|
|
373
|
+
IOStatus Sync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
374
|
+
IOStatus Fsync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
375
|
+
bool IsSyncThreadSafe() const override;
|
|
376
|
+
bool use_direct_io() const override { return use_direct_io_; }
|
|
377
|
+
void SetWriteLifeTimeHint(Env::WriteLifeTimeHint hint) override;
|
|
378
|
+
uint64_t GetFileSize(const IOOptions& opts, IODebugContext* dbg) override;
|
|
379
|
+
IOStatus InvalidateCache(size_t offset, size_t length) override;
|
|
380
|
+
size_t GetRequiredBufferAlignment() const override {
|
|
382
381
|
return logical_sector_size_;
|
|
383
382
|
}
|
|
384
383
|
#ifdef ROCKSDB_FALLOCATE_PRESENT
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
IODebugContext* dbg) override;
|
|
384
|
+
IOStatus Allocate(uint64_t offset, uint64_t len, const IOOptions& opts,
|
|
385
|
+
IODebugContext* dbg) override;
|
|
388
386
|
#endif
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
IODebugContext* dbg) override;
|
|
387
|
+
IOStatus RangeSync(uint64_t offset, uint64_t nbytes, const IOOptions& opts,
|
|
388
|
+
IODebugContext* dbg) override;
|
|
392
389
|
#ifdef OS_LINUX
|
|
393
|
-
|
|
390
|
+
size_t GetUniqueId(char* id, size_t max_size) const override;
|
|
394
391
|
#endif
|
|
395
392
|
};
|
|
396
393
|
|
|
@@ -448,28 +445,26 @@ class PosixMmapFile : public FSWritableFile {
|
|
|
448
445
|
|
|
449
446
|
// Means Close() will properly take care of truncate
|
|
450
447
|
// and it does not need any additional information
|
|
451
|
-
|
|
452
|
-
|
|
448
|
+
IOStatus Truncate(uint64_t /*size*/, const IOOptions& /*opts*/,
|
|
449
|
+
IODebugContext* /*dbg*/) override {
|
|
453
450
|
return IOStatus::OK();
|
|
454
451
|
}
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
452
|
+
IOStatus Close(const IOOptions& opts, IODebugContext* dbg) override;
|
|
453
|
+
IOStatus Append(const Slice& data, const IOOptions& opts,
|
|
454
|
+
IODebugContext* dbg) override;
|
|
455
|
+
IOStatus Append(const Slice& data, const IOOptions& opts,
|
|
456
|
+
const DataVerificationInfo& /* verification_info */,
|
|
457
|
+
IODebugContext* dbg) override {
|
|
461
458
|
return Append(data, opts, dbg);
|
|
462
459
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
virtual IOStatus InvalidateCache(size_t offset, size_t length) override;
|
|
460
|
+
IOStatus Flush(const IOOptions& opts, IODebugContext* dbg) override;
|
|
461
|
+
IOStatus Sync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
462
|
+
IOStatus Fsync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
463
|
+
uint64_t GetFileSize(const IOOptions& opts, IODebugContext* dbg) override;
|
|
464
|
+
IOStatus InvalidateCache(size_t offset, size_t length) override;
|
|
469
465
|
#ifdef ROCKSDB_FALLOCATE_PRESENT
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
IODebugContext* dbg) override;
|
|
466
|
+
IOStatus Allocate(uint64_t offset, uint64_t len, const IOOptions& opts,
|
|
467
|
+
IODebugContext* dbg) override;
|
|
473
468
|
#endif
|
|
474
469
|
};
|
|
475
470
|
|
|
@@ -479,17 +474,16 @@ class PosixRandomRWFile : public FSRandomRWFile {
|
|
|
479
474
|
const EnvOptions& options);
|
|
480
475
|
virtual ~PosixRandomRWFile();
|
|
481
476
|
|
|
482
|
-
|
|
483
|
-
|
|
477
|
+
IOStatus Write(uint64_t offset, const Slice& data, const IOOptions& opts,
|
|
478
|
+
IODebugContext* dbg) override;
|
|
484
479
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
IODebugContext* dbg) const override;
|
|
480
|
+
IOStatus Read(uint64_t offset, size_t n, const IOOptions& opts, Slice* result,
|
|
481
|
+
char* scratch, IODebugContext* dbg) const override;
|
|
488
482
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
483
|
+
IOStatus Flush(const IOOptions& opts, IODebugContext* dbg) override;
|
|
484
|
+
IOStatus Sync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
485
|
+
IOStatus Fsync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
486
|
+
IOStatus Close(const IOOptions& opts, IODebugContext* dbg) override;
|
|
493
487
|
|
|
494
488
|
private:
|
|
495
489
|
const std::string filename_;
|
|
@@ -506,11 +500,11 @@ class PosixDirectory : public FSDirectory {
|
|
|
506
500
|
public:
|
|
507
501
|
explicit PosixDirectory(int fd, const std::string& directory_name);
|
|
508
502
|
~PosixDirectory();
|
|
509
|
-
|
|
503
|
+
IOStatus Fsync(const IOOptions& opts, IODebugContext* dbg) override;
|
|
510
504
|
|
|
511
|
-
|
|
505
|
+
IOStatus Close(const IOOptions& opts, IODebugContext* dbg) override;
|
|
512
506
|
|
|
513
|
-
|
|
507
|
+
IOStatus FsyncWithDirOptions(
|
|
514
508
|
const IOOptions&, IODebugContext*,
|
|
515
509
|
const DirFsyncOptions& dir_fsync_options) override;
|
|
516
510
|
|
|
@@ -37,28 +37,28 @@ TEST_F(MockEnvTest, Corrupt) {
|
|
|
37
37
|
Slice result;
|
|
38
38
|
std::unique_ptr<RandomAccessFile> rand_file;
|
|
39
39
|
ASSERT_OK(env_->NewRandomAccessFile(kFileName, &rand_file, soptions_));
|
|
40
|
-
ASSERT_OK(rand_file->Read(0, kGood.size(), &result,
|
|
40
|
+
ASSERT_OK(rand_file->Read(0, kGood.size(), &result, scratch.data()));
|
|
41
41
|
ASSERT_EQ(result.compare(kGood), 0);
|
|
42
42
|
|
|
43
43
|
// Sync + corrupt => no change
|
|
44
44
|
ASSERT_OK(writable_file->Fsync());
|
|
45
45
|
ASSERT_OK(dynamic_cast<MockEnv*>(env_)->CorruptBuffer(kFileName));
|
|
46
46
|
result.clear();
|
|
47
|
-
ASSERT_OK(rand_file->Read(0, kGood.size(), &result,
|
|
47
|
+
ASSERT_OK(rand_file->Read(0, kGood.size(), &result, scratch.data()));
|
|
48
48
|
ASSERT_EQ(result.compare(kGood), 0);
|
|
49
49
|
|
|
50
50
|
// Add new data and corrupt it
|
|
51
51
|
ASSERT_OK(writable_file->Append(kCorrupted));
|
|
52
52
|
ASSERT_TRUE(writable_file->GetFileSize() == kGood.size() + kCorrupted.size());
|
|
53
53
|
result.clear();
|
|
54
|
-
ASSERT_OK(
|
|
55
|
-
|
|
54
|
+
ASSERT_OK(rand_file->Read(kGood.size(), kCorrupted.size(), &result,
|
|
55
|
+
scratch.data()));
|
|
56
56
|
ASSERT_EQ(result.compare(kCorrupted), 0);
|
|
57
57
|
// Corrupted
|
|
58
58
|
ASSERT_OK(dynamic_cast<MockEnv*>(env_)->CorruptBuffer(kFileName));
|
|
59
59
|
result.clear();
|
|
60
|
-
ASSERT_OK(
|
|
61
|
-
|
|
60
|
+
ASSERT_OK(rand_file->Read(kGood.size(), kCorrupted.size(), &result,
|
|
61
|
+
scratch.data()));
|
|
62
62
|
ASSERT_NE(result.compare(kCorrupted), 0);
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -60,10 +60,10 @@ DeleteScheduler::~DeleteScheduler() {
|
|
|
60
60
|
Status DeleteScheduler::DeleteFile(const std::string& file_path,
|
|
61
61
|
const std::string& dir_to_sync,
|
|
62
62
|
const bool force_bg) {
|
|
63
|
+
uint64_t total_size = sst_file_manager_->GetTotalSize();
|
|
63
64
|
if (rate_bytes_per_sec_.load() <= 0 ||
|
|
64
65
|
(!force_bg &&
|
|
65
|
-
total_trash_size_.load() >
|
|
66
|
-
sst_file_manager_->GetTotalSize() * max_trash_db_ratio_.load())) {
|
|
66
|
+
total_trash_size_.load() > total_size * max_trash_db_ratio_.load())) {
|
|
67
67
|
// Rate limiting is disabled or trash size makes up more than
|
|
68
68
|
// max_trash_db_ratio_ (default 25%) of the total DB size
|
|
69
69
|
TEST_SYNC_POINT("DeleteScheduler::DeleteFile");
|
|
@@ -72,9 +72,11 @@ Status DeleteScheduler::DeleteFile(const std::string& file_path,
|
|
|
72
72
|
s = sst_file_manager_->OnDeleteFile(file_path);
|
|
73
73
|
ROCKS_LOG_INFO(info_log_,
|
|
74
74
|
"Deleted file %s immediately, rate_bytes_per_sec %" PRIi64
|
|
75
|
-
", total_trash_size %" PRIu64 "
|
|
75
|
+
", total_trash_size %" PRIu64 ", total_size %" PRIi64
|
|
76
|
+
", max_trash_db_ratio %lf",
|
|
76
77
|
file_path.c_str(), rate_bytes_per_sec_.load(),
|
|
77
|
-
total_trash_size_.load(),
|
|
78
|
+
total_trash_size_.load(), total_size,
|
|
79
|
+
max_trash_db_ratio_.load());
|
|
78
80
|
InstrumentedMutexLock l(&mu_);
|
|
79
81
|
RecordTick(stats_.get(), FILES_DELETED_IMMEDIATELY);
|
|
80
82
|
}
|
|
@@ -177,7 +179,7 @@ Status DeleteScheduler::CleanupDirectory(Env* env, SstFileManagerImpl* sfm,
|
|
|
177
179
|
Status DeleteScheduler::MarkAsTrash(const std::string& file_path,
|
|
178
180
|
std::string* trash_file) {
|
|
179
181
|
// Sanity check of the path
|
|
180
|
-
size_t idx = file_path.rfind(
|
|
182
|
+
size_t idx = file_path.rfind('/');
|
|
181
183
|
if (idx == std::string::npos || idx == file_path.size() - 1) {
|
|
182
184
|
return Status::InvalidArgument("file_path is corrupted");
|
|
183
185
|
}
|
|
@@ -367,7 +369,7 @@ Status DeleteScheduler::DeleteTrashFile(const std::string& path_in_trash,
|
|
|
367
369
|
DirFsyncOptions(DirFsyncOptions::FsyncReason::kFileDeleted));
|
|
368
370
|
TEST_SYNC_POINT_CALLBACK(
|
|
369
371
|
"DeleteScheduler::DeleteTrashFile::AfterSyncDir",
|
|
370
|
-
|
|
372
|
+
static_cast<void*>(const_cast<std::string*>(&dir_to_sync)));
|
|
371
373
|
}
|
|
372
374
|
}
|
|
373
375
|
if (s.ok()) {
|
|
@@ -131,7 +131,7 @@ TEST_F(DeleteSchedulerTest, BasicRateLimiting) {
|
|
|
131
131
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
|
|
132
132
|
"DeleteScheduler::DeleteTrashFile::AfterSyncDir", [&](void* arg) {
|
|
133
133
|
dir_synced++;
|
|
134
|
-
std::string* dir =
|
|
134
|
+
std::string* dir = static_cast<std::string*>(arg);
|
|
135
135
|
EXPECT_EQ(dummy_files_dirs_[0], *dir);
|
|
136
136
|
});
|
|
137
137
|
|