@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
|
@@ -87,15 +87,14 @@ class ArenaWrappedDBIter : public Iterator {
|
|
|
87
87
|
const MutableCFOptions& mutable_cf_options, const Version* version,
|
|
88
88
|
const SequenceNumber& sequence,
|
|
89
89
|
uint64_t max_sequential_skip_in_iterations, uint64_t version_number,
|
|
90
|
-
ReadCallback* read_callback,
|
|
90
|
+
ReadCallback* read_callback, ColumnFamilyHandleImpl* cfh,
|
|
91
91
|
bool expose_blob_index, bool allow_refresh);
|
|
92
92
|
|
|
93
93
|
// Store some parameters so we can refresh the iterator at a later point
|
|
94
94
|
// with these same params
|
|
95
|
-
void StoreRefreshInfo(
|
|
95
|
+
void StoreRefreshInfo(ColumnFamilyHandleImpl* cfh,
|
|
96
96
|
ReadCallback* read_callback, bool expose_blob_index) {
|
|
97
|
-
|
|
98
|
-
cfd_ = cfd;
|
|
97
|
+
cfh_ = cfh;
|
|
99
98
|
read_callback_ = read_callback;
|
|
100
99
|
expose_blob_index_ = expose_blob_index;
|
|
101
100
|
}
|
|
@@ -104,8 +103,7 @@ class ArenaWrappedDBIter : public Iterator {
|
|
|
104
103
|
DBIter* db_iter_ = nullptr;
|
|
105
104
|
Arena arena_;
|
|
106
105
|
uint64_t sv_number_;
|
|
107
|
-
|
|
108
|
-
DBImpl* db_impl_ = nullptr;
|
|
106
|
+
ColumnFamilyHandleImpl* cfh_ = nullptr;
|
|
109
107
|
ReadOptions read_options_;
|
|
110
108
|
ReadCallback* read_callback_;
|
|
111
109
|
bool expose_blob_index_ = false;
|
|
@@ -116,13 +114,13 @@ class ArenaWrappedDBIter : public Iterator {
|
|
|
116
114
|
};
|
|
117
115
|
|
|
118
116
|
// Generate the arena wrapped iterator class.
|
|
119
|
-
// `
|
|
117
|
+
// `cfh` is used for reneweal. If left null, renewal will not
|
|
120
118
|
// be supported.
|
|
121
|
-
|
|
119
|
+
ArenaWrappedDBIter* NewArenaWrappedDbIterator(
|
|
122
120
|
Env* env, const ReadOptions& read_options, const ImmutableOptions& ioptions,
|
|
123
121
|
const MutableCFOptions& mutable_cf_options, const Version* version,
|
|
124
122
|
const SequenceNumber& sequence, uint64_t max_sequential_skip_in_iterations,
|
|
125
123
|
uint64_t version_number, ReadCallback* read_callback,
|
|
126
|
-
|
|
127
|
-
bool
|
|
124
|
+
ColumnFamilyHandleImpl* cfh = nullptr, bool expose_blob_index = false,
|
|
125
|
+
bool allow_refresh = true);
|
|
128
126
|
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
#include "db/attribute_group_iterator_impl.h"
|
|
7
|
+
|
|
8
|
+
namespace ROCKSDB_NAMESPACE {
|
|
9
|
+
|
|
10
|
+
const AttributeGroups kNoAttributeGroups;
|
|
11
|
+
const IteratorAttributeGroups kNoIteratorAttributeGroups;
|
|
12
|
+
|
|
13
|
+
void AttributeGroupIteratorImpl::AddToAttributeGroups(
|
|
14
|
+
const autovector<MultiCfIteratorInfo>& items) {
|
|
15
|
+
for (const auto& item : items) {
|
|
16
|
+
attribute_groups_.emplace_back(item.cfh, &item.iterator->columns());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -0,0 +1,83 @@
|
|
|
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 "db/multi_cf_iterator_impl.h"
|
|
9
|
+
#include "rocksdb/attribute_groups.h"
|
|
10
|
+
|
|
11
|
+
namespace ROCKSDB_NAMESPACE {
|
|
12
|
+
|
|
13
|
+
class AttributeGroupIteratorImpl : public AttributeGroupIterator {
|
|
14
|
+
public:
|
|
15
|
+
AttributeGroupIteratorImpl(
|
|
16
|
+
const Comparator* comparator,
|
|
17
|
+
const std::vector<ColumnFamilyHandle*>& column_families,
|
|
18
|
+
const std::vector<Iterator*>& child_iterators)
|
|
19
|
+
: impl_(
|
|
20
|
+
comparator, column_families, child_iterators, [this]() { Reset(); },
|
|
21
|
+
[this](const autovector<MultiCfIteratorInfo>& items) {
|
|
22
|
+
AddToAttributeGroups(items);
|
|
23
|
+
}) {}
|
|
24
|
+
~AttributeGroupIteratorImpl() override {}
|
|
25
|
+
|
|
26
|
+
// No copy allowed
|
|
27
|
+
AttributeGroupIteratorImpl(const AttributeGroupIteratorImpl&) = delete;
|
|
28
|
+
AttributeGroupIteratorImpl& operator=(const AttributeGroupIteratorImpl&) =
|
|
29
|
+
delete;
|
|
30
|
+
|
|
31
|
+
bool Valid() const override { return impl_.Valid(); }
|
|
32
|
+
void SeekToFirst() override { impl_.SeekToFirst(); }
|
|
33
|
+
void SeekToLast() override { impl_.SeekToLast(); }
|
|
34
|
+
void Seek(const Slice& target) override { impl_.Seek(target); }
|
|
35
|
+
void SeekForPrev(const Slice& target) override { impl_.SeekForPrev(target); }
|
|
36
|
+
void Next() override { impl_.Next(); }
|
|
37
|
+
void Prev() override { impl_.Prev(); }
|
|
38
|
+
Slice key() const override { return impl_.key(); }
|
|
39
|
+
Status status() const override { return impl_.status(); }
|
|
40
|
+
|
|
41
|
+
const IteratorAttributeGroups& attribute_groups() const override {
|
|
42
|
+
assert(Valid());
|
|
43
|
+
return attribute_groups_;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void Reset() { attribute_groups_.clear(); }
|
|
47
|
+
|
|
48
|
+
private:
|
|
49
|
+
MultiCfIteratorImpl impl_;
|
|
50
|
+
IteratorAttributeGroups attribute_groups_;
|
|
51
|
+
void AddToAttributeGroups(const autovector<MultiCfIteratorInfo>& items);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
class EmptyAttributeGroupIterator : public AttributeGroupIterator {
|
|
55
|
+
public:
|
|
56
|
+
explicit EmptyAttributeGroupIterator(const Status& s) : status_(s) {}
|
|
57
|
+
bool Valid() const override { return false; }
|
|
58
|
+
void Seek(const Slice& /*target*/) override {}
|
|
59
|
+
void SeekForPrev(const Slice& /*target*/) override {}
|
|
60
|
+
void SeekToFirst() override {}
|
|
61
|
+
void SeekToLast() override {}
|
|
62
|
+
void Next() override { assert(false); }
|
|
63
|
+
void Prev() override { assert(false); }
|
|
64
|
+
Slice key() const override {
|
|
65
|
+
assert(false);
|
|
66
|
+
return Slice();
|
|
67
|
+
}
|
|
68
|
+
Status status() const override { return status_; }
|
|
69
|
+
|
|
70
|
+
const IteratorAttributeGroups& attribute_groups() const override {
|
|
71
|
+
return kNoIteratorAttributeGroups;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
private:
|
|
75
|
+
Status status_;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
inline std::unique_ptr<AttributeGroupIterator> NewAttributeGroupErrorIterator(
|
|
79
|
+
const Status& status) {
|
|
80
|
+
return std::make_unique<EmptyAttributeGroupIterator>(status);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -34,9 +34,9 @@ BlobFileBuilder::BlobFileBuilder(
|
|
|
34
34
|
VersionSet* versions, FileSystem* fs,
|
|
35
35
|
const ImmutableOptions* immutable_options,
|
|
36
36
|
const MutableCFOptions* mutable_cf_options, const FileOptions* file_options,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const WriteOptions* write_options, std::string db_id,
|
|
38
|
+
std::string db_session_id, int job_id, uint32_t column_family_id,
|
|
39
|
+
const std::string& column_family_name, Env::WriteLifeTimeHint write_hint,
|
|
40
40
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
41
41
|
BlobFileCompletionCallback* blob_callback,
|
|
42
42
|
BlobFileCreationReason creation_reason,
|
|
@@ -44,18 +44,18 @@ BlobFileBuilder::BlobFileBuilder(
|
|
|
44
44
|
std::vector<BlobFileAddition>* blob_file_additions)
|
|
45
45
|
: BlobFileBuilder([versions]() { return versions->NewFileNumber(); }, fs,
|
|
46
46
|
immutable_options, mutable_cf_options, file_options,
|
|
47
|
-
db_id, db_session_id, job_id,
|
|
48
|
-
|
|
49
|
-
blob_callback, creation_reason,
|
|
50
|
-
blob_file_additions) {}
|
|
47
|
+
write_options, db_id, db_session_id, job_id,
|
|
48
|
+
column_family_id, column_family_name, write_hint,
|
|
49
|
+
io_tracer, blob_callback, creation_reason,
|
|
50
|
+
blob_file_paths, blob_file_additions) {}
|
|
51
51
|
|
|
52
52
|
BlobFileBuilder::BlobFileBuilder(
|
|
53
53
|
std::function<uint64_t()> file_number_generator, FileSystem* fs,
|
|
54
54
|
const ImmutableOptions* immutable_options,
|
|
55
55
|
const MutableCFOptions* mutable_cf_options, const FileOptions* file_options,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
const WriteOptions* write_options, std::string db_id,
|
|
57
|
+
std::string db_session_id, int job_id, uint32_t column_family_id,
|
|
58
|
+
const std::string& column_family_name, Env::WriteLifeTimeHint write_hint,
|
|
59
59
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
60
60
|
BlobFileCompletionCallback* blob_callback,
|
|
61
61
|
BlobFileCreationReason creation_reason,
|
|
@@ -69,12 +69,12 @@ BlobFileBuilder::BlobFileBuilder(
|
|
|
69
69
|
blob_compression_type_(mutable_cf_options->blob_compression_type),
|
|
70
70
|
prepopulate_blob_cache_(mutable_cf_options->prepopulate_blob_cache),
|
|
71
71
|
file_options_(file_options),
|
|
72
|
+
write_options_(write_options),
|
|
72
73
|
db_id_(std::move(db_id)),
|
|
73
74
|
db_session_id_(std::move(db_session_id)),
|
|
74
75
|
job_id_(job_id),
|
|
75
76
|
column_family_id_(column_family_id),
|
|
76
77
|
column_family_name_(column_family_name),
|
|
77
|
-
io_priority_(io_priority),
|
|
78
78
|
write_hint_(write_hint),
|
|
79
79
|
io_tracer_(io_tracer),
|
|
80
80
|
blob_callback_(blob_callback),
|
|
@@ -87,6 +87,7 @@ BlobFileBuilder::BlobFileBuilder(
|
|
|
87
87
|
assert(fs_);
|
|
88
88
|
assert(immutable_options_);
|
|
89
89
|
assert(file_options_);
|
|
90
|
+
assert(write_options_);
|
|
90
91
|
assert(blob_file_paths_);
|
|
91
92
|
assert(blob_file_paths_->empty());
|
|
92
93
|
assert(blob_file_additions_);
|
|
@@ -207,14 +208,14 @@ Status BlobFileBuilder::OpenBlobFileIfNeeded() {
|
|
|
207
208
|
blob_file_paths_->emplace_back(std::move(blob_file_path));
|
|
208
209
|
|
|
209
210
|
assert(file);
|
|
210
|
-
file->SetIOPriority(
|
|
211
|
+
file->SetIOPriority(write_options_->rate_limiter_priority);
|
|
211
212
|
file->SetWriteLifeTimeHint(write_hint_);
|
|
212
213
|
FileTypeSet tmp_set = immutable_options_->checksum_handoff_file_types;
|
|
213
214
|
Statistics* const statistics = immutable_options_->stats;
|
|
214
215
|
std::unique_ptr<WritableFileWriter> file_writer(new WritableFileWriter(
|
|
215
216
|
std::move(file), blob_file_paths_->back(), *file_options_,
|
|
216
217
|
immutable_options_->clock, io_tracer_, statistics,
|
|
217
|
-
immutable_options_->listeners,
|
|
218
|
+
Histograms::BLOB_DB_BLOB_FILE_WRITE_MICROS, immutable_options_->listeners,
|
|
218
219
|
immutable_options_->file_checksum_gen_factory.get(),
|
|
219
220
|
tmp_set.Contains(FileType::kBlobFile), false));
|
|
220
221
|
|
|
@@ -231,7 +232,7 @@ Status BlobFileBuilder::OpenBlobFileIfNeeded() {
|
|
|
231
232
|
expiration_range);
|
|
232
233
|
|
|
233
234
|
{
|
|
234
|
-
Status s = blob_log_writer->WriteHeader(header);
|
|
235
|
+
Status s = blob_log_writer->WriteHeader(*write_options_, header);
|
|
235
236
|
|
|
236
237
|
TEST_SYNC_POINT_CALLBACK(
|
|
237
238
|
"BlobFileBuilder::OpenBlobFileIfNeeded:WriteHeader", &s);
|
|
@@ -296,7 +297,8 @@ Status BlobFileBuilder::WriteBlobToFile(const Slice& key, const Slice& blob,
|
|
|
296
297
|
|
|
297
298
|
uint64_t key_offset = 0;
|
|
298
299
|
|
|
299
|
-
Status s =
|
|
300
|
+
Status s =
|
|
301
|
+
writer_->AddRecord(*write_options_, key, blob, &key_offset, blob_offset);
|
|
300
302
|
|
|
301
303
|
TEST_SYNC_POINT_CALLBACK("BlobFileBuilder::WriteBlobToFile:AddRecord", &s);
|
|
302
304
|
|
|
@@ -321,7 +323,8 @@ Status BlobFileBuilder::CloseBlobFile() {
|
|
|
321
323
|
std::string checksum_method;
|
|
322
324
|
std::string checksum_value;
|
|
323
325
|
|
|
324
|
-
Status s = writer_->AppendFooter(footer, &checksum_method,
|
|
326
|
+
Status s = writer_->AppendFooter(*write_options_, footer, &checksum_method,
|
|
327
|
+
&checksum_value);
|
|
325
328
|
|
|
326
329
|
TEST_SYNC_POINT_CALLBACK("BlobFileBuilder::WriteBlobToFile:AppendFooter", &s);
|
|
327
330
|
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#include "rocksdb/advanced_options.h"
|
|
14
14
|
#include "rocksdb/compression_type.h"
|
|
15
15
|
#include "rocksdb/env.h"
|
|
16
|
+
#include "rocksdb/options.h"
|
|
16
17
|
#include "rocksdb/rocksdb_namespace.h"
|
|
17
18
|
#include "rocksdb/types.h"
|
|
18
19
|
|
|
@@ -36,11 +37,11 @@ class BlobFileBuilder {
|
|
|
36
37
|
BlobFileBuilder(VersionSet* versions, FileSystem* fs,
|
|
37
38
|
const ImmutableOptions* immutable_options,
|
|
38
39
|
const MutableCFOptions* mutable_cf_options,
|
|
39
|
-
const FileOptions* file_options,
|
|
40
|
+
const FileOptions* file_options,
|
|
41
|
+
const WriteOptions* write_options, std::string db_id,
|
|
40
42
|
std::string db_session_id, int job_id,
|
|
41
43
|
uint32_t column_family_id,
|
|
42
44
|
const std::string& column_family_name,
|
|
43
|
-
Env::IOPriority io_priority,
|
|
44
45
|
Env::WriteLifeTimeHint write_hint,
|
|
45
46
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
46
47
|
BlobFileCompletionCallback* blob_callback,
|
|
@@ -51,11 +52,11 @@ class BlobFileBuilder {
|
|
|
51
52
|
BlobFileBuilder(std::function<uint64_t()> file_number_generator,
|
|
52
53
|
FileSystem* fs, const ImmutableOptions* immutable_options,
|
|
53
54
|
const MutableCFOptions* mutable_cf_options,
|
|
54
|
-
const FileOptions* file_options,
|
|
55
|
+
const FileOptions* file_options,
|
|
56
|
+
const WriteOptions* write_options, std::string db_id,
|
|
55
57
|
std::string db_session_id, int job_id,
|
|
56
58
|
uint32_t column_family_id,
|
|
57
59
|
const std::string& column_family_name,
|
|
58
|
-
Env::IOPriority io_priority,
|
|
59
60
|
Env::WriteLifeTimeHint write_hint,
|
|
60
61
|
const std::shared_ptr<IOTracer>& io_tracer,
|
|
61
62
|
BlobFileCompletionCallback* blob_callback,
|
|
@@ -92,12 +93,12 @@ class BlobFileBuilder {
|
|
|
92
93
|
CompressionType blob_compression_type_;
|
|
93
94
|
PrepopulateBlobCache prepopulate_blob_cache_;
|
|
94
95
|
const FileOptions* file_options_;
|
|
96
|
+
const WriteOptions* write_options_;
|
|
95
97
|
const std::string db_id_;
|
|
96
98
|
const std::string db_session_id_;
|
|
97
99
|
int job_id_;
|
|
98
100
|
uint32_t column_family_id_;
|
|
99
101
|
std::string column_family_name_;
|
|
100
|
-
Env::IOPriority io_priority_;
|
|
101
102
|
Env::WriteLifeTimeHint write_hint_;
|
|
102
103
|
std::shared_ptr<IOTracer> io_tracer_;
|
|
103
104
|
BlobFileCompletionCallback* blob_callback_;
|
|
@@ -43,6 +43,7 @@ class BlobFileBuilderTest : public testing::Test {
|
|
|
43
43
|
mock_env_.reset(MockEnv::Create(Env::Default()));
|
|
44
44
|
fs_ = mock_env_->GetFileSystem().get();
|
|
45
45
|
clock_ = mock_env_->GetSystemClock().get();
|
|
46
|
+
write_options_.rate_limiter_priority = Env::IO_HIGH;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
void VerifyBlobFile(uint64_t blob_file_number,
|
|
@@ -113,6 +114,7 @@ class BlobFileBuilderTest : public testing::Test {
|
|
|
113
114
|
FileSystem* fs_;
|
|
114
115
|
SystemClock* clock_;
|
|
115
116
|
FileOptions file_options_;
|
|
117
|
+
WriteOptions write_options_;
|
|
116
118
|
};
|
|
117
119
|
|
|
118
120
|
TEST_F(BlobFileBuilderTest, BuildAndCheckOneFile) {
|
|
@@ -136,7 +138,6 @@ TEST_F(BlobFileBuilderTest, BuildAndCheckOneFile) {
|
|
|
136
138
|
constexpr int job_id = 1;
|
|
137
139
|
constexpr uint32_t column_family_id = 123;
|
|
138
140
|
constexpr char column_family_name[] = "foobar";
|
|
139
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
140
141
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
141
142
|
|
|
142
143
|
std::vector<std::string> blob_file_paths;
|
|
@@ -144,8 +145,8 @@ TEST_F(BlobFileBuilderTest, BuildAndCheckOneFile) {
|
|
|
144
145
|
|
|
145
146
|
BlobFileBuilder builder(
|
|
146
147
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
147
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
148
|
-
column_family_id, column_family_name,
|
|
148
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
149
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
149
150
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
150
151
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
151
152
|
|
|
@@ -221,7 +222,6 @@ TEST_F(BlobFileBuilderTest, BuildAndCheckMultipleFiles) {
|
|
|
221
222
|
constexpr int job_id = 1;
|
|
222
223
|
constexpr uint32_t column_family_id = 123;
|
|
223
224
|
constexpr char column_family_name[] = "foobar";
|
|
224
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
225
225
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
226
226
|
|
|
227
227
|
std::vector<std::string> blob_file_paths;
|
|
@@ -229,8 +229,8 @@ TEST_F(BlobFileBuilderTest, BuildAndCheckMultipleFiles) {
|
|
|
229
229
|
|
|
230
230
|
BlobFileBuilder builder(
|
|
231
231
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
232
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
233
|
-
column_family_id, column_family_name,
|
|
232
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
233
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
234
234
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
235
235
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
236
236
|
|
|
@@ -309,7 +309,6 @@ TEST_F(BlobFileBuilderTest, InlinedValues) {
|
|
|
309
309
|
constexpr int job_id = 1;
|
|
310
310
|
constexpr uint32_t column_family_id = 123;
|
|
311
311
|
constexpr char column_family_name[] = "foobar";
|
|
312
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
313
312
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
314
313
|
|
|
315
314
|
std::vector<std::string> blob_file_paths;
|
|
@@ -317,8 +316,8 @@ TEST_F(BlobFileBuilderTest, InlinedValues) {
|
|
|
317
316
|
|
|
318
317
|
BlobFileBuilder builder(
|
|
319
318
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
320
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
321
|
-
column_family_id, column_family_name,
|
|
319
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
320
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
322
321
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
323
322
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
324
323
|
|
|
@@ -364,7 +363,6 @@ TEST_F(BlobFileBuilderTest, Compression) {
|
|
|
364
363
|
constexpr int job_id = 1;
|
|
365
364
|
constexpr uint32_t column_family_id = 123;
|
|
366
365
|
constexpr char column_family_name[] = "foobar";
|
|
367
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
368
366
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
369
367
|
|
|
370
368
|
std::vector<std::string> blob_file_paths;
|
|
@@ -372,8 +370,8 @@ TEST_F(BlobFileBuilderTest, Compression) {
|
|
|
372
370
|
|
|
373
371
|
BlobFileBuilder builder(
|
|
374
372
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
375
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
376
|
-
column_family_id, column_family_name,
|
|
373
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
374
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
377
375
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
378
376
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
379
377
|
|
|
@@ -448,7 +446,6 @@ TEST_F(BlobFileBuilderTest, CompressionError) {
|
|
|
448
446
|
constexpr int job_id = 1;
|
|
449
447
|
constexpr uint32_t column_family_id = 123;
|
|
450
448
|
constexpr char column_family_name[] = "foobar";
|
|
451
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
452
449
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
453
450
|
|
|
454
451
|
std::vector<std::string> blob_file_paths;
|
|
@@ -456,8 +453,8 @@ TEST_F(BlobFileBuilderTest, CompressionError) {
|
|
|
456
453
|
|
|
457
454
|
BlobFileBuilder builder(
|
|
458
455
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
459
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
460
|
-
column_family_id, column_family_name,
|
|
456
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
457
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
461
458
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
462
459
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
463
460
|
|
|
@@ -528,7 +525,6 @@ TEST_F(BlobFileBuilderTest, Checksum) {
|
|
|
528
525
|
constexpr int job_id = 1;
|
|
529
526
|
constexpr uint32_t column_family_id = 123;
|
|
530
527
|
constexpr char column_family_name[] = "foobar";
|
|
531
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
532
528
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
533
529
|
|
|
534
530
|
std::vector<std::string> blob_file_paths;
|
|
@@ -536,8 +532,8 @@ TEST_F(BlobFileBuilderTest, Checksum) {
|
|
|
536
532
|
|
|
537
533
|
BlobFileBuilder builder(
|
|
538
534
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
539
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
540
|
-
column_family_id, column_family_name,
|
|
535
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
536
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
541
537
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
542
538
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
543
539
|
|
|
@@ -589,11 +585,13 @@ class BlobFileBuilderIOErrorTest
|
|
|
589
585
|
BlobFileBuilderIOErrorTest() : sync_point_(GetParam()) {
|
|
590
586
|
mock_env_.reset(MockEnv::Create(Env::Default()));
|
|
591
587
|
fs_ = mock_env_->GetFileSystem().get();
|
|
588
|
+
write_options_.rate_limiter_priority = Env::IO_HIGH;
|
|
592
589
|
}
|
|
593
590
|
|
|
594
591
|
std::unique_ptr<Env> mock_env_;
|
|
595
592
|
FileSystem* fs_;
|
|
596
593
|
FileOptions file_options_;
|
|
594
|
+
WriteOptions write_options_;
|
|
597
595
|
std::string sync_point_;
|
|
598
596
|
};
|
|
599
597
|
|
|
@@ -626,7 +624,6 @@ TEST_P(BlobFileBuilderIOErrorTest, IOError) {
|
|
|
626
624
|
constexpr int job_id = 1;
|
|
627
625
|
constexpr uint32_t column_family_id = 123;
|
|
628
626
|
constexpr char column_family_name[] = "foobar";
|
|
629
|
-
constexpr Env::IOPriority io_priority = Env::IO_HIGH;
|
|
630
627
|
constexpr Env::WriteLifeTimeHint write_hint = Env::WLTH_MEDIUM;
|
|
631
628
|
|
|
632
629
|
std::vector<std::string> blob_file_paths;
|
|
@@ -634,8 +631,8 @@ TEST_P(BlobFileBuilderIOErrorTest, IOError) {
|
|
|
634
631
|
|
|
635
632
|
BlobFileBuilder builder(
|
|
636
633
|
TestFileNumberGenerator(), fs_, &immutable_options, &mutable_cf_options,
|
|
637
|
-
&file_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
638
|
-
column_family_id, column_family_name,
|
|
634
|
+
&file_options_, &write_options_, "" /*db_id*/, "" /*db_session_id*/,
|
|
635
|
+
job_id, column_family_id, column_family_name, write_hint,
|
|
639
636
|
nullptr /*IOTracer*/, nullptr /*BlobFileCompletionCallback*/,
|
|
640
637
|
BlobFileCreationReason::kFlush, &blob_file_paths, &blob_file_additions);
|
|
641
638
|
|
|
@@ -57,7 +57,7 @@ void WriteBlobFile(uint32_t column_family_id,
|
|
|
57
57
|
BlobLogHeader header(column_family_id, kNoCompression, has_ttl,
|
|
58
58
|
expiration_range);
|
|
59
59
|
|
|
60
|
-
ASSERT_OK(blob_log_writer.WriteHeader(header));
|
|
60
|
+
ASSERT_OK(blob_log_writer.WriteHeader(WriteOptions(), header));
|
|
61
61
|
|
|
62
62
|
constexpr char key[] = "key";
|
|
63
63
|
constexpr char blob[] = "blob";
|
|
@@ -67,7 +67,8 @@ void WriteBlobFile(uint32_t column_family_id,
|
|
|
67
67
|
uint64_t key_offset = 0;
|
|
68
68
|
uint64_t blob_offset = 0;
|
|
69
69
|
|
|
70
|
-
ASSERT_OK(blob_log_writer.AddRecord(key, blob, &key_offset,
|
|
70
|
+
ASSERT_OK(blob_log_writer.AddRecord(WriteOptions(), key, blob, &key_offset,
|
|
71
|
+
&blob_offset));
|
|
71
72
|
|
|
72
73
|
BlobLogFooter footer;
|
|
73
74
|
footer.blob_count = 1;
|
|
@@ -76,8 +77,8 @@ void WriteBlobFile(uint32_t column_family_id,
|
|
|
76
77
|
std::string checksum_method;
|
|
77
78
|
std::string checksum_value;
|
|
78
79
|
|
|
79
|
-
ASSERT_OK(
|
|
80
|
-
|
|
80
|
+
ASSERT_OK(blob_log_writer.AppendFooter(WriteOptions(), footer,
|
|
81
|
+
&checksum_method, &checksum_value));
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
} // anonymous namespace
|
|
@@ -63,7 +63,7 @@ void WriteBlobFile(const ImmutableOptions& immutable_options,
|
|
|
63
63
|
BlobLogHeader header(column_family_id, compression, has_ttl,
|
|
64
64
|
expiration_range_header);
|
|
65
65
|
|
|
66
|
-
ASSERT_OK(blob_log_writer.WriteHeader(header));
|
|
66
|
+
ASSERT_OK(blob_log_writer.WriteHeader(WriteOptions(), header));
|
|
67
67
|
|
|
68
68
|
std::vector<std::string> compressed_blobs(num);
|
|
69
69
|
std::vector<Slice> blobs_to_write(num);
|
|
@@ -91,7 +91,8 @@ void WriteBlobFile(const ImmutableOptions& immutable_options,
|
|
|
91
91
|
|
|
92
92
|
for (size_t i = 0; i < num; ++i) {
|
|
93
93
|
uint64_t key_offset = 0;
|
|
94
|
-
ASSERT_OK(blob_log_writer.AddRecord(
|
|
94
|
+
ASSERT_OK(blob_log_writer.AddRecord(WriteOptions(), keys[i],
|
|
95
|
+
blobs_to_write[i], &key_offset,
|
|
95
96
|
&blob_offsets[i]));
|
|
96
97
|
}
|
|
97
98
|
|
|
@@ -101,8 +102,8 @@ void WriteBlobFile(const ImmutableOptions& immutable_options,
|
|
|
101
102
|
|
|
102
103
|
std::string checksum_method;
|
|
103
104
|
std::string checksum_value;
|
|
104
|
-
ASSERT_OK(
|
|
105
|
-
|
|
105
|
+
ASSERT_OK(blob_log_writer.AppendFooter(WriteOptions(), footer,
|
|
106
|
+
&checksum_method, &checksum_value));
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
// Creates a test blob file with a single blob in it. Note: this method
|
|
@@ -404,7 +405,7 @@ TEST_F(BlobFileReaderTest, CreateReaderAndGetBlob) {
|
|
|
404
405
|
|
|
405
406
|
requests_buf[0] =
|
|
406
407
|
BlobReadRequest(key_refs[0], blob_offsets[0], blob_sizes[0],
|
|
407
|
-
kNoCompression, nullptr,
|
|
408
|
+
kNoCompression, nullptr, statuses_buf.data());
|
|
408
409
|
requests_buf[1] =
|
|
409
410
|
BlobReadRequest(key_refs[1], blob_offsets[1], blob_sizes[1] + 1,
|
|
410
411
|
kNoCompression, nullptr, &statuses_buf[1]);
|
|
@@ -473,7 +474,7 @@ TEST_F(BlobFileReaderTest, Malformed) {
|
|
|
473
474
|
BlobLogHeader header(column_family_id, kNoCompression, has_ttl,
|
|
474
475
|
expiration_range);
|
|
475
476
|
|
|
476
|
-
ASSERT_OK(blob_log_writer.WriteHeader(header));
|
|
477
|
+
ASSERT_OK(blob_log_writer.WriteHeader(WriteOptions(), header));
|
|
477
478
|
}
|
|
478
479
|
|
|
479
480
|
constexpr HistogramImpl* blob_file_read_hist = nullptr;
|