@nxtedition/rocksdb 5.2.21 → 5.2.28
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/binding.cc +510 -967
- package/binding.gyp +78 -72
- package/chained-batch.js +1 -2
- package/deps/rocksdb/build_version.cc +70 -4
- package/deps/rocksdb/rocksdb/CMakeLists.txt +281 -149
- package/deps/rocksdb/rocksdb/Makefile +459 -469
- package/deps/rocksdb/rocksdb/TARGETS +5244 -1500
- package/deps/rocksdb/rocksdb/cache/cache.cc +12 -3
- package/deps/rocksdb/rocksdb/cache/cache_bench.cc +7 -368
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +924 -0
- package/deps/rocksdb/rocksdb/cache/cache_entry_roles.cc +128 -0
- package/deps/rocksdb/rocksdb/cache/cache_entry_roles.h +103 -0
- package/deps/rocksdb/rocksdb/cache/cache_entry_stats.h +183 -0
- package/deps/rocksdb/rocksdb/cache/cache_helpers.h +11 -0
- package/deps/rocksdb/rocksdb/cache/cache_key.cc +344 -0
- package/deps/rocksdb/rocksdb/cache/cache_key.h +132 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.cc +183 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +288 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +468 -0
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +85 -8
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +121 -51
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +171 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +86 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +607 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +381 -154
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +176 -33
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +1659 -3
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +94 -23
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +49 -28
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
- package/deps/rocksdb/rocksdb/crash_test.mk +93 -0
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +54 -31
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +10 -6
- package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator.h +146 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator_test.cc +326 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_fetcher.cc +34 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_fetcher.h +37 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_addition.cc +4 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_addition_test.cc +8 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +99 -40
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +20 -8
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +95 -83
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +13 -10
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +7 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +37 -37
- package/deps/rocksdb/rocksdb/db/blob/blob_file_completion_callback.h +101 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.cc +8 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +6 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +209 -44
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +37 -11
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +382 -179
- package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter.cc +100 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter.h +102 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter_test.cc +196 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +2 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +7 -5
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.h +10 -3
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +12 -8
- package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +5 -5
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +772 -9
- package/deps/rocksdb/rocksdb/db/blob/db_blob_compaction_test.cc +730 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_corruption_test.cc +82 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +155 -17
- package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.cc +21 -0
- package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.h +38 -0
- package/deps/rocksdb/rocksdb/db/builder.cc +137 -89
- package/deps/rocksdb/rocksdb/db/builder.h +16 -37
- package/deps/rocksdb/rocksdb/db/c.cc +413 -208
- package/deps/rocksdb/rocksdb/db/c_test.c +227 -138
- package/deps/rocksdb/rocksdb/db/column_family.cc +118 -103
- package/deps/rocksdb/rocksdb/db/column_family.h +86 -44
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +38 -24
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +81 -0
- package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +275 -0
- package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator_test.cc +258 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +81 -28
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +43 -12
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +12 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +406 -215
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +147 -50
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +167 -61
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +1321 -156
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +197 -28
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +246 -43
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +65 -26
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +122 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +8 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +18 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +536 -44
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +311 -30
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +849 -0
- package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +92 -0
- package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +46 -0
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +6 -3
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +383 -28
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +7 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +154 -45
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +1095 -33
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +1249 -203
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +135 -9
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +1348 -166
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +312 -45
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1734 -48
- package/deps/rocksdb/rocksdb/db/{compacted_db_impl.cc → db_impl/compacted_db_impl.cc} +24 -7
- package/deps/rocksdb/rocksdb/db/{compacted_db_impl.h → db_impl/compacted_db_impl.h} +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +644 -333
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +365 -92
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +578 -210
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +38 -16
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +17 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +75 -74
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +450 -183
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +42 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +232 -15
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +42 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +297 -100
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +16 -15
- package/deps/rocksdb/rocksdb/db/db_inplace_update_test.cc +31 -1
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +6 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +218 -153
- package/deps/rocksdb/rocksdb/db/db_iter.h +14 -12
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +84 -160
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +47 -6
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +204 -0
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +21 -13
- package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +17 -10
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +38 -24
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +184 -19
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +183 -3
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +409 -9
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +92 -23
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +446 -0
- package/deps/rocksdb/rocksdb/db/{db_impl/db_secondary_test.cc → db_secondary_test.cc} +363 -35
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +520 -15
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +50 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +139 -4
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +669 -359
- package/deps/rocksdb/rocksdb/db/db_test2.cc +2110 -304
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +76 -43
- package/deps/rocksdb/rocksdb/db/db_test_util.h +231 -103
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +19 -11
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +490 -71
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +980 -349
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +11 -12
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +793 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/dbformat.cc +4 -12
- package/deps/rocksdb/rocksdb/db/dbformat.h +28 -18
- package/deps/rocksdb/rocksdb/db/dbformat_test.cc +3 -0
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +50 -15
- package/deps/rocksdb/rocksdb/db/error_handler.cc +127 -41
- package/deps/rocksdb/rocksdb/db/error_handler.h +12 -5
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +524 -255
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +136 -11
- package/deps/rocksdb/rocksdb/db/event_helpers.h +27 -2
- package/deps/rocksdb/rocksdb/db/experimental.cc +100 -0
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +307 -4
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +137 -60
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +12 -8
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +86 -55
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +86 -5
- package/deps/rocksdb/rocksdb/db/filename_test.cc +63 -0
- package/deps/rocksdb/rocksdb/db/flush_job.cc +619 -64
- package/deps/rocksdb/rocksdb/db/flush_job.h +30 -7
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +33 -16
- package/deps/rocksdb/rocksdb/db/flush_scheduler.h +2 -1
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +18 -17
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +5 -4
- package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +0 -1
- package/deps/rocksdb/rocksdb/db/history_trimming_iterator.h +91 -0
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +25 -14
- package/deps/rocksdb/rocksdb/db/import_column_family_job.h +6 -5
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +471 -50
- package/deps/rocksdb/rocksdb/db/internal_stats.h +129 -25
- package/deps/rocksdb/rocksdb/db/job_context.h +22 -9
- package/deps/rocksdb/rocksdb/db/kv_checksum.h +394 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +518 -41
- package/deps/rocksdb/rocksdb/db/log_format.h +4 -1
- package/deps/rocksdb/rocksdb/db/log_reader.cc +129 -6
- package/deps/rocksdb/rocksdb/db/log_reader.h +17 -1
- package/deps/rocksdb/rocksdb/db/log_test.cc +161 -11
- package/deps/rocksdb/rocksdb/db/log_writer.cc +92 -13
- package/deps/rocksdb/rocksdb/db/log_writer.h +18 -5
- package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.h +1 -1
- package/deps/rocksdb/rocksdb/db/lookup_key.h +0 -1
- package/deps/rocksdb/rocksdb/db/malloc_stats.cc +2 -2
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +21 -8
- package/deps/rocksdb/rocksdb/db/memtable.cc +144 -54
- package/deps/rocksdb/rocksdb/db/memtable.h +72 -15
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +95 -47
- package/deps/rocksdb/rocksdb/db/memtable_list.h +33 -13
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +61 -31
- package/deps/rocksdb/rocksdb/db/merge_context.h +20 -8
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +54 -11
- package/deps/rocksdb/rocksdb/db/merge_helper.h +17 -6
- package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +13 -7
- package/deps/rocksdb/rocksdb/db/merge_test.cc +40 -19
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +14 -25
- package/deps/rocksdb/rocksdb/db/output_validator.cc +3 -0
- package/deps/rocksdb/rocksdb/db/output_validator.h +5 -4
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +32 -28
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +43 -29
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +9 -7
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +21 -16
- package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +1 -1
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +29 -36
- package/deps/rocksdb/rocksdb/db/pre_release_callback.h +1 -2
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +2 -2
- package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +11 -11
- package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +14 -8
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +17 -0
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +4 -2
- package/deps/rocksdb/rocksdb/db/read_callback.h +1 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +87 -58
- package/deps/rocksdb/rocksdb/db/repair_test.cc +35 -5
- package/deps/rocksdb/rocksdb/db/snapshot_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +95 -69
- package/deps/rocksdb/rocksdb/db/table_cache.h +63 -53
- package/deps/rocksdb/rocksdb/db/table_properties_collector.cc +4 -4
- package/deps/rocksdb/rocksdb/db/table_properties_collector.h +78 -10
- package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +28 -33
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +30 -51
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +12 -8
- package/deps/rocksdb/rocksdb/db/version_builder.cc +564 -341
- package/deps/rocksdb/rocksdb/db/version_builder.h +8 -8
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +327 -155
- package/deps/rocksdb/rocksdb/db/version_edit.cc +89 -27
- package/deps/rocksdb/rocksdb/db/version_edit.h +42 -17
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +324 -43
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +79 -22
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +165 -20
- package/deps/rocksdb/rocksdb/db/version_set.cc +935 -1034
- package/deps/rocksdb/rocksdb/db/version_set.h +183 -122
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +556 -138
- package/deps/rocksdb/rocksdb/db/version_util.h +68 -0
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +23 -21
- package/deps/rocksdb/rocksdb/db/wal_manager.h +5 -2
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +30 -27
- package/deps/rocksdb/rocksdb/db/write_batch.cc +704 -209
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +135 -2
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +209 -5
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/write_controller.cc +47 -54
- package/deps/rocksdb/rocksdb/db/write_controller.h +12 -9
- package/deps/rocksdb/rocksdb/db/write_controller_test.cc +215 -103
- package/deps/rocksdb/rocksdb/db/write_thread.cc +11 -0
- package/deps/rocksdb/rocksdb/db/write_thread.h +14 -8
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +10 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +6 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress.cc +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +19 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +78 -25
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +13 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +29 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +5 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +199 -32
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +188 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +59 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +77 -109
- package/deps/rocksdb/rocksdb/{third-party/folly/folly/synchronization/WaitOptions.cpp → db_stress_tool/db_stress_stat.cc} +9 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_stat.h +7 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +699 -143
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +20 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +49 -39
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +631 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +287 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +1565 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +374 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +149 -18
- package/deps/rocksdb/rocksdb/env/composite_env.cc +464 -0
- package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +98 -646
- package/deps/rocksdb/rocksdb/env/emulated_clock.h +114 -0
- package/deps/rocksdb/rocksdb/env/env.cc +632 -42
- package/deps/rocksdb/rocksdb/env/env_basic_test.cc +84 -36
- package/deps/rocksdb/rocksdb/env/env_chroot.cc +88 -286
- package/deps/rocksdb/rocksdb/env/env_chroot.h +34 -1
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +469 -277
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +9 -30
- package/deps/rocksdb/rocksdb/env/env_posix.cc +110 -119
- package/deps/rocksdb/rocksdb/env/env_test.cc +1128 -39
- package/deps/rocksdb/rocksdb/env/file_system.cc +147 -8
- package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +207 -136
- package/deps/rocksdb/rocksdb/env/file_system_tracer.h +86 -54
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +192 -64
- package/deps/rocksdb/rocksdb/env/fs_readonly.h +107 -0
- package/deps/rocksdb/rocksdb/env/fs_remap.cc +339 -0
- package/deps/rocksdb/rocksdb/env/fs_remap.h +139 -0
- package/deps/rocksdb/rocksdb/env/io_posix.cc +245 -41
- package/deps/rocksdb/rocksdb/env/io_posix.h +66 -1
- package/deps/rocksdb/rocksdb/env/mock_env.cc +147 -149
- package/deps/rocksdb/rocksdb/env/mock_env.h +113 -11
- package/deps/rocksdb/rocksdb/env/mock_env_test.cc +2 -4
- package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +164 -0
- package/deps/rocksdb/rocksdb/env/unique_id_gen.h +71 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +9 -5
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +6 -4
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +19 -12
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +459 -70
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +205 -28
- package/deps/rocksdb/rocksdb/file/file_util.cc +39 -28
- package/deps/rocksdb/rocksdb/file/file_util.h +18 -27
- package/deps/rocksdb/rocksdb/file/filename.cc +59 -22
- package/deps/rocksdb/rocksdb/file/filename.h +13 -8
- package/deps/rocksdb/rocksdb/file/line_file_reader.cc +68 -0
- package/deps/rocksdb/rocksdb/file/line_file_reader.h +59 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +1130 -6
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +220 -36
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +69 -17
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +13 -12
- package/deps/rocksdb/rocksdb/file/read_write_util.cc +3 -38
- package/deps/rocksdb/rocksdb/file/read_write_util.h +0 -4
- package/deps/rocksdb/rocksdb/file/readahead_file_info.h +33 -0
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +57 -9
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +58 -6
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +29 -54
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +22 -29
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +424 -50
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +66 -19
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +157 -66
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +224 -121
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +333 -30
- package/deps/rocksdb/rocksdb/include/rocksdb/cache_bench_tool.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +90 -50
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +13 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +20 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +8 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +53 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +31 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +102 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +51 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +370 -262
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +286 -87
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +124 -64
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +27 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +21 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +384 -41
- package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +111 -143
- package/deps/rocksdb/rocksdb/include/rocksdb/flush_block_policy.h +20 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/functor_wrapper.h +56 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +15 -33
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +37 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +1 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +314 -26
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +11 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +50 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +10 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +186 -96
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +373 -103
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +13 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +37 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/rocksdb_namespace.h +6 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +87 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +5 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +59 -30
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +11 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +22 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +17 -10
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +121 -41
- package/deps/rocksdb/rocksdb/include/rocksdb/stats_history.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +114 -136
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +116 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +160 -18
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +57 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_reader_writer.h +10 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +247 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record_result.h +187 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +14 -24
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +46 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +14 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/agg_merge.h +138 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +631 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +142 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +12 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +368 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +24 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +418 -63
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +143 -73
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/replayer.h +87 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +43 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +18 -23
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +26 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +32 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +20 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +30 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +11 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +89 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +11 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +108 -38
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +40 -23
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +12 -5
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +100 -49
- package/deps/rocksdb/rocksdb/logging/env_logger.h +7 -5
- package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +0 -1
- package/deps/rocksdb/rocksdb/logging/posix_logger.h +3 -9
- package/deps/rocksdb/rocksdb/memory/arena.cc +3 -1
- package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +171 -106
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +31 -15
- package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.cc +15 -4
- package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator.h +24 -8
- package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +91 -0
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +239 -0
- package/deps/rocksdb/rocksdb/memory/memory_usage.h +14 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +72 -9
- package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +52 -6
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +53 -0
- package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +5 -5
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +17 -5
- package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +87 -0
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +20 -10
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +148 -94
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +160 -62
- package/deps/rocksdb/rocksdb/microbench/CMakeLists.txt +17 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +1360 -0
- package/deps/rocksdb/rocksdb/microbench/ribbon_bench.cc +153 -0
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +8 -15
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +0 -1
- package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +18 -16
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +9 -7
- package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +5 -3
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.cc +7 -5
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +37 -12
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +26 -6
- package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +6 -10
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +14 -13
- package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +19 -20
- package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +18 -18
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +84 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.h +6 -0
- package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +47 -2
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +67 -54
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +4 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +280 -212
- package/deps/rocksdb/rocksdb/options/cf_options.h +51 -57
- package/deps/rocksdb/rocksdb/options/configurable.cc +242 -138
- package/deps/rocksdb/rocksdb/options/configurable_helper.h +4 -68
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +144 -21
- package/deps/rocksdb/rocksdb/options/configurable_test.h +2 -3
- package/deps/rocksdb/rocksdb/options/customizable.cc +67 -7
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +1773 -151
- package/deps/rocksdb/rocksdb/options/db_options.cc +275 -47
- package/deps/rocksdb/rocksdb/options/db_options.h +36 -7
- package/deps/rocksdb/rocksdb/options/options.cc +49 -17
- package/deps/rocksdb/rocksdb/options/options_helper.cc +369 -352
- package/deps/rocksdb/rocksdb/options/options_helper.h +23 -23
- package/deps/rocksdb/rocksdb/options/options_parser.cc +18 -13
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +67 -54
- package/deps/rocksdb/rocksdb/options/options_test.cc +1162 -187
- package/deps/rocksdb/rocksdb/port/jemalloc_helper.h +1 -1
- package/deps/rocksdb/rocksdb/port/lang.h +52 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +31 -2
- package/deps/rocksdb/rocksdb/port/port_posix.h +20 -2
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +20 -4
- package/deps/rocksdb/rocksdb/port/sys_time.h +2 -2
- package/deps/rocksdb/rocksdb/port/win/env_default.cc +7 -7
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +44 -74
- package/deps/rocksdb/rocksdb/port/win/env_win.h +25 -23
- package/deps/rocksdb/rocksdb/port/win/io_win.cc +32 -34
- package/deps/rocksdb/rocksdb/port/win/io_win.h +12 -6
- package/deps/rocksdb/rocksdb/port/win/port_win.cc +55 -35
- package/deps/rocksdb/rocksdb/port/win/port_win.h +22 -5
- package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -3
- package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -5
- package/deps/rocksdb/rocksdb/port/win/win_thread.cc +7 -1
- package/deps/rocksdb/rocksdb/port/win/win_thread.h +12 -17
- package/deps/rocksdb/rocksdb/python.mk +9 -0
- package/deps/rocksdb/rocksdb/src.mk +82 -34
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +3 -4
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +158 -80
- package/deps/rocksdb/rocksdb/table/block_based/block.h +64 -36
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +23 -14
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.h +13 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block_test.cc +3 -218
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +603 -328
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +28 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +220 -82
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +28 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +598 -492
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +151 -96
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +31 -58
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +330 -92
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +50 -19
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +23 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_like_traits.h +226 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +56 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +42 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +5 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_type.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +34 -20
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +9 -10
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +26 -3
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +844 -202
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +281 -81
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +62 -2
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.h +2 -3
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +28 -7
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +22 -6
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +28 -26
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/mock_block_based_table.h +11 -4
- package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/parsed_full_filter_block.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +68 -26
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +44 -9
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +12 -10
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +23 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +44 -19
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +5 -1
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +16 -28
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +77 -57
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +23 -12
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +43 -56
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +8 -8
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +52 -70
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +5 -8
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +17 -11
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +2 -3
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +42 -51
- package/deps/rocksdb/rocksdb/table/format.cc +258 -104
- package/deps/rocksdb/rocksdb/table/format.h +120 -109
- package/deps/rocksdb/rocksdb/table/get_context.cc +97 -65
- package/deps/rocksdb/rocksdb/table/get_context.h +19 -12
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +14 -0
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/table/merger_test.cc +3 -2
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +11 -21
- package/deps/rocksdb/rocksdb/table/merging_iterator.h +3 -3
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +176 -171
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +47 -33
- package/deps/rocksdb/rocksdb/table/mock_table.cc +7 -9
- package/deps/rocksdb/rocksdb/table/mock_table.h +3 -2
- package/deps/rocksdb/rocksdb/table/multiget_context.h +15 -8
- package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +22 -29
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +6 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.h +5 -8
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +29 -26
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +12 -16
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +145 -69
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +1 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +7 -6
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +3 -4
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +3 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +1 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +13 -18
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +4 -9
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +55 -37
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +10 -5
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +11 -8
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +222 -16
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +106 -58
- package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +6 -5
- package/deps/rocksdb/rocksdb/table/table_builder.h +68 -44
- package/deps/rocksdb/rocksdb/table/table_factory.cc +37 -10
- package/deps/rocksdb/rocksdb/table/table_properties.cc +109 -54
- package/deps/rocksdb/rocksdb/table/table_properties_internal.h +4 -20
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +33 -32
- package/deps/rocksdb/rocksdb/table/table_reader_caller.h +2 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +989 -326
- package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +4 -0
- package/deps/rocksdb/rocksdb/table/unique_id.cc +166 -0
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +59 -0
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +1 -1
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +13 -10
- package/deps/rocksdb/rocksdb/test_util/sync_point.cc +1 -2
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +35 -16
- package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +32 -10
- package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +31 -4
- package/deps/rocksdb/rocksdb/test_util/testharness.cc +53 -1
- package/deps/rocksdb/rocksdb/test_util/testharness.h +67 -3
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +236 -66
- package/deps/rocksdb/rocksdb/test_util/testutil.h +63 -100
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +12 -1
- package/deps/rocksdb/rocksdb/tools/blob_dump.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +6 -3
- 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 +9 -3
- package/deps/rocksdb/rocksdb/tools/db_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +1420 -611
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +11 -8
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +11 -1
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +4 -2
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +46 -22
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +655 -179
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +58 -6
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +472 -29
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +23 -2
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +246 -0
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +126 -0
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +83 -29
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +38 -17
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +191 -55
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +219 -296
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +87 -53
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +8 -7
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.cc +6 -5
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +5 -4
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer_test.cc +14 -9
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +134 -60
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.h +49 -38
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +152 -15
- package/deps/rocksdb/rocksdb/trace_replay/trace_record.cc +206 -0
- package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.cc +190 -0
- package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.h +46 -0
- package/deps/rocksdb/rocksdb/trace_replay/trace_record_result.cc +146 -0
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +475 -344
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +83 -95
- package/deps/rocksdb/rocksdb/util/autovector.h +38 -18
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +4 -0
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +276 -94
- package/deps/rocksdb/rocksdb/util/build_version.cc.in +81 -4
- package/deps/rocksdb/rocksdb/util/cast_util.h +22 -0
- package/deps/rocksdb/rocksdb/util/channel.h +2 -0
- package/deps/rocksdb/rocksdb/util/coding.h +1 -33
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +8 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +163 -3
- package/deps/rocksdb/rocksdb/util/compression.cc +122 -0
- package/deps/rocksdb/rocksdb/util/compression.h +212 -7
- package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +1 -3
- package/deps/rocksdb/rocksdb/util/crc32c.cc +165 -2
- package/deps/rocksdb/rocksdb/util/crc32c.h +6 -0
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +14 -0
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +3 -0
- package/deps/rocksdb/rocksdb/util/crc32c_test.cc +47 -0
- package/deps/rocksdb/rocksdb/util/defer.h +30 -1
- package/deps/rocksdb/rocksdb/util/defer_test.cc +11 -0
- package/deps/rocksdb/rocksdb/util/duplicate_detector.h +3 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
- package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +5 -4
- package/deps/rocksdb/rocksdb/util/fastrange.h +2 -0
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +36 -0
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +3 -1
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +512 -52
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +65 -10
- package/deps/rocksdb/rocksdb/util/gflags_compat.h +6 -1
- package/deps/rocksdb/rocksdb/util/hash.cc +121 -3
- package/deps/rocksdb/rocksdb/util/hash.h +31 -1
- package/deps/rocksdb/rocksdb/util/hash128.h +26 -0
- package/deps/rocksdb/rocksdb/util/hash_containers.h +51 -0
- package/deps/rocksdb/rocksdb/util/hash_test.cc +194 -2
- package/deps/rocksdb/rocksdb/util/heap.h +6 -1
- package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
- package/deps/rocksdb/rocksdb/util/log_write_bench.cc +8 -6
- package/deps/rocksdb/rocksdb/util/math.h +74 -7
- package/deps/rocksdb/rocksdb/util/math128.h +13 -1
- package/deps/rocksdb/rocksdb/util/murmurhash.h +3 -3
- package/deps/rocksdb/rocksdb/util/random.cc +9 -0
- package/deps/rocksdb/rocksdb/util/random.h +6 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +298 -144
- package/deps/rocksdb/rocksdb/util/rate_limiter.h +68 -19
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +335 -23
- package/deps/rocksdb/rocksdb/util/repeatable_thread.h +10 -12
- package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +18 -15
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +98 -74
- package/deps/rocksdb/rocksdb/util/ribbon_config.cc +506 -0
- package/deps/rocksdb/rocksdb/util/ribbon_config.h +182 -0
- package/deps/rocksdb/rocksdb/util/ribbon_impl.h +154 -79
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +742 -365
- package/deps/rocksdb/rocksdb/util/set_comparator.h +2 -0
- package/deps/rocksdb/rocksdb/util/slice.cc +198 -35
- package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -1
- package/deps/rocksdb/rocksdb/util/status.cc +32 -29
- package/deps/rocksdb/rocksdb/util/stop_watch.h +18 -18
- package/deps/rocksdb/rocksdb/util/string_util.cc +85 -6
- package/deps/rocksdb/rocksdb/util/string_util.h +47 -2
- package/deps/rocksdb/rocksdb/util/thread_guard.h +41 -0
- package/deps/rocksdb/rocksdb/util/thread_local.h +2 -2
- package/deps/rocksdb/rocksdb/util/thread_local_test.cc +22 -24
- package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +7 -6
- package/deps/rocksdb/rocksdb/util/timer.h +55 -46
- package/deps/rocksdb/rocksdb/util/timer_test.cc +50 -48
- package/deps/rocksdb/rocksdb/util/user_comparator_wrapper.h +4 -0
- package/deps/rocksdb/rocksdb/util/vector_iterator.h +31 -15
- package/deps/rocksdb/rocksdb/util/work_queue.h +2 -0
- package/deps/rocksdb/rocksdb/util/xxhash.cc +35 -1144
- package/deps/rocksdb/rocksdb/util/xxhash.h +5117 -373
- package/deps/rocksdb/rocksdb/util/xxph3.h +1762 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +238 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.h +49 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +134 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +104 -0
- package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.h +47 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +3164 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +29 -0
- package/deps/rocksdb/rocksdb/utilities/{backupable/backupable_db_test.cc → backup/backup_engine_test.cc} +1679 -485
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +6 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +14 -9
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +2 -0
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +37 -27
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +8 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +13 -10
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +5 -0
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +44 -25
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +27 -19
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +4 -2
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +69 -0
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +489 -0
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +366 -0
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +67 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +21 -6
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +107 -7
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_options.h +43 -0
- package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +24 -8
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +7 -7
- package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +5 -0
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +99 -218
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +8 -24
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +114 -1
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +6 -2
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -4
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +7 -6
- package/deps/rocksdb/rocksdb/utilities/compaction_filters.cc +56 -0
- package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/counted_fs.cc +355 -0
- package/deps/rocksdb/rocksdb/utilities/counted_fs.h +152 -0
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +13 -0
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +164 -122
- package/deps/rocksdb/rocksdb/utilities/env_timed.h +97 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +75 -17
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +19 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +539 -126
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +162 -17
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +110 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +94 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +5 -2
- package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +104 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +5 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +4 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +11 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.h +5 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +29 -10
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +29 -14
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +71 -18
- package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +15 -9
- package/deps/rocksdb/rocksdb/utilities/merge_operators.cc +120 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators.h +3 -23
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +267 -42
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +702 -76
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +26 -5
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +124 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +8 -9
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +15 -13
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +4 -4
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +8 -9
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator.cc +3 -0
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +2 -0
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +43 -35
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +20 -18
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +107 -2
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +23 -15
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +316 -0
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.h +86 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +4 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +119 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +20 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +20 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +3 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +4 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +38 -14
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +17 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +423 -34
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +82 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +72 -40
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +32 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +13 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +7 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +207 -43
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +50 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +28 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +11 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +516 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +506 -15
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +27 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +14 -14
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +3 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +14 -5
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +305 -27
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +55 -159
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +209 -2
- package/deps/rocksdb/rocksdb/utilities/wal_filter.cc +23 -0
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +157 -88
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +501 -114
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +91 -316
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +1212 -672
- package/deps/rocksdb/rocksdb.gyp +425 -446
- package/index.js +5 -87
- package/package-lock.json +23687 -0
- package/package.json +8 -9
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/{darwin-x64+arm64 → linux-x64}/node.napi.node +0 -0
- package/deps/rocksdb/rocksdb/README.md +0 -32
- package/deps/rocksdb/rocksdb/env/env_hdfs.cc +0 -648
- package/deps/rocksdb/rocksdb/hdfs/README +0 -23
- package/deps/rocksdb/rocksdb/hdfs/env_hdfs.h +0 -386
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backupable_db.h +0 -535
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_librados.h +0 -175
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/utility_db.h +0 -34
- package/deps/rocksdb/rocksdb/memory/memkind_kmem_allocator_test.cc +0 -102
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.h +0 -49
- package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.h +0 -44
- package/deps/rocksdb/rocksdb/options/customizable_helper.h +0 -216
- package/deps/rocksdb/rocksdb/port/README +0 -10
- package/deps/rocksdb/rocksdb/third-party/folly/folly/CPortability.h +0 -27
- package/deps/rocksdb/rocksdb/third-party/folly/folly/ConstexprMath.h +0 -45
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Indestructible.h +0 -166
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Optional.h +0 -570
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Portability.h +0 -92
- package/deps/rocksdb/rocksdb/third-party/folly/folly/ScopeGuard.h +0 -54
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Traits.h +0 -152
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Unit.h +0 -59
- package/deps/rocksdb/rocksdb/third-party/folly/folly/Utility.h +0 -141
- package/deps/rocksdb/rocksdb/third-party/folly/folly/chrono/Hardware.h +0 -33
- package/deps/rocksdb/rocksdb/third-party/folly/folly/container/Array.h +0 -74
- package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex-inl.h +0 -117
- package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.cpp +0 -263
- package/deps/rocksdb/rocksdb/third-party/folly/folly/detail/Futex.h +0 -96
- package/deps/rocksdb/rocksdb/third-party/folly/folly/functional/Invoke.h +0 -40
- package/deps/rocksdb/rocksdb/third-party/folly/folly/hash/Hash.h +0 -29
- package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Align.h +0 -144
- package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Bits.h +0 -30
- package/deps/rocksdb/rocksdb/third-party/folly/folly/lang/Launder.h +0 -51
- package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/Asm.h +0 -28
- package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysSyscall.h +0 -10
- package/deps/rocksdb/rocksdb/third-party/folly/folly/portability/SysTypes.h +0 -26
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification-inl.h +0 -138
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.cpp +0 -23
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicNotification.h +0 -57
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil-inl.h +0 -260
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/AtomicUtil.h +0 -52
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/Baton.h +0 -328
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex-inl.h +0 -1703
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.cpp +0 -16
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutex.h +0 -304
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/DistributedMutexSpecializations.h +0 -39
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.cpp +0 -26
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/ParkingLot.h +0 -318
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/WaitOptions.h +0 -57
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/InlineFunctionRef.h +0 -219
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h +0 -207
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/ProxyLockable.h +0 -164
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Sleeper.h +0 -57
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/detail/Spin.h +0 -77
- package/deps/rocksdb/rocksdb/third-party/folly/folly/synchronization/test/DistributedMutexTest.cpp +0 -1145
- package/deps/rocksdb/rocksdb/util/build_version.h +0 -15
- package/deps/rocksdb/rocksdb/util/xxh3p.h +0 -1392
- package/deps/rocksdb/rocksdb/utilities/backupable/backupable_db.cc +0 -2354
- package/deps/rocksdb/rocksdb/utilities/env_librados.cc +0 -1497
- package/deps/rocksdb/rocksdb/utilities/env_librados_test.cc +0 -1146
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +0 -13
- package/deps/snappy/snappy-1.1.7/README.md +0 -149
- package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "rocksdb/env.h"
|
|
9
9
|
#include "rocksdb/file_system.h"
|
|
10
|
+
#include "rocksdb/system_clock.h"
|
|
10
11
|
|
|
11
12
|
#ifdef _WIN32
|
|
12
13
|
// Windows API macro interference
|
|
@@ -17,272 +18,13 @@
|
|
|
17
18
|
|
|
18
19
|
namespace ROCKSDB_NAMESPACE {
|
|
19
20
|
|
|
20
|
-
// The CompositeEnvWrapper class provides an interface that is compatible
|
|
21
|
-
// with the old monolithic Env API, and an implementation that wraps around
|
|
22
|
-
// the new Env that provides threading and other OS related functionality, and
|
|
23
|
-
// the new FileSystem API that provides storage functionality. By
|
|
24
|
-
// providing the old Env interface, it allows the rest of RocksDB code to
|
|
25
|
-
// be agnostic of whether the underlying Env implementation is a monolithic
|
|
26
|
-
// Env or an Env + FileSystem. In the former case, the user will specify
|
|
27
|
-
// Options::env only, whereas in the latter case, the user will specify
|
|
28
|
-
// Options::env and Options::file_system.
|
|
29
|
-
|
|
30
|
-
class CompositeSequentialFileWrapper : public SequentialFile {
|
|
31
|
-
public:
|
|
32
|
-
explicit CompositeSequentialFileWrapper(
|
|
33
|
-
std::unique_ptr<FSSequentialFile>& target)
|
|
34
|
-
: target_(std::move(target)) {}
|
|
35
|
-
|
|
36
|
-
Status Read(size_t n, Slice* result, char* scratch) override {
|
|
37
|
-
IOOptions io_opts;
|
|
38
|
-
IODebugContext dbg;
|
|
39
|
-
return target_->Read(n, io_opts, result, scratch, &dbg);
|
|
40
|
-
}
|
|
41
|
-
Status Skip(uint64_t n) override { return target_->Skip(n); }
|
|
42
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
43
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
44
|
-
return target_->GetRequiredBufferAlignment();
|
|
45
|
-
}
|
|
46
|
-
Status InvalidateCache(size_t offset, size_t length) override {
|
|
47
|
-
return target_->InvalidateCache(offset, length);
|
|
48
|
-
}
|
|
49
|
-
Status PositionedRead(uint64_t offset, size_t n, Slice* result,
|
|
50
|
-
char* scratch) override {
|
|
51
|
-
IOOptions io_opts;
|
|
52
|
-
IODebugContext dbg;
|
|
53
|
-
return target_->PositionedRead(offset, n, io_opts, result, scratch, &dbg);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
private:
|
|
57
|
-
std::unique_ptr<FSSequentialFile> target_;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
class CompositeRandomAccessFileWrapper : public RandomAccessFile {
|
|
61
|
-
public:
|
|
62
|
-
explicit CompositeRandomAccessFileWrapper(
|
|
63
|
-
std::unique_ptr<FSRandomAccessFile>& target)
|
|
64
|
-
: target_(std::move(target)) {}
|
|
65
|
-
|
|
66
|
-
Status Read(uint64_t offset, size_t n, Slice* result,
|
|
67
|
-
char* scratch) const override {
|
|
68
|
-
IOOptions io_opts;
|
|
69
|
-
IODebugContext dbg;
|
|
70
|
-
return target_->Read(offset, n, io_opts, result, scratch, &dbg);
|
|
71
|
-
}
|
|
72
|
-
Status MultiRead(ReadRequest* reqs, size_t num_reqs) override {
|
|
73
|
-
IOOptions io_opts;
|
|
74
|
-
IODebugContext dbg;
|
|
75
|
-
std::vector<FSReadRequest> fs_reqs;
|
|
76
|
-
Status status;
|
|
77
|
-
|
|
78
|
-
fs_reqs.resize(num_reqs);
|
|
79
|
-
for (size_t i = 0; i < num_reqs; ++i) {
|
|
80
|
-
fs_reqs[i].offset = reqs[i].offset;
|
|
81
|
-
fs_reqs[i].len = reqs[i].len;
|
|
82
|
-
fs_reqs[i].scratch = reqs[i].scratch;
|
|
83
|
-
fs_reqs[i].status = IOStatus::OK();
|
|
84
|
-
}
|
|
85
|
-
status = target_->MultiRead(fs_reqs.data(), num_reqs, io_opts, &dbg);
|
|
86
|
-
for (size_t i = 0; i < num_reqs; ++i) {
|
|
87
|
-
reqs[i].result = fs_reqs[i].result;
|
|
88
|
-
reqs[i].status = fs_reqs[i].status;
|
|
89
|
-
}
|
|
90
|
-
return status;
|
|
91
|
-
}
|
|
92
|
-
Status Prefetch(uint64_t offset, size_t n) override {
|
|
93
|
-
IOOptions io_opts;
|
|
94
|
-
IODebugContext dbg;
|
|
95
|
-
return target_->Prefetch(offset, n, io_opts, &dbg);
|
|
96
|
-
}
|
|
97
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
98
|
-
return target_->GetUniqueId(id, max_size);
|
|
99
|
-
};
|
|
100
|
-
void Hint(AccessPattern pattern) override {
|
|
101
|
-
target_->Hint((FSRandomAccessFile::AccessPattern)pattern);
|
|
102
|
-
}
|
|
103
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
104
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
105
|
-
return target_->GetRequiredBufferAlignment();
|
|
106
|
-
}
|
|
107
|
-
Status InvalidateCache(size_t offset, size_t length) override {
|
|
108
|
-
return target_->InvalidateCache(offset, length);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
private:
|
|
112
|
-
std::unique_ptr<FSRandomAccessFile> target_;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
class CompositeWritableFileWrapper : public WritableFile {
|
|
116
|
-
public:
|
|
117
|
-
explicit CompositeWritableFileWrapper(std::unique_ptr<FSWritableFile>& t)
|
|
118
|
-
: target_(std::move(t)) {}
|
|
119
|
-
|
|
120
|
-
Status Append(const Slice& data) override {
|
|
121
|
-
IOOptions io_opts;
|
|
122
|
-
IODebugContext dbg;
|
|
123
|
-
return target_->Append(data, io_opts, &dbg);
|
|
124
|
-
}
|
|
125
|
-
Status PositionedAppend(const Slice& data, uint64_t offset) override {
|
|
126
|
-
IOOptions io_opts;
|
|
127
|
-
IODebugContext dbg;
|
|
128
|
-
return target_->PositionedAppend(data, offset, io_opts, &dbg);
|
|
129
|
-
}
|
|
130
|
-
Status Truncate(uint64_t size) override {
|
|
131
|
-
IOOptions io_opts;
|
|
132
|
-
IODebugContext dbg;
|
|
133
|
-
return target_->Truncate(size, io_opts, &dbg);
|
|
134
|
-
}
|
|
135
|
-
Status Close() override {
|
|
136
|
-
IOOptions io_opts;
|
|
137
|
-
IODebugContext dbg;
|
|
138
|
-
return target_->Close(io_opts, &dbg);
|
|
139
|
-
}
|
|
140
|
-
Status Flush() override {
|
|
141
|
-
IOOptions io_opts;
|
|
142
|
-
IODebugContext dbg;
|
|
143
|
-
return target_->Flush(io_opts, &dbg);
|
|
144
|
-
}
|
|
145
|
-
Status Sync() override {
|
|
146
|
-
IOOptions io_opts;
|
|
147
|
-
IODebugContext dbg;
|
|
148
|
-
return target_->Sync(io_opts, &dbg);
|
|
149
|
-
}
|
|
150
|
-
Status Fsync() override {
|
|
151
|
-
IOOptions io_opts;
|
|
152
|
-
IODebugContext dbg;
|
|
153
|
-
return target_->Fsync(io_opts, &dbg);
|
|
154
|
-
}
|
|
155
|
-
bool IsSyncThreadSafe() const override { return target_->IsSyncThreadSafe(); }
|
|
156
|
-
|
|
157
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
158
|
-
|
|
159
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
160
|
-
return target_->GetRequiredBufferAlignment();
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
void SetWriteLifeTimeHint(Env::WriteLifeTimeHint hint) override {
|
|
164
|
-
target_->SetWriteLifeTimeHint(hint);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
Env::WriteLifeTimeHint GetWriteLifeTimeHint() override {
|
|
168
|
-
return target_->GetWriteLifeTimeHint();
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
uint64_t GetFileSize() override {
|
|
172
|
-
IOOptions io_opts;
|
|
173
|
-
IODebugContext dbg;
|
|
174
|
-
return target_->GetFileSize(io_opts, &dbg);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
void SetPreallocationBlockSize(size_t size) override {
|
|
178
|
-
target_->SetPreallocationBlockSize(size);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
void GetPreallocationStatus(size_t* block_size,
|
|
182
|
-
size_t* last_allocated_block) override {
|
|
183
|
-
target_->GetPreallocationStatus(block_size, last_allocated_block);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
187
|
-
return target_->GetUniqueId(id, max_size);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
Status InvalidateCache(size_t offset, size_t length) override {
|
|
191
|
-
return target_->InvalidateCache(offset, length);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
Status RangeSync(uint64_t offset, uint64_t nbytes) override {
|
|
195
|
-
IOOptions io_opts;
|
|
196
|
-
IODebugContext dbg;
|
|
197
|
-
return target_->RangeSync(offset, nbytes, io_opts, &dbg);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
void PrepareWrite(size_t offset, size_t len) override {
|
|
201
|
-
IOOptions io_opts;
|
|
202
|
-
IODebugContext dbg;
|
|
203
|
-
target_->PrepareWrite(offset, len, io_opts, &dbg);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
Status Allocate(uint64_t offset, uint64_t len) override {
|
|
207
|
-
IOOptions io_opts;
|
|
208
|
-
IODebugContext dbg;
|
|
209
|
-
return target_->Allocate(offset, len, io_opts, &dbg);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
std::unique_ptr<FSWritableFile>* target() { return &target_; }
|
|
213
|
-
|
|
214
|
-
private:
|
|
215
|
-
std::unique_ptr<FSWritableFile> target_;
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
class CompositeRandomRWFileWrapper : public RandomRWFile {
|
|
219
|
-
public:
|
|
220
|
-
explicit CompositeRandomRWFileWrapper(std::unique_ptr<FSRandomRWFile>& target)
|
|
221
|
-
: target_(std::move(target)) {}
|
|
222
|
-
|
|
223
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
224
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
225
|
-
return target_->GetRequiredBufferAlignment();
|
|
226
|
-
}
|
|
227
|
-
Status Write(uint64_t offset, const Slice& data) override {
|
|
228
|
-
IOOptions io_opts;
|
|
229
|
-
IODebugContext dbg;
|
|
230
|
-
return target_->Write(offset, data, io_opts, &dbg);
|
|
231
|
-
}
|
|
232
|
-
Status Read(uint64_t offset, size_t n, Slice* result,
|
|
233
|
-
char* scratch) const override {
|
|
234
|
-
IOOptions io_opts;
|
|
235
|
-
IODebugContext dbg;
|
|
236
|
-
return target_->Read(offset, n, io_opts, result, scratch, &dbg);
|
|
237
|
-
}
|
|
238
|
-
Status Flush() override {
|
|
239
|
-
IOOptions io_opts;
|
|
240
|
-
IODebugContext dbg;
|
|
241
|
-
return target_->Flush(io_opts, &dbg);
|
|
242
|
-
}
|
|
243
|
-
Status Sync() override {
|
|
244
|
-
IOOptions io_opts;
|
|
245
|
-
IODebugContext dbg;
|
|
246
|
-
return target_->Sync(io_opts, &dbg);
|
|
247
|
-
}
|
|
248
|
-
Status Fsync() override {
|
|
249
|
-
IOOptions io_opts;
|
|
250
|
-
IODebugContext dbg;
|
|
251
|
-
return target_->Fsync(io_opts, &dbg);
|
|
252
|
-
}
|
|
253
|
-
Status Close() override {
|
|
254
|
-
IOOptions io_opts;
|
|
255
|
-
IODebugContext dbg;
|
|
256
|
-
return target_->Close(io_opts, &dbg);
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
private:
|
|
260
|
-
std::unique_ptr<FSRandomRWFile> target_;
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
class CompositeDirectoryWrapper : public Directory {
|
|
264
|
-
public:
|
|
265
|
-
explicit CompositeDirectoryWrapper(std::unique_ptr<FSDirectory>& target)
|
|
266
|
-
: target_(std::move(target)) {}
|
|
267
|
-
|
|
268
|
-
Status Fsync() override {
|
|
269
|
-
IOOptions io_opts;
|
|
270
|
-
IODebugContext dbg;
|
|
271
|
-
return target_->Fsync(io_opts, &dbg);
|
|
272
|
-
}
|
|
273
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
274
|
-
return target_->GetUniqueId(id, max_size);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
private:
|
|
278
|
-
std::unique_ptr<FSDirectory> target_;
|
|
279
|
-
};
|
|
280
|
-
|
|
281
21
|
class CompositeEnv : public Env {
|
|
282
22
|
public:
|
|
283
23
|
// Initialize a CompositeEnvWrapper that delegates all thread/time related
|
|
284
24
|
// calls to env, and all file operations to fs
|
|
285
|
-
explicit CompositeEnv(const std::shared_ptr<FileSystem>& fs
|
|
25
|
+
explicit CompositeEnv(const std::shared_ptr<FileSystem>& fs,
|
|
26
|
+
const std::shared_ptr<SystemClock>& clock)
|
|
27
|
+
: Env(fs, clock) {}
|
|
286
28
|
|
|
287
29
|
Status RegisterDbPaths(const std::vector<std::string>& paths) override {
|
|
288
30
|
return file_system_->RegisterDbPaths(paths);
|
|
@@ -294,99 +36,37 @@ class CompositeEnv : public Env {
|
|
|
294
36
|
// The following text is boilerplate that forwards all methods to target()
|
|
295
37
|
Status NewSequentialFile(const std::string& f,
|
|
296
38
|
std::unique_ptr<SequentialFile>* r,
|
|
297
|
-
const EnvOptions& options) override
|
|
298
|
-
|
|
299
|
-
std::unique_ptr<FSSequentialFile> file;
|
|
300
|
-
Status status;
|
|
301
|
-
status =
|
|
302
|
-
file_system_->NewSequentialFile(f, FileOptions(options), &file, &dbg);
|
|
303
|
-
if (status.ok()) {
|
|
304
|
-
r->reset(new CompositeSequentialFileWrapper(file));
|
|
305
|
-
}
|
|
306
|
-
return status;
|
|
307
|
-
}
|
|
39
|
+
const EnvOptions& options) override;
|
|
40
|
+
|
|
308
41
|
Status NewRandomAccessFile(const std::string& f,
|
|
309
42
|
std::unique_ptr<RandomAccessFile>* r,
|
|
310
|
-
const EnvOptions& options) override
|
|
311
|
-
|
|
312
|
-
std::unique_ptr<FSRandomAccessFile> file;
|
|
313
|
-
Status status;
|
|
314
|
-
status =
|
|
315
|
-
file_system_->NewRandomAccessFile(f, FileOptions(options), &file, &dbg);
|
|
316
|
-
if (status.ok()) {
|
|
317
|
-
r->reset(new CompositeRandomAccessFileWrapper(file));
|
|
318
|
-
}
|
|
319
|
-
return status;
|
|
320
|
-
}
|
|
43
|
+
const EnvOptions& options) override;
|
|
44
|
+
|
|
321
45
|
Status NewWritableFile(const std::string& f, std::unique_ptr<WritableFile>* r,
|
|
322
|
-
const EnvOptions& options) override
|
|
323
|
-
|
|
324
|
-
std::unique_ptr<FSWritableFile> file;
|
|
325
|
-
Status status;
|
|
326
|
-
status =
|
|
327
|
-
file_system_->NewWritableFile(f, FileOptions(options), &file, &dbg);
|
|
328
|
-
if (status.ok()) {
|
|
329
|
-
r->reset(new CompositeWritableFileWrapper(file));
|
|
330
|
-
}
|
|
331
|
-
return status;
|
|
332
|
-
}
|
|
46
|
+
const EnvOptions& options) override;
|
|
47
|
+
|
|
333
48
|
Status ReopenWritableFile(const std::string& fname,
|
|
334
49
|
std::unique_ptr<WritableFile>* result,
|
|
335
|
-
const EnvOptions& options) override
|
|
336
|
-
|
|
337
|
-
Status status;
|
|
338
|
-
std::unique_ptr<FSWritableFile> file;
|
|
339
|
-
status = file_system_->ReopenWritableFile(fname, FileOptions(options),
|
|
340
|
-
&file, &dbg);
|
|
341
|
-
if (status.ok()) {
|
|
342
|
-
result->reset(new CompositeWritableFileWrapper(file));
|
|
343
|
-
}
|
|
344
|
-
return status;
|
|
345
|
-
}
|
|
50
|
+
const EnvOptions& options) override;
|
|
51
|
+
|
|
346
52
|
Status ReuseWritableFile(const std::string& fname,
|
|
347
53
|
const std::string& old_fname,
|
|
348
54
|
std::unique_ptr<WritableFile>* r,
|
|
349
|
-
const EnvOptions& options) override
|
|
350
|
-
|
|
351
|
-
Status status;
|
|
352
|
-
std::unique_ptr<FSWritableFile> file;
|
|
353
|
-
status = file_system_->ReuseWritableFile(fname, old_fname,
|
|
354
|
-
FileOptions(options), &file, &dbg);
|
|
355
|
-
if (status.ok()) {
|
|
356
|
-
r->reset(new CompositeWritableFileWrapper(file));
|
|
357
|
-
}
|
|
358
|
-
return status;
|
|
359
|
-
}
|
|
55
|
+
const EnvOptions& options) override;
|
|
56
|
+
|
|
360
57
|
Status NewRandomRWFile(const std::string& fname,
|
|
361
58
|
std::unique_ptr<RandomRWFile>* result,
|
|
362
|
-
const EnvOptions& options) override
|
|
363
|
-
|
|
364
|
-
std::unique_ptr<FSRandomRWFile> file;
|
|
365
|
-
Status status;
|
|
366
|
-
status =
|
|
367
|
-
file_system_->NewRandomRWFile(fname, FileOptions(options), &file, &dbg);
|
|
368
|
-
if (status.ok()) {
|
|
369
|
-
result->reset(new CompositeRandomRWFileWrapper(file));
|
|
370
|
-
}
|
|
371
|
-
return status;
|
|
372
|
-
}
|
|
59
|
+
const EnvOptions& options) override;
|
|
60
|
+
|
|
373
61
|
Status NewMemoryMappedFileBuffer(
|
|
374
62
|
const std::string& fname,
|
|
375
63
|
std::unique_ptr<MemoryMappedFileBuffer>* result) override {
|
|
376
64
|
return file_system_->NewMemoryMappedFileBuffer(fname, result);
|
|
377
65
|
}
|
|
66
|
+
|
|
378
67
|
Status NewDirectory(const std::string& name,
|
|
379
|
-
std::unique_ptr<Directory>* result) override
|
|
380
|
-
|
|
381
|
-
IODebugContext dbg;
|
|
382
|
-
std::unique_ptr<FSDirectory> dir;
|
|
383
|
-
Status status;
|
|
384
|
-
status = file_system_->NewDirectory(name, io_opts, &dir, &dbg);
|
|
385
|
-
if (status.ok()) {
|
|
386
|
-
result->reset(new CompositeDirectoryWrapper(dir));
|
|
387
|
-
}
|
|
388
|
-
return status;
|
|
389
|
-
}
|
|
68
|
+
std::unique_ptr<Directory>* result) override;
|
|
69
|
+
|
|
390
70
|
Status FileExists(const std::string& f) override {
|
|
391
71
|
IOOptions io_opts;
|
|
392
72
|
IODebugContext dbg;
|
|
@@ -538,7 +218,12 @@ class CompositeEnv : public Env {
|
|
|
538
218
|
return file_system_->OptimizeForCompactionTableRead(
|
|
539
219
|
FileOptions(env_options), db_options);
|
|
540
220
|
}
|
|
541
|
-
|
|
221
|
+
EnvOptions OptimizeForBlobFileRead(
|
|
222
|
+
const EnvOptions& env_options,
|
|
223
|
+
const ImmutableDBOptions& db_options) const override {
|
|
224
|
+
return file_system_->OptimizeForBlobFileRead(FileOptions(env_options),
|
|
225
|
+
db_options);
|
|
226
|
+
}
|
|
542
227
|
// This seems to clash with a macro on Windows, so #undef it here
|
|
543
228
|
#ifdef GetFreeSpace
|
|
544
229
|
#undef GetFreeSpace
|
|
@@ -548,373 +233,140 @@ class CompositeEnv : public Env {
|
|
|
548
233
|
IODebugContext dbg;
|
|
549
234
|
return file_system_->GetFreeSpace(path, io_opts, diskfree, &dbg);
|
|
550
235
|
}
|
|
236
|
+
uint64_t NowMicros() override { return system_clock_->NowMicros(); }
|
|
237
|
+
uint64_t NowNanos() override { return system_clock_->NowNanos(); }
|
|
238
|
+
|
|
239
|
+
uint64_t NowCPUNanos() override { return system_clock_->CPUNanos(); }
|
|
240
|
+
|
|
241
|
+
void SleepForMicroseconds(int micros) override {
|
|
242
|
+
system_clock_->SleepForMicroseconds(micros);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
Status GetCurrentTime(int64_t* unix_time) override {
|
|
246
|
+
return system_clock_->GetCurrentTime(unix_time);
|
|
247
|
+
}
|
|
248
|
+
std::string TimeToString(uint64_t time) override {
|
|
249
|
+
return system_clock_->TimeToString(time);
|
|
250
|
+
}
|
|
551
251
|
};
|
|
552
252
|
|
|
553
253
|
class CompositeEnvWrapper : public CompositeEnv {
|
|
554
254
|
public:
|
|
555
255
|
// Initialize a CompositeEnvWrapper that delegates all thread/time related
|
|
556
256
|
// calls to env, and all file operations to fs
|
|
257
|
+
explicit CompositeEnvWrapper(Env* env)
|
|
258
|
+
: CompositeEnvWrapper(env, env->GetFileSystem(), env->GetSystemClock()) {}
|
|
557
259
|
explicit CompositeEnvWrapper(Env* env, const std::shared_ptr<FileSystem>& fs)
|
|
558
|
-
:
|
|
260
|
+
: CompositeEnvWrapper(env, fs, env->GetSystemClock()) {}
|
|
261
|
+
|
|
262
|
+
explicit CompositeEnvWrapper(Env* env, const std::shared_ptr<SystemClock>& sc)
|
|
263
|
+
: CompositeEnvWrapper(env, env->GetFileSystem(), sc) {}
|
|
264
|
+
|
|
265
|
+
explicit CompositeEnvWrapper(Env* env, const std::shared_ptr<FileSystem>& fs,
|
|
266
|
+
const std::shared_ptr<SystemClock>& sc);
|
|
267
|
+
|
|
268
|
+
explicit CompositeEnvWrapper(const std::shared_ptr<Env>& env,
|
|
269
|
+
const std::shared_ptr<FileSystem>& fs)
|
|
270
|
+
: CompositeEnvWrapper(env, fs, env->GetSystemClock()) {}
|
|
271
|
+
|
|
272
|
+
explicit CompositeEnvWrapper(const std::shared_ptr<Env>& env,
|
|
273
|
+
const std::shared_ptr<SystemClock>& sc)
|
|
274
|
+
: CompositeEnvWrapper(env, env->GetFileSystem(), sc) {}
|
|
275
|
+
|
|
276
|
+
explicit CompositeEnvWrapper(const std::shared_ptr<Env>& env,
|
|
277
|
+
const std::shared_ptr<FileSystem>& fs,
|
|
278
|
+
const std::shared_ptr<SystemClock>& sc);
|
|
279
|
+
|
|
280
|
+
static const char* kClassName() { return "CompositeEnv"; }
|
|
281
|
+
const char* Name() const override { return kClassName(); }
|
|
282
|
+
bool IsInstanceOf(const std::string& name) const override {
|
|
283
|
+
if (name == kClassName()) {
|
|
284
|
+
return true;
|
|
285
|
+
} else {
|
|
286
|
+
return CompositeEnv::IsInstanceOf(name);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
const Customizable* Inner() const override { return target_.env; }
|
|
290
|
+
|
|
291
|
+
Status PrepareOptions(const ConfigOptions& options) override;
|
|
292
|
+
#ifndef ROCKSDB_LITE
|
|
293
|
+
std::string SerializeOptions(const ConfigOptions& config_options,
|
|
294
|
+
const std::string& header) const override;
|
|
295
|
+
#endif // ROCKSDB_LITE
|
|
559
296
|
|
|
560
297
|
// Return the target to which this Env forwards all calls
|
|
561
|
-
Env* env_target() const { return
|
|
298
|
+
Env* env_target() const { return target_.env; }
|
|
562
299
|
|
|
563
300
|
#if !defined(OS_WIN) && !defined(ROCKSDB_NO_DYNAMIC_EXTENSION)
|
|
564
301
|
Status LoadLibrary(const std::string& lib_name,
|
|
565
302
|
const std::string& search_path,
|
|
566
303
|
std::shared_ptr<DynamicLibrary>* result) override {
|
|
567
|
-
return
|
|
304
|
+
return target_.env->LoadLibrary(lib_name, search_path, result);
|
|
568
305
|
}
|
|
569
306
|
#endif
|
|
570
307
|
|
|
571
308
|
void Schedule(void (*f)(void* arg), void* a, Priority pri,
|
|
572
309
|
void* tag = nullptr, void (*u)(void* arg) = nullptr) override {
|
|
573
|
-
return
|
|
310
|
+
return target_.env->Schedule(f, a, pri, tag, u);
|
|
574
311
|
}
|
|
575
312
|
|
|
576
313
|
int UnSchedule(void* tag, Priority pri) override {
|
|
577
|
-
return
|
|
314
|
+
return target_.env->UnSchedule(tag, pri);
|
|
578
315
|
}
|
|
579
316
|
|
|
580
317
|
void StartThread(void (*f)(void*), void* a) override {
|
|
581
|
-
return
|
|
318
|
+
return target_.env->StartThread(f, a);
|
|
582
319
|
}
|
|
583
|
-
void WaitForJoin() override { return
|
|
320
|
+
void WaitForJoin() override { return target_.env->WaitForJoin(); }
|
|
584
321
|
unsigned int GetThreadPoolQueueLen(Priority pri = LOW) const override {
|
|
585
|
-
return
|
|
322
|
+
return target_.env->GetThreadPoolQueueLen(pri);
|
|
586
323
|
}
|
|
587
324
|
|
|
588
|
-
uint64_t NowMicros() override { return env_target_->NowMicros(); }
|
|
589
|
-
uint64_t NowNanos() override { return env_target_->NowNanos(); }
|
|
590
|
-
uint64_t NowCPUNanos() override { return env_target_->NowCPUNanos(); }
|
|
591
|
-
|
|
592
|
-
void SleepForMicroseconds(int micros) override {
|
|
593
|
-
env_target_->SleepForMicroseconds(micros);
|
|
594
|
-
}
|
|
595
325
|
Status GetHostName(char* name, uint64_t len) override {
|
|
596
|
-
return
|
|
597
|
-
}
|
|
598
|
-
Status GetCurrentTime(int64_t* unix_time) override {
|
|
599
|
-
return env_target_->GetCurrentTime(unix_time);
|
|
326
|
+
return target_.env->GetHostName(name, len);
|
|
600
327
|
}
|
|
601
328
|
void SetBackgroundThreads(int num, Priority pri) override {
|
|
602
|
-
return
|
|
329
|
+
return target_.env->SetBackgroundThreads(num, pri);
|
|
603
330
|
}
|
|
604
331
|
int GetBackgroundThreads(Priority pri) override {
|
|
605
|
-
return
|
|
332
|
+
return target_.env->GetBackgroundThreads(pri);
|
|
606
333
|
}
|
|
607
334
|
|
|
608
335
|
Status SetAllowNonOwnerAccess(bool allow_non_owner_access) override {
|
|
609
|
-
return
|
|
336
|
+
return target_.env->SetAllowNonOwnerAccess(allow_non_owner_access);
|
|
610
337
|
}
|
|
611
338
|
|
|
612
339
|
void IncBackgroundThreadsIfNeeded(int num, Priority pri) override {
|
|
613
|
-
return
|
|
340
|
+
return target_.env->IncBackgroundThreadsIfNeeded(num, pri);
|
|
614
341
|
}
|
|
615
342
|
|
|
616
343
|
void LowerThreadPoolIOPriority(Priority pool) override {
|
|
617
|
-
|
|
344
|
+
target_.env->LowerThreadPoolIOPriority(pool);
|
|
618
345
|
}
|
|
619
346
|
|
|
620
347
|
void LowerThreadPoolCPUPriority(Priority pool) override {
|
|
621
|
-
|
|
348
|
+
target_.env->LowerThreadPoolCPUPriority(pool);
|
|
622
349
|
}
|
|
623
350
|
|
|
624
351
|
Status LowerThreadPoolCPUPriority(Priority pool, CpuPriority pri) override {
|
|
625
|
-
return
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
std::string TimeToString(uint64_t time) override {
|
|
629
|
-
return env_target_->TimeToString(time);
|
|
352
|
+
return target_.env->LowerThreadPoolCPUPriority(pool, pri);
|
|
630
353
|
}
|
|
631
354
|
|
|
632
355
|
Status GetThreadList(std::vector<ThreadStatus>* thread_list) override {
|
|
633
|
-
return
|
|
356
|
+
return target_.env->GetThreadList(thread_list);
|
|
634
357
|
}
|
|
635
358
|
|
|
636
359
|
ThreadStatusUpdater* GetThreadStatusUpdater() const override {
|
|
637
|
-
return
|
|
360
|
+
return target_.env->GetThreadStatusUpdater();
|
|
638
361
|
}
|
|
639
362
|
|
|
640
|
-
uint64_t GetThreadID() const override { return
|
|
363
|
+
uint64_t GetThreadID() const override { return target_.env->GetThreadID(); }
|
|
641
364
|
|
|
642
365
|
std::string GenerateUniqueId() override {
|
|
643
|
-
return
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
private:
|
|
647
|
-
Env* env_target_;
|
|
648
|
-
};
|
|
649
|
-
|
|
650
|
-
class LegacySequentialFileWrapper : public FSSequentialFile {
|
|
651
|
-
public:
|
|
652
|
-
explicit LegacySequentialFileWrapper(
|
|
653
|
-
std::unique_ptr<SequentialFile>&& _target)
|
|
654
|
-
: target_(std::move(_target)) {}
|
|
655
|
-
|
|
656
|
-
IOStatus Read(size_t n, const IOOptions& /*options*/, Slice* result,
|
|
657
|
-
char* scratch, IODebugContext* /*dbg*/) override {
|
|
658
|
-
return status_to_io_status(target_->Read(n, result, scratch));
|
|
659
|
-
}
|
|
660
|
-
IOStatus Skip(uint64_t n) override {
|
|
661
|
-
return status_to_io_status(target_->Skip(n));
|
|
662
|
-
}
|
|
663
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
664
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
665
|
-
return target_->GetRequiredBufferAlignment();
|
|
666
|
-
}
|
|
667
|
-
IOStatus InvalidateCache(size_t offset, size_t length) override {
|
|
668
|
-
return status_to_io_status(target_->InvalidateCache(offset, length));
|
|
669
|
-
}
|
|
670
|
-
IOStatus PositionedRead(uint64_t offset, size_t n,
|
|
671
|
-
const IOOptions& /*options*/, Slice* result,
|
|
672
|
-
char* scratch, IODebugContext* /*dbg*/) override {
|
|
673
|
-
return status_to_io_status(
|
|
674
|
-
target_->PositionedRead(offset, n, result, scratch));
|
|
366
|
+
return target_.env->GenerateUniqueId();
|
|
675
367
|
}
|
|
676
|
-
SequentialFile* target() { return target_.get(); }
|
|
677
368
|
|
|
678
369
|
private:
|
|
679
|
-
|
|
370
|
+
EnvWrapper::Target target_;
|
|
680
371
|
};
|
|
681
|
-
|
|
682
|
-
class LegacyRandomAccessFileWrapper : public FSRandomAccessFile {
|
|
683
|
-
public:
|
|
684
|
-
explicit LegacyRandomAccessFileWrapper(
|
|
685
|
-
std::unique_ptr<RandomAccessFile>&& target)
|
|
686
|
-
: target_(std::move(target)) {}
|
|
687
|
-
|
|
688
|
-
IOStatus Read(uint64_t offset, size_t n, const IOOptions& /*options*/,
|
|
689
|
-
Slice* result, char* scratch,
|
|
690
|
-
IODebugContext* /*dbg*/) const override {
|
|
691
|
-
return status_to_io_status(target_->Read(offset, n, result, scratch));
|
|
692
|
-
}
|
|
693
|
-
IOStatus MultiRead(FSReadRequest* fs_reqs, size_t num_reqs,
|
|
694
|
-
const IOOptions& /*options*/,
|
|
695
|
-
IODebugContext* /*dbg*/) override {
|
|
696
|
-
std::vector<ReadRequest> reqs;
|
|
697
|
-
Status status;
|
|
698
|
-
|
|
699
|
-
reqs.reserve(num_reqs);
|
|
700
|
-
for (size_t i = 0; i < num_reqs; ++i) {
|
|
701
|
-
ReadRequest req;
|
|
702
|
-
|
|
703
|
-
req.offset = fs_reqs[i].offset;
|
|
704
|
-
req.len = fs_reqs[i].len;
|
|
705
|
-
req.scratch = fs_reqs[i].scratch;
|
|
706
|
-
req.status = Status::OK();
|
|
707
|
-
|
|
708
|
-
reqs.emplace_back(req);
|
|
709
|
-
}
|
|
710
|
-
status = target_->MultiRead(reqs.data(), num_reqs);
|
|
711
|
-
for (size_t i = 0; i < num_reqs; ++i) {
|
|
712
|
-
fs_reqs[i].result = reqs[i].result;
|
|
713
|
-
fs_reqs[i].status = status_to_io_status(std::move(reqs[i].status));
|
|
714
|
-
}
|
|
715
|
-
return status_to_io_status(std::move(status));
|
|
716
|
-
;
|
|
717
|
-
}
|
|
718
|
-
IOStatus Prefetch(uint64_t offset, size_t n, const IOOptions& /*options*/,
|
|
719
|
-
IODebugContext* /*dbg*/) override {
|
|
720
|
-
return status_to_io_status(target_->Prefetch(offset, n));
|
|
721
|
-
}
|
|
722
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
723
|
-
return target_->GetUniqueId(id, max_size);
|
|
724
|
-
};
|
|
725
|
-
void Hint(AccessPattern pattern) override {
|
|
726
|
-
target_->Hint((RandomAccessFile::AccessPattern)pattern);
|
|
727
|
-
}
|
|
728
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
729
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
730
|
-
return target_->GetRequiredBufferAlignment();
|
|
731
|
-
}
|
|
732
|
-
IOStatus InvalidateCache(size_t offset, size_t length) override {
|
|
733
|
-
return status_to_io_status(target_->InvalidateCache(offset, length));
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
private:
|
|
737
|
-
std::unique_ptr<RandomAccessFile> target_;
|
|
738
|
-
};
|
|
739
|
-
|
|
740
|
-
class LegacyWritableFileWrapper : public FSWritableFile {
|
|
741
|
-
public:
|
|
742
|
-
explicit LegacyWritableFileWrapper(std::unique_ptr<WritableFile>&& _target)
|
|
743
|
-
: target_(std::move(_target)) {}
|
|
744
|
-
|
|
745
|
-
IOStatus Append(const Slice& data, const IOOptions& /*options*/,
|
|
746
|
-
IODebugContext* /*dbg*/) override {
|
|
747
|
-
return status_to_io_status(target_->Append(data));
|
|
748
|
-
}
|
|
749
|
-
IOStatus Append(const Slice& data, const IOOptions& /*options*/,
|
|
750
|
-
const DataVerificationInfo& /*verification_info*/,
|
|
751
|
-
IODebugContext* /*dbg*/) override {
|
|
752
|
-
return status_to_io_status(target_->Append(data));
|
|
753
|
-
}
|
|
754
|
-
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
755
|
-
const IOOptions& /*options*/,
|
|
756
|
-
IODebugContext* /*dbg*/) override {
|
|
757
|
-
return status_to_io_status(target_->PositionedAppend(data, offset));
|
|
758
|
-
}
|
|
759
|
-
IOStatus PositionedAppend(const Slice& data, uint64_t offset,
|
|
760
|
-
const IOOptions& /*options*/,
|
|
761
|
-
const DataVerificationInfo& /*verification_info*/,
|
|
762
|
-
IODebugContext* /*dbg*/) override {
|
|
763
|
-
return status_to_io_status(target_->PositionedAppend(data, offset));
|
|
764
|
-
}
|
|
765
|
-
IOStatus Truncate(uint64_t size, const IOOptions& /*options*/,
|
|
766
|
-
IODebugContext* /*dbg*/) override {
|
|
767
|
-
return status_to_io_status(target_->Truncate(size));
|
|
768
|
-
}
|
|
769
|
-
IOStatus Close(const IOOptions& /*options*/,
|
|
770
|
-
IODebugContext* /*dbg*/) override {
|
|
771
|
-
return status_to_io_status(target_->Close());
|
|
772
|
-
}
|
|
773
|
-
IOStatus Flush(const IOOptions& /*options*/,
|
|
774
|
-
IODebugContext* /*dbg*/) override {
|
|
775
|
-
return status_to_io_status(target_->Flush());
|
|
776
|
-
}
|
|
777
|
-
IOStatus Sync(const IOOptions& /*options*/,
|
|
778
|
-
IODebugContext* /*dbg*/) override {
|
|
779
|
-
return status_to_io_status(target_->Sync());
|
|
780
|
-
}
|
|
781
|
-
IOStatus Fsync(const IOOptions& /*options*/,
|
|
782
|
-
IODebugContext* /*dbg*/) override {
|
|
783
|
-
return status_to_io_status(target_->Fsync());
|
|
784
|
-
}
|
|
785
|
-
bool IsSyncThreadSafe() const override { return target_->IsSyncThreadSafe(); }
|
|
786
|
-
|
|
787
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
788
|
-
|
|
789
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
790
|
-
return target_->GetRequiredBufferAlignment();
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
void SetWriteLifeTimeHint(Env::WriteLifeTimeHint hint) override {
|
|
794
|
-
target_->SetWriteLifeTimeHint(hint);
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
Env::WriteLifeTimeHint GetWriteLifeTimeHint() override {
|
|
798
|
-
return target_->GetWriteLifeTimeHint();
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
uint64_t GetFileSize(const IOOptions& /*options*/,
|
|
802
|
-
IODebugContext* /*dbg*/) override {
|
|
803
|
-
return target_->GetFileSize();
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
void SetPreallocationBlockSize(size_t size) override {
|
|
807
|
-
target_->SetPreallocationBlockSize(size);
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
void GetPreallocationStatus(size_t* block_size,
|
|
811
|
-
size_t* last_allocated_block) override {
|
|
812
|
-
target_->GetPreallocationStatus(block_size, last_allocated_block);
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
816
|
-
return target_->GetUniqueId(id, max_size);
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
IOStatus InvalidateCache(size_t offset, size_t length) override {
|
|
820
|
-
return status_to_io_status(target_->InvalidateCache(offset, length));
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
IOStatus RangeSync(uint64_t offset, uint64_t nbytes,
|
|
824
|
-
const IOOptions& /*options*/,
|
|
825
|
-
IODebugContext* /*dbg*/) override {
|
|
826
|
-
return status_to_io_status(target_->RangeSync(offset, nbytes));
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
void PrepareWrite(size_t offset, size_t len, const IOOptions& /*options*/,
|
|
830
|
-
IODebugContext* /*dbg*/) override {
|
|
831
|
-
target_->PrepareWrite(offset, len);
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
IOStatus Allocate(uint64_t offset, uint64_t len, const IOOptions& /*options*/,
|
|
835
|
-
IODebugContext* /*dbg*/) override {
|
|
836
|
-
return status_to_io_status(target_->Allocate(offset, len));
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
WritableFile* target() { return target_.get(); }
|
|
840
|
-
|
|
841
|
-
private:
|
|
842
|
-
std::unique_ptr<WritableFile> target_;
|
|
843
|
-
};
|
|
844
|
-
|
|
845
|
-
class LegacyRandomRWFileWrapper : public FSRandomRWFile {
|
|
846
|
-
public:
|
|
847
|
-
explicit LegacyRandomRWFileWrapper(std::unique_ptr<RandomRWFile>&& target)
|
|
848
|
-
: target_(std::move(target)) {}
|
|
849
|
-
|
|
850
|
-
bool use_direct_io() const override { return target_->use_direct_io(); }
|
|
851
|
-
size_t GetRequiredBufferAlignment() const override {
|
|
852
|
-
return target_->GetRequiredBufferAlignment();
|
|
853
|
-
}
|
|
854
|
-
IOStatus Write(uint64_t offset, const Slice& data,
|
|
855
|
-
const IOOptions& /*options*/,
|
|
856
|
-
IODebugContext* /*dbg*/) override {
|
|
857
|
-
return status_to_io_status(target_->Write(offset, data));
|
|
858
|
-
}
|
|
859
|
-
IOStatus Read(uint64_t offset, size_t n, const IOOptions& /*options*/,
|
|
860
|
-
Slice* result, char* scratch,
|
|
861
|
-
IODebugContext* /*dbg*/) const override {
|
|
862
|
-
return status_to_io_status(target_->Read(offset, n, result, scratch));
|
|
863
|
-
}
|
|
864
|
-
IOStatus Flush(const IOOptions& /*options*/,
|
|
865
|
-
IODebugContext* /*dbg*/) override {
|
|
866
|
-
return status_to_io_status(target_->Flush());
|
|
867
|
-
}
|
|
868
|
-
IOStatus Sync(const IOOptions& /*options*/,
|
|
869
|
-
IODebugContext* /*dbg*/) override {
|
|
870
|
-
return status_to_io_status(target_->Sync());
|
|
871
|
-
}
|
|
872
|
-
IOStatus Fsync(const IOOptions& /*options*/,
|
|
873
|
-
IODebugContext* /*dbg*/) override {
|
|
874
|
-
return status_to_io_status(target_->Fsync());
|
|
875
|
-
}
|
|
876
|
-
IOStatus Close(const IOOptions& /*options*/,
|
|
877
|
-
IODebugContext* /*dbg*/) override {
|
|
878
|
-
return status_to_io_status(target_->Close());
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
private:
|
|
882
|
-
std::unique_ptr<RandomRWFile> target_;
|
|
883
|
-
};
|
|
884
|
-
|
|
885
|
-
class LegacyDirectoryWrapper : public FSDirectory {
|
|
886
|
-
public:
|
|
887
|
-
explicit LegacyDirectoryWrapper(std::unique_ptr<Directory>&& target)
|
|
888
|
-
: target_(std::move(target)) {}
|
|
889
|
-
|
|
890
|
-
IOStatus Fsync(const IOOptions& /*options*/,
|
|
891
|
-
IODebugContext* /*dbg*/) override {
|
|
892
|
-
return status_to_io_status(target_->Fsync());
|
|
893
|
-
}
|
|
894
|
-
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
895
|
-
return target_->GetUniqueId(id, max_size);
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
private:
|
|
899
|
-
std::unique_ptr<Directory> target_;
|
|
900
|
-
};
|
|
901
|
-
|
|
902
|
-
inline std::unique_ptr<FSSequentialFile> NewLegacySequentialFileWrapper(
|
|
903
|
-
std::unique_ptr<SequentialFile>& file) {
|
|
904
|
-
return std::unique_ptr<FSSequentialFile>(
|
|
905
|
-
new LegacySequentialFileWrapper(std::move(file)));
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
inline std::unique_ptr<FSRandomAccessFile> NewLegacyRandomAccessFileWrapper(
|
|
909
|
-
std::unique_ptr<RandomAccessFile>& file) {
|
|
910
|
-
return std::unique_ptr<FSRandomAccessFile>(
|
|
911
|
-
new LegacyRandomAccessFileWrapper(std::move(file)));
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
inline std::unique_ptr<FSWritableFile> NewLegacyWritableFileWrapper(
|
|
915
|
-
std::unique_ptr<WritableFile>&& file) {
|
|
916
|
-
return std::unique_ptr<FSWritableFile>(
|
|
917
|
-
new LegacyWritableFileWrapper(std::move(file)));
|
|
918
|
-
}
|
|
919
|
-
|
|
920
372
|
} // namespace ROCKSDB_NAMESPACE
|