@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
|
@@ -51,6 +51,8 @@ enum CompactionPri : char {
|
|
|
51
51
|
// First compact files whose ratio between overlapping size in next level
|
|
52
52
|
// and its size is the smallest. It in many cases can optimize write
|
|
53
53
|
// amplification.
|
|
54
|
+
// Files marked for compaction will be prioritized over files that are not
|
|
55
|
+
// marked.
|
|
54
56
|
kMinOverlappingRatio = 0x3,
|
|
55
57
|
// Keeps a cursor(s) of the successor of the file (key range) was/were
|
|
56
58
|
// compacted before, and always picks the next files (key range) in that
|
|
@@ -59,151 +61,6 @@ enum CompactionPri : char {
|
|
|
59
61
|
kRoundRobin = 0x4,
|
|
60
62
|
};
|
|
61
63
|
|
|
62
|
-
// Compression options for different compression algorithms like Zlib
|
|
63
|
-
struct CompressionOptions {
|
|
64
|
-
// ==> BEGIN options that can be set by deprecated configuration syntax, <==
|
|
65
|
-
// ==> e.g. compression_opts=5:6:7:8:9:10:true:11:false <==
|
|
66
|
-
// ==> Please use compression_opts={level=6;strategy=7;} form instead. <==
|
|
67
|
-
|
|
68
|
-
// RocksDB's generic default compression level. Internally it'll be translated
|
|
69
|
-
// to the default compression level specific to the library being used (see
|
|
70
|
-
// comment above `ColumnFamilyOptions::compression`).
|
|
71
|
-
//
|
|
72
|
-
// The default value is the max 16-bit int as it'll be written out in OPTIONS
|
|
73
|
-
// file, which should be portable.
|
|
74
|
-
static constexpr int kDefaultCompressionLevel = 32767;
|
|
75
|
-
|
|
76
|
-
// zlib only: windowBits parameter. See https://www.zlib.net/manual.html
|
|
77
|
-
int window_bits = -14;
|
|
78
|
-
|
|
79
|
-
// Compression "level" applicable to zstd, zlib, LZ4, and LZ4HC. Except for
|
|
80
|
-
// kDefaultCompressionLevel (see above), the meaning of each value depends
|
|
81
|
-
// on the compression algorithm. Decreasing across non-
|
|
82
|
-
// `kDefaultCompressionLevel` values will either favor speed over
|
|
83
|
-
// compression ratio or have no effect.
|
|
84
|
-
//
|
|
85
|
-
// In LZ4 specifically, the absolute value of a negative `level` internally
|
|
86
|
-
// configures the `acceleration` parameter. For example, set `level=-10` for
|
|
87
|
-
// `acceleration=10`. This negation is necessary to ensure decreasing `level`
|
|
88
|
-
// values favor speed over compression ratio.
|
|
89
|
-
int level = kDefaultCompressionLevel;
|
|
90
|
-
|
|
91
|
-
// zlib only: strategy parameter. See https://www.zlib.net/manual.html
|
|
92
|
-
int strategy = 0;
|
|
93
|
-
|
|
94
|
-
// Maximum size of dictionaries used to prime the compression library.
|
|
95
|
-
// Enabling dictionary can improve compression ratios when there are
|
|
96
|
-
// repetitions across data blocks.
|
|
97
|
-
//
|
|
98
|
-
// The dictionary is created by sampling the SST file data. If
|
|
99
|
-
// `zstd_max_train_bytes` is nonzero, the samples are passed through zstd's
|
|
100
|
-
// dictionary generator (see comments for option `use_zstd_dict_trainer` for
|
|
101
|
-
// detail on dictionary generator). If `zstd_max_train_bytes` is zero, the
|
|
102
|
-
// random samples are used directly as the dictionary.
|
|
103
|
-
//
|
|
104
|
-
// When compression dictionary is disabled, we compress and write each block
|
|
105
|
-
// before buffering data for the next one. When compression dictionary is
|
|
106
|
-
// enabled, we buffer SST file data in-memory so we can sample it, as data
|
|
107
|
-
// can only be compressed and written after the dictionary has been finalized.
|
|
108
|
-
//
|
|
109
|
-
// The amount of data buffered can be limited by `max_dict_buffer_bytes`. This
|
|
110
|
-
// buffered memory is charged to the block cache when there is a block cache.
|
|
111
|
-
// If block cache insertion fails with `Status::MemoryLimit` (i.e., it is
|
|
112
|
-
// full), we finalize the dictionary with whatever data we have and then stop
|
|
113
|
-
// buffering.
|
|
114
|
-
uint32_t max_dict_bytes = 0;
|
|
115
|
-
|
|
116
|
-
// Maximum size of training data passed to zstd's dictionary trainer. Using
|
|
117
|
-
// zstd's dictionary trainer can achieve even better compression ratio
|
|
118
|
-
// improvements than using `max_dict_bytes` alone.
|
|
119
|
-
//
|
|
120
|
-
// The training data will be used to generate a dictionary of max_dict_bytes.
|
|
121
|
-
uint32_t zstd_max_train_bytes = 0;
|
|
122
|
-
|
|
123
|
-
// Number of threads for parallel compression.
|
|
124
|
-
// Parallel compression is enabled only if threads > 1.
|
|
125
|
-
// THE FEATURE IS STILL EXPERIMENTAL
|
|
126
|
-
//
|
|
127
|
-
// This option is valid only when BlockBasedTable is used.
|
|
128
|
-
//
|
|
129
|
-
// When parallel compression is enabled, SST size file sizes might be
|
|
130
|
-
// more inflated compared to the target size, because more data of unknown
|
|
131
|
-
// compressed size is in flight when compression is parallelized. To be
|
|
132
|
-
// reasonably accurate, this inflation is also estimated by using historical
|
|
133
|
-
// compression ratio and current bytes inflight.
|
|
134
|
-
uint32_t parallel_threads = 1;
|
|
135
|
-
|
|
136
|
-
// When the compression options are set by the user, it will be set to "true".
|
|
137
|
-
// For bottommost_compression_opts, to enable it, user must set enabled=true.
|
|
138
|
-
// Otherwise, bottommost compression will use compression_opts as default
|
|
139
|
-
// compression options.
|
|
140
|
-
//
|
|
141
|
-
// For compression_opts, if compression_opts.enabled=false, it is still
|
|
142
|
-
// used as compression options for compression process.
|
|
143
|
-
bool enabled = false;
|
|
144
|
-
|
|
145
|
-
// Limit on data buffering when gathering samples to build a dictionary. Zero
|
|
146
|
-
// means no limit. When dictionary is disabled (`max_dict_bytes == 0`),
|
|
147
|
-
// enabling this limit (`max_dict_buffer_bytes != 0`) has no effect.
|
|
148
|
-
//
|
|
149
|
-
// In compaction, the buffering is limited to the target file size (see
|
|
150
|
-
// `target_file_size_base` and `target_file_size_multiplier`) even if this
|
|
151
|
-
// setting permits more buffering. Since we cannot determine where the file
|
|
152
|
-
// should be cut until data blocks are compressed with dictionary, buffering
|
|
153
|
-
// more than the target file size could lead to selecting samples that belong
|
|
154
|
-
// to a later output SST.
|
|
155
|
-
//
|
|
156
|
-
// Limiting too strictly may harm dictionary effectiveness since it forces
|
|
157
|
-
// RocksDB to pick samples from the initial portion of the output SST, which
|
|
158
|
-
// may not be representative of the whole file. Configuring this limit below
|
|
159
|
-
// `zstd_max_train_bytes` (when enabled) can restrict how many samples we can
|
|
160
|
-
// pass to the dictionary trainer. Configuring it below `max_dict_bytes` can
|
|
161
|
-
// restrict the size of the final dictionary.
|
|
162
|
-
uint64_t max_dict_buffer_bytes = 0;
|
|
163
|
-
|
|
164
|
-
// Use zstd trainer to generate dictionaries. When this option is set to true,
|
|
165
|
-
// zstd_max_train_bytes of training data sampled from max_dict_buffer_bytes
|
|
166
|
-
// buffered data will be passed to zstd dictionary trainer to generate a
|
|
167
|
-
// dictionary of size max_dict_bytes.
|
|
168
|
-
//
|
|
169
|
-
// When this option is false, zstd's API ZDICT_finalizeDictionary() will be
|
|
170
|
-
// called to generate dictionaries. zstd_max_train_bytes of training sampled
|
|
171
|
-
// data will be passed to this API. Using this API should save CPU time on
|
|
172
|
-
// dictionary training, but the compression ratio may not be as good as using
|
|
173
|
-
// a dictionary trainer.
|
|
174
|
-
bool use_zstd_dict_trainer = true;
|
|
175
|
-
|
|
176
|
-
// ===> END options that can be set by deprecated configuration syntax <===
|
|
177
|
-
// ===> Use compression_opts={level=6;strategy=7;} form for below opts <===
|
|
178
|
-
|
|
179
|
-
// Essentially specifies a minimum acceptable compression ratio. A block is
|
|
180
|
-
// stored uncompressed if the compressed block does not achieve this ratio,
|
|
181
|
-
// because the downstream cost of decompression is not considered worth such
|
|
182
|
-
// a small savings (if any).
|
|
183
|
-
// However, the ratio is specified in a way that is efficient for checking.
|
|
184
|
-
// An integer from 1 to 1024 indicates the maximum allowable compressed bytes
|
|
185
|
-
// per 1KB of input, so the minimum acceptable ratio is 1024.0 / this value.
|
|
186
|
-
// For example, for a minimum ratio of 1.5:1, set to 683. See SetMinRatio().
|
|
187
|
-
// Default: abandon use of compression for a specific block or entry if
|
|
188
|
-
// compressed by less than 12.5% (minimum ratio of 1.143:1).
|
|
189
|
-
int max_compressed_bytes_per_kb = 1024 * 7 / 8;
|
|
190
|
-
|
|
191
|
-
// ZSTD only.
|
|
192
|
-
// Enable compression algorithm's checksum feature.
|
|
193
|
-
// (https://github.com/facebook/zstd/blob/d857369028d997c92ff1f1861a4d7f679a125464/lib/zstd.h#L428)
|
|
194
|
-
// Each compressed frame will have a 32-bit checksum attached. The checksum
|
|
195
|
-
// computed from the uncompressed data and can be verified during
|
|
196
|
-
// decompression.
|
|
197
|
-
bool checksum = false;
|
|
198
|
-
|
|
199
|
-
// A convenience function for setting max_compressed_bytes_per_kb based on a
|
|
200
|
-
// minimum acceptable compression ratio (uncompressed size over compressed
|
|
201
|
-
// size).
|
|
202
|
-
void SetMinRatio(double min_ratio) {
|
|
203
|
-
max_compressed_bytes_per_kb = static_cast<int>(1024.0 / min_ratio + 0.5);
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
|
|
207
64
|
// Temperature of a file. Used to pass to FileSystem for a different
|
|
208
65
|
// placement and/or coding.
|
|
209
66
|
// Reserve some numbers in the middle, in case we need to insert new tier
|
|
@@ -372,11 +229,18 @@ struct AdvancedColumnFamilyOptions {
|
|
|
372
229
|
// if it is not explicitly set by the user. Otherwise, the default is 0.
|
|
373
230
|
int64_t max_write_buffer_size_to_maintain = 0;
|
|
374
231
|
|
|
375
|
-
// Allows thread-safe inplace updates.
|
|
232
|
+
// Allows thread-safe inplace updates.
|
|
233
|
+
//
|
|
234
|
+
// If this is true, there is no way to
|
|
376
235
|
// achieve point-in-time consistency using snapshot or iterator (assuming
|
|
377
236
|
// concurrent updates). Hence iterator and multi-get will return results
|
|
378
237
|
// which are not consistent as of any point-in-time.
|
|
238
|
+
//
|
|
379
239
|
// Backward iteration on memtables will not work either.
|
|
240
|
+
//
|
|
241
|
+
// It is intended to work or be compatible with a limited set of features:
|
|
242
|
+
// (1) Non-snapshot Get()
|
|
243
|
+
//
|
|
380
244
|
// If inplace_callback function is not set,
|
|
381
245
|
// Put(key, new_value) will update inplace the existing_value iff
|
|
382
246
|
// * key exists in current memtable
|
|
@@ -690,15 +554,6 @@ struct AdvancedColumnFamilyOptions {
|
|
|
690
554
|
// Default: true
|
|
691
555
|
bool level_compaction_dynamic_level_bytes = true;
|
|
692
556
|
|
|
693
|
-
// Allows RocksDB to generate files that are not exactly the target_file_size
|
|
694
|
-
// only for the non-bottommost files. Which can reduce the write-amplification
|
|
695
|
-
// from compaction. The file size could be from 0 to 2x target_file_size.
|
|
696
|
-
// Once enabled, non-bottommost compaction will try to cut the files align
|
|
697
|
-
// with the next level file boundaries (grandparent level).
|
|
698
|
-
//
|
|
699
|
-
// Default: true
|
|
700
|
-
bool level_compaction_dynamic_file_size = true;
|
|
701
|
-
|
|
702
557
|
// Default: 10.
|
|
703
558
|
//
|
|
704
559
|
// Dynamically changeable through SetOptions() API
|
|
@@ -714,7 +569,7 @@ struct AdvancedColumnFamilyOptions {
|
|
|
714
569
|
//
|
|
715
570
|
// Dynamically changeable through SetOptions() API
|
|
716
571
|
std::vector<int> max_bytes_for_level_multiplier_additional =
|
|
717
|
-
std::vector<int>(num_levels, 1);
|
|
572
|
+
std::vector<int>(static_cast<size_t>(num_levels), 1);
|
|
718
573
|
|
|
719
574
|
// We try to limit number of bytes in one compaction to be lower than this
|
|
720
575
|
// threshold. But it's not guaranteed.
|
|
@@ -725,17 +580,6 @@ struct AdvancedColumnFamilyOptions {
|
|
|
725
580
|
// Dynamically changeable through SetOptions() API
|
|
726
581
|
uint64_t max_compaction_bytes = 0;
|
|
727
582
|
|
|
728
|
-
// When setting up compaction input files, we ignore the
|
|
729
|
-
// `max_compaction_bytes` limit when pulling in input files that are entirely
|
|
730
|
-
// within output key range.
|
|
731
|
-
//
|
|
732
|
-
// Default: true
|
|
733
|
-
//
|
|
734
|
-
// Dynamically changeable through SetOptions() API
|
|
735
|
-
// We could remove this knob and always ignore the limit once it is proven
|
|
736
|
-
// safe.
|
|
737
|
-
bool ignore_max_compaction_bytes_for_input = true;
|
|
738
|
-
|
|
739
583
|
// All writes will be slowed down to at least delayed_write_rate if estimated
|
|
740
584
|
// bytes needed to be compaction exceed this threshold.
|
|
741
585
|
//
|
|
@@ -812,18 +656,29 @@ struct AdvancedColumnFamilyOptions {
|
|
|
812
656
|
TablePropertiesCollectorFactories table_properties_collector_factories;
|
|
813
657
|
|
|
814
658
|
// Maximum number of successive merge operations on a key in the memtable.
|
|
659
|
+
// It may be violated when filesystem reads would be needed to stay under the
|
|
660
|
+
// limit, unless `strict_max_successive_merges` is explicitly set.
|
|
815
661
|
//
|
|
816
662
|
// When a merge operation is added to the memtable and the maximum number of
|
|
817
|
-
// successive merges is reached,
|
|
818
|
-
// inserted into the memtable instead of the merge
|
|
819
|
-
//
|
|
820
|
-
// operations in the memtable.
|
|
663
|
+
// successive merges is reached, RocksDB will attempt to read the value. Upon
|
|
664
|
+
// success, the value will be inserted into the memtable instead of the merge
|
|
665
|
+
// operation.
|
|
821
666
|
//
|
|
822
667
|
// Default: 0 (disabled)
|
|
823
668
|
//
|
|
824
669
|
// Dynamically changeable through SetOptions() API
|
|
825
670
|
size_t max_successive_merges = 0;
|
|
826
671
|
|
|
672
|
+
// Whether to allow filesystem reads to stay under the `max_successive_merges`
|
|
673
|
+
// limit. When true, this can lead to merge writes blocking the write path
|
|
674
|
+
// waiting on filesystem reads.
|
|
675
|
+
//
|
|
676
|
+
// This option is temporary in case the recent change to disallow filesystem
|
|
677
|
+
// reads during merge writes has a problem and users need to undo it quickly.
|
|
678
|
+
//
|
|
679
|
+
// Default: false
|
|
680
|
+
bool strict_max_successive_merges = false;
|
|
681
|
+
|
|
827
682
|
// This flag specifies that the implementation should optimize the filters
|
|
828
683
|
// mainly for cases where keys are found rather than also optimize for keys
|
|
829
684
|
// missed. This would be used in cases where the application knows that
|
|
@@ -840,14 +695,6 @@ struct AdvancedColumnFamilyOptions {
|
|
|
840
695
|
// Default: false
|
|
841
696
|
bool optimize_filters_for_hits = false;
|
|
842
697
|
|
|
843
|
-
// During flush or compaction, check whether keys inserted to output files
|
|
844
|
-
// are in order.
|
|
845
|
-
//
|
|
846
|
-
// Default: true
|
|
847
|
-
//
|
|
848
|
-
// Dynamically changeable through SetOptions() API
|
|
849
|
-
bool check_flush_compaction_key_order = true;
|
|
850
|
-
|
|
851
698
|
// After writing every SST file, reopen it and read all the keys.
|
|
852
699
|
// Checks the hash of all of the keys and values written versus the
|
|
853
700
|
// keys in the file and signals a corruption if they do not match
|
|
@@ -912,7 +759,9 @@ struct AdvancedColumnFamilyOptions {
|
|
|
912
759
|
//
|
|
913
760
|
// Leveled: files older than `periodic_compaction_seconds` will be picked up
|
|
914
761
|
// for compaction and will be re-written to the same level as they were
|
|
915
|
-
// before.
|
|
762
|
+
// before if level_compaction_dynamic_level_bytes is disabled. Otherwise,
|
|
763
|
+
// it will rewrite files to the next level except for the last level files
|
|
764
|
+
// to the same level.
|
|
916
765
|
//
|
|
917
766
|
// FIFO: not supported. Setting this option has no effect for FIFO compaction.
|
|
918
767
|
//
|
|
@@ -961,27 +810,28 @@ struct AdvancedColumnFamilyOptions {
|
|
|
961
810
|
uint64_t sample_for_compression = 0;
|
|
962
811
|
|
|
963
812
|
// EXPERIMENTAL
|
|
964
|
-
// The feature is still in development and is incomplete.
|
|
965
813
|
// If this option is set, when creating the last level files, pass this
|
|
966
814
|
// temperature to FileSystem used. Should be no-op for default FileSystem
|
|
967
815
|
// and users need to plug in their own FileSystem to take advantage of it.
|
|
968
|
-
//
|
|
969
|
-
// Note: the feature is changed from `bottommost_temperature` to
|
|
970
|
-
// `last_level_temperature` which now only apply for the last level files.
|
|
971
|
-
// The option name `bottommost_temperature` is kept only for migration, the
|
|
972
|
-
// behavior is the same as `last_level_temperature`. Please stop using
|
|
973
|
-
// `bottommost_temperature` and will be removed in next release.
|
|
816
|
+
// When using FIFO compaction, this option is ignored.
|
|
974
817
|
//
|
|
975
818
|
// Dynamically changeable through the SetOptions() API
|
|
976
|
-
Temperature bottommost_temperature = Temperature::kUnknown;
|
|
977
819
|
Temperature last_level_temperature = Temperature::kUnknown;
|
|
978
820
|
|
|
821
|
+
// EXPERIMENTAL
|
|
822
|
+
// When no other option such as last_level_temperature determines the
|
|
823
|
+
// temperature of a new SST file, it will be written with this temperature,
|
|
824
|
+
// which can be set differently for each column family.
|
|
825
|
+
//
|
|
826
|
+
// Dynamically changeable through the SetOptions() API
|
|
827
|
+
Temperature default_write_temperature = Temperature::kUnknown;
|
|
828
|
+
|
|
979
829
|
// EXPERIMENTAL
|
|
980
830
|
// When this field is set, all SST files without an explicitly set temperature
|
|
981
831
|
// will be treated as if they have this temperature for file reading
|
|
982
832
|
// accounting purpose, such as io statistics, io perf context.
|
|
983
833
|
//
|
|
984
|
-
// Not dynamically changeable
|
|
834
|
+
// Not dynamically changeable; change requires DB restart.
|
|
985
835
|
Temperature default_temperature = Temperature::kUnknown;
|
|
986
836
|
|
|
987
837
|
// EXPERIMENTAL
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
// This source code is licensed under both the GPLv2 (found in the
|
|
3
|
+
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
+
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
+
|
|
6
|
+
#pragma once
|
|
7
|
+
|
|
8
|
+
#include "rocksdb/iterator_base.h"
|
|
9
|
+
#include "rocksdb/wide_columns.h"
|
|
10
|
+
|
|
11
|
+
namespace ROCKSDB_NAMESPACE {
|
|
12
|
+
|
|
13
|
+
class ColumnFamilyHandle;
|
|
14
|
+
|
|
15
|
+
// Class representing attribute group. Attribute group is a logical grouping of
|
|
16
|
+
// wide-column entities by leveraging Column Families.
|
|
17
|
+
// Used in Write Path
|
|
18
|
+
class AttributeGroup {
|
|
19
|
+
public:
|
|
20
|
+
explicit AttributeGroup(ColumnFamilyHandle* column_family,
|
|
21
|
+
const WideColumns& columns)
|
|
22
|
+
: column_family_(column_family), columns_(columns) {}
|
|
23
|
+
|
|
24
|
+
ColumnFamilyHandle* column_family() const { return column_family_; }
|
|
25
|
+
const WideColumns& columns() const { return columns_; }
|
|
26
|
+
WideColumns& columns() { return columns_; }
|
|
27
|
+
|
|
28
|
+
private:
|
|
29
|
+
ColumnFamilyHandle* column_family_;
|
|
30
|
+
WideColumns columns_;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
inline bool operator==(const AttributeGroup& lhs, const AttributeGroup& rhs) {
|
|
34
|
+
return lhs.column_family() == rhs.column_family() &&
|
|
35
|
+
lhs.columns() == rhs.columns();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// A collection of Attribute Groups.
|
|
39
|
+
using AttributeGroups = std::vector<AttributeGroup>;
|
|
40
|
+
|
|
41
|
+
// An empty set of Attribute Groups.
|
|
42
|
+
extern const AttributeGroups kNoAttributeGroups;
|
|
43
|
+
|
|
44
|
+
// Used in Read Path. Wide-columns returned from the query are pinnable.
|
|
45
|
+
class PinnableAttributeGroup {
|
|
46
|
+
public:
|
|
47
|
+
explicit PinnableAttributeGroup(ColumnFamilyHandle* column_family)
|
|
48
|
+
: column_family_(column_family), status_(Status::OK()) {}
|
|
49
|
+
|
|
50
|
+
ColumnFamilyHandle* column_family() const { return column_family_; }
|
|
51
|
+
const Status& status() const { return status_; }
|
|
52
|
+
const WideColumns& columns() const { return columns_.columns(); }
|
|
53
|
+
|
|
54
|
+
void SetStatus(const Status& status);
|
|
55
|
+
void SetColumns(PinnableWideColumns&& columns);
|
|
56
|
+
|
|
57
|
+
void Reset();
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
ColumnFamilyHandle* column_family_;
|
|
61
|
+
Status status_;
|
|
62
|
+
PinnableWideColumns columns_;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
inline void PinnableAttributeGroup::SetStatus(const Status& status) {
|
|
66
|
+
status_ = status;
|
|
67
|
+
}
|
|
68
|
+
inline void PinnableAttributeGroup::SetColumns(PinnableWideColumns&& columns) {
|
|
69
|
+
columns_ = std::move(columns);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
inline void PinnableAttributeGroup::Reset() {
|
|
73
|
+
SetStatus(Status::OK());
|
|
74
|
+
columns_.Reset();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// A collection of Pinnable Attribute Groups.
|
|
78
|
+
using PinnableAttributeGroups = std::vector<PinnableAttributeGroup>;
|
|
79
|
+
|
|
80
|
+
// Used in Iterator Path. Uses pointers to the columns to avoid having to copy
|
|
81
|
+
// all WideColumns objs during iteration.
|
|
82
|
+
class IteratorAttributeGroup {
|
|
83
|
+
public:
|
|
84
|
+
explicit IteratorAttributeGroup(ColumnFamilyHandle* column_family,
|
|
85
|
+
const WideColumns* columns)
|
|
86
|
+
: column_family_(column_family), columns_(columns) {}
|
|
87
|
+
ColumnFamilyHandle* column_family() const { return column_family_; }
|
|
88
|
+
const WideColumns& columns() const { return *columns_; }
|
|
89
|
+
|
|
90
|
+
private:
|
|
91
|
+
ColumnFamilyHandle* column_family_;
|
|
92
|
+
const WideColumns* columns_;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
using IteratorAttributeGroups = std::vector<IteratorAttributeGroup>;
|
|
96
|
+
|
|
97
|
+
extern const IteratorAttributeGroups kNoIteratorAttributeGroups;
|
|
98
|
+
|
|
99
|
+
// EXPERIMENTAL
|
|
100
|
+
// A cross-column-family iterator that collects and returns attribute groups for
|
|
101
|
+
// each key in order provided by comparator
|
|
102
|
+
class AttributeGroupIterator : public IteratorBase {
|
|
103
|
+
public:
|
|
104
|
+
AttributeGroupIterator() {}
|
|
105
|
+
~AttributeGroupIterator() override {}
|
|
106
|
+
|
|
107
|
+
// No copy allowed
|
|
108
|
+
AttributeGroupIterator(const AttributeGroupIterator&) = delete;
|
|
109
|
+
AttributeGroupIterator& operator=(const AttributeGroupIterator&) = delete;
|
|
110
|
+
|
|
111
|
+
virtual const IteratorAttributeGroups& attribute_groups() const = 0;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -78,6 +78,7 @@ typedef struct rocksdb_lru_cache_options_t rocksdb_lru_cache_options_t;
|
|
|
78
78
|
typedef struct rocksdb_hyper_clock_cache_options_t
|
|
79
79
|
rocksdb_hyper_clock_cache_options_t;
|
|
80
80
|
typedef struct rocksdb_cache_t rocksdb_cache_t;
|
|
81
|
+
typedef struct rocksdb_write_buffer_manager_t rocksdb_write_buffer_manager_t;
|
|
81
82
|
typedef struct rocksdb_compactionfilter_t rocksdb_compactionfilter_t;
|
|
82
83
|
typedef struct rocksdb_compactionfiltercontext_t
|
|
83
84
|
rocksdb_compactionfiltercontext_t;
|
|
@@ -607,6 +608,9 @@ extern ROCKSDB_LIBRARY_API const rocksdb_snapshot_t* rocksdb_create_snapshot(
|
|
|
607
608
|
extern ROCKSDB_LIBRARY_API void rocksdb_release_snapshot(
|
|
608
609
|
rocksdb_t* db, const rocksdb_snapshot_t* snapshot);
|
|
609
610
|
|
|
611
|
+
extern ROCKSDB_LIBRARY_API uint64_t
|
|
612
|
+
rocksdb_snapshot_get_sequence_number(const rocksdb_snapshot_t* snapshot);
|
|
613
|
+
|
|
610
614
|
/* Returns NULL if property name is unknown.
|
|
611
615
|
Else returns a pointer to a malloc()-ed null-terminated value. */
|
|
612
616
|
extern ROCKSDB_LIBRARY_API char* rocksdb_property_value(rocksdb_t* db,
|
|
@@ -690,8 +694,8 @@ extern ROCKSDB_LIBRARY_API void rocksdb_flush_wal(rocksdb_t* db,
|
|
|
690
694
|
extern ROCKSDB_LIBRARY_API void rocksdb_disable_file_deletions(rocksdb_t* db,
|
|
691
695
|
char** errptr);
|
|
692
696
|
|
|
693
|
-
extern ROCKSDB_LIBRARY_API void rocksdb_enable_file_deletions(
|
|
694
|
-
|
|
697
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_enable_file_deletions(rocksdb_t* db,
|
|
698
|
+
char** errptr);
|
|
695
699
|
|
|
696
700
|
/* Management operations */
|
|
697
701
|
|
|
@@ -1060,6 +1064,23 @@ rocksdb_block_based_options_set_pin_top_level_index_and_filter(
|
|
|
1060
1064
|
rocksdb_block_based_table_options_t*, unsigned char);
|
|
1061
1065
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_block_based_table_factory(
|
|
1062
1066
|
rocksdb_options_t* opt, rocksdb_block_based_table_options_t* table_options);
|
|
1067
|
+
enum {
|
|
1068
|
+
rocksdb_block_based_k_fallback_pinning_tier = 0,
|
|
1069
|
+
rocksdb_block_based_k_none_pinning_tier = 1,
|
|
1070
|
+
rocksdb_block_based_k_flush_and_similar_pinning_tier = 2,
|
|
1071
|
+
rocksdb_block_based_k_all_pinning_tier = 3,
|
|
1072
|
+
};
|
|
1073
|
+
extern ROCKSDB_LIBRARY_API void
|
|
1074
|
+
rocksdb_block_based_options_set_top_level_index_pinning_tier(
|
|
1075
|
+
rocksdb_block_based_table_options_t*, int);
|
|
1076
|
+
extern ROCKSDB_LIBRARY_API void
|
|
1077
|
+
rocksdb_block_based_options_set_partition_pinning_tier(
|
|
1078
|
+
rocksdb_block_based_table_options_t*, int);
|
|
1079
|
+
extern ROCKSDB_LIBRARY_API void
|
|
1080
|
+
rocksdb_block_based_options_set_unpartitioned_pinning_tier(
|
|
1081
|
+
rocksdb_block_based_table_options_t*, int);
|
|
1082
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_write_buffer_manager(
|
|
1083
|
+
rocksdb_options_t* opt, rocksdb_write_buffer_manager_t* wbm);
|
|
1063
1084
|
|
|
1064
1085
|
/* Cuckoo table options */
|
|
1065
1086
|
|
|
@@ -1143,14 +1164,22 @@ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_paranoid_checks(
|
|
|
1143
1164
|
rocksdb_options_t*);
|
|
1144
1165
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_db_paths(
|
|
1145
1166
|
rocksdb_options_t*, const rocksdb_dbpath_t** path_values, size_t num_paths);
|
|
1167
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_cf_paths(
|
|
1168
|
+
rocksdb_options_t*, const rocksdb_dbpath_t** path_values, size_t num_paths);
|
|
1146
1169
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_env(rocksdb_options_t*,
|
|
1147
1170
|
rocksdb_env_t*);
|
|
1148
1171
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_info_log(rocksdb_options_t*,
|
|
1149
1172
|
rocksdb_logger_t*);
|
|
1173
|
+
extern ROCKSDB_LIBRARY_API rocksdb_logger_t* rocksdb_options_get_info_log(
|
|
1174
|
+
rocksdb_options_t* opt);
|
|
1150
1175
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_info_log_level(
|
|
1151
1176
|
rocksdb_options_t*, int);
|
|
1152
1177
|
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_info_log_level(
|
|
1153
1178
|
rocksdb_options_t*);
|
|
1179
|
+
extern ROCKSDB_LIBRARY_API rocksdb_logger_t*
|
|
1180
|
+
rocksdb_logger_create_stderr_logger(int log_level, const char* prefix);
|
|
1181
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_logger_destroy(
|
|
1182
|
+
rocksdb_logger_t* logger);
|
|
1154
1183
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_write_buffer_size(
|
|
1155
1184
|
rocksdb_options_t*, size_t);
|
|
1156
1185
|
extern ROCKSDB_LIBRARY_API size_t
|
|
@@ -1256,6 +1285,13 @@ rocksdb_options_set_max_bytes_for_level_multiplier_additional(
|
|
|
1256
1285
|
rocksdb_options_t*, int* level_values, size_t num_levels);
|
|
1257
1286
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_enable_statistics(
|
|
1258
1287
|
rocksdb_options_t*);
|
|
1288
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_ttl(rocksdb_options_t*,
|
|
1289
|
+
uint64_t);
|
|
1290
|
+
extern ROCKSDB_LIBRARY_API uint64_t rocksdb_options_get_ttl(rocksdb_options_t*);
|
|
1291
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_periodic_compaction_seconds(
|
|
1292
|
+
rocksdb_options_t*, uint64_t);
|
|
1293
|
+
extern ROCKSDB_LIBRARY_API uint64_t
|
|
1294
|
+
rocksdb_options_get_periodic_compaction_seconds(rocksdb_options_t*);
|
|
1259
1295
|
|
|
1260
1296
|
enum {
|
|
1261
1297
|
rocksdb_statistics_level_disable_all = 0,
|
|
@@ -1487,10 +1523,6 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_advise_random_on_open(
|
|
|
1487
1523
|
rocksdb_options_t*, unsigned char);
|
|
1488
1524
|
extern ROCKSDB_LIBRARY_API unsigned char
|
|
1489
1525
|
rocksdb_options_get_advise_random_on_open(rocksdb_options_t*);
|
|
1490
|
-
extern ROCKSDB_LIBRARY_API void
|
|
1491
|
-
rocksdb_options_set_access_hint_on_compaction_start(rocksdb_options_t*, int);
|
|
1492
|
-
extern ROCKSDB_LIBRARY_API int
|
|
1493
|
-
rocksdb_options_get_access_hint_on_compaction_start(rocksdb_options_t*);
|
|
1494
1526
|
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_use_adaptive_mutex(
|
|
1495
1527
|
rocksdb_options_t*, unsigned char);
|
|
1496
1528
|
extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_use_adaptive_mutex(
|
|
@@ -1665,9 +1697,29 @@ extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_compression(
|
|
|
1665
1697
|
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_wal_compression(
|
|
1666
1698
|
rocksdb_options_t* opt);
|
|
1667
1699
|
|
|
1700
|
+
enum {
|
|
1701
|
+
rocksdb_k_by_compensated_size_compaction_pri = 0,
|
|
1702
|
+
rocksdb_k_oldest_largest_seq_first_compaction_pri = 1,
|
|
1703
|
+
rocksdb_k_oldest_smallest_seq_first_compaction_pri = 2,
|
|
1704
|
+
rocksdb_k_min_overlapping_ratio_compaction_pri = 3,
|
|
1705
|
+
rocksdb_k_round_robin_compaction_pri = 4
|
|
1706
|
+
};
|
|
1707
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_options_set_compaction_pri(
|
|
1708
|
+
rocksdb_options_t*, int);
|
|
1709
|
+
extern ROCKSDB_LIBRARY_API int rocksdb_options_get_compaction_pri(
|
|
1710
|
+
rocksdb_options_t*);
|
|
1711
|
+
|
|
1668
1712
|
/* RateLimiter */
|
|
1669
1713
|
extern ROCKSDB_LIBRARY_API rocksdb_ratelimiter_t* rocksdb_ratelimiter_create(
|
|
1670
1714
|
int64_t rate_bytes_per_sec, int64_t refill_period_us, int32_t fairness);
|
|
1715
|
+
extern ROCKSDB_LIBRARY_API rocksdb_ratelimiter_t*
|
|
1716
|
+
rocksdb_ratelimiter_create_auto_tuned(int64_t rate_bytes_per_sec,
|
|
1717
|
+
int64_t refill_period_us,
|
|
1718
|
+
int32_t fairness);
|
|
1719
|
+
extern ROCKSDB_LIBRARY_API rocksdb_ratelimiter_t*
|
|
1720
|
+
rocksdb_ratelimiter_create_with_mode(int64_t rate_bytes_per_sec,
|
|
1721
|
+
int64_t refill_period_us, int32_t fairness,
|
|
1722
|
+
int mode, bool auto_tuned);
|
|
1671
1723
|
extern ROCKSDB_LIBRARY_API void rocksdb_ratelimiter_destroy(
|
|
1672
1724
|
rocksdb_ratelimiter_t*);
|
|
1673
1725
|
|
|
@@ -2067,6 +2119,36 @@ rocksdb_cache_get_table_address_count(const rocksdb_cache_t* cache);
|
|
|
2067
2119
|
extern ROCKSDB_LIBRARY_API size_t
|
|
2068
2120
|
rocksdb_cache_get_occupancy_count(const rocksdb_cache_t* cache);
|
|
2069
2121
|
|
|
2122
|
+
/* WriteBufferManager */
|
|
2123
|
+
|
|
2124
|
+
extern ROCKSDB_LIBRARY_API rocksdb_write_buffer_manager_t*
|
|
2125
|
+
rocksdb_write_buffer_manager_create(size_t buffer_size, bool allow_stall);
|
|
2126
|
+
extern ROCKSDB_LIBRARY_API rocksdb_write_buffer_manager_t*
|
|
2127
|
+
rocksdb_write_buffer_manager_create_with_cache(size_t buffer_size,
|
|
2128
|
+
const rocksdb_cache_t* cache,
|
|
2129
|
+
bool allow_stall);
|
|
2130
|
+
|
|
2131
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_write_buffer_manager_destroy(
|
|
2132
|
+
rocksdb_write_buffer_manager_t* wbm);
|
|
2133
|
+
extern ROCKSDB_LIBRARY_API bool rocksdb_write_buffer_manager_enabled(
|
|
2134
|
+
rocksdb_write_buffer_manager_t* wbm);
|
|
2135
|
+
extern ROCKSDB_LIBRARY_API bool rocksdb_write_buffer_manager_cost_to_cache(
|
|
2136
|
+
rocksdb_write_buffer_manager_t* wbm);
|
|
2137
|
+
extern ROCKSDB_LIBRARY_API size_t
|
|
2138
|
+
rocksdb_write_buffer_manager_memory_usage(rocksdb_write_buffer_manager_t* wbm);
|
|
2139
|
+
extern ROCKSDB_LIBRARY_API size_t
|
|
2140
|
+
rocksdb_write_buffer_manager_mutable_memtable_memory_usage(
|
|
2141
|
+
rocksdb_write_buffer_manager_t* wbm);
|
|
2142
|
+
extern ROCKSDB_LIBRARY_API size_t
|
|
2143
|
+
rocksdb_write_buffer_manager_dummy_entries_in_cache_usage(
|
|
2144
|
+
rocksdb_write_buffer_manager_t* wbm);
|
|
2145
|
+
extern ROCKSDB_LIBRARY_API size_t
|
|
2146
|
+
rocksdb_write_buffer_manager_buffer_size(rocksdb_write_buffer_manager_t* wbm);
|
|
2147
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_write_buffer_manager_set_buffer_size(
|
|
2148
|
+
rocksdb_write_buffer_manager_t* wbm, size_t new_size);
|
|
2149
|
+
extern ROCKSDB_LIBRARY_API void rocksdb_write_buffer_manager_set_allow_stall(
|
|
2150
|
+
rocksdb_write_buffer_manager_t* wbm, bool new_allow_stall);
|
|
2151
|
+
|
|
2070
2152
|
/* HyperClockCache */
|
|
2071
2153
|
|
|
2072
2154
|
extern ROCKSDB_LIBRARY_API rocksdb_hyper_clock_cache_options_t*
|
|
@@ -2427,6 +2509,9 @@ extern ROCKSDB_LIBRARY_API char*
|
|
|
2427
2509
|
rocksdb_sst_file_metadata_get_relative_filename(
|
|
2428
2510
|
rocksdb_sst_file_metadata_t* file_meta);
|
|
2429
2511
|
|
|
2512
|
+
extern ROCKSDB_LIBRARY_API char* rocksdb_sst_file_metadata_get_directory(
|
|
2513
|
+
rocksdb_sst_file_metadata_t* file_meta);
|
|
2514
|
+
|
|
2430
2515
|
extern ROCKSDB_LIBRARY_API uint64_t
|
|
2431
2516
|
rocksdb_sst_file_metadata_get_size(rocksdb_sst_file_metadata_t* file_meta);
|
|
2432
2517
|
|