@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
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
#include <algorithm>
|
|
15
15
|
#include <cinttypes>
|
|
16
16
|
#include <map>
|
|
17
|
+
#include <memory>
|
|
17
18
|
#include <set>
|
|
18
19
|
#include <string>
|
|
19
20
|
#include <thread>
|
|
@@ -22,16 +23,16 @@
|
|
|
22
23
|
#include <vector>
|
|
23
24
|
|
|
24
25
|
#include "db/db_impl/db_impl.h"
|
|
25
|
-
#include "db/dbformat.h"
|
|
26
|
-
#include "env/mock_env.h"
|
|
27
26
|
#include "file/filename.h"
|
|
28
|
-
#include "
|
|
27
|
+
#include "rocksdb/advanced_options.h"
|
|
29
28
|
#include "rocksdb/cache.h"
|
|
30
29
|
#include "rocksdb/compaction_filter.h"
|
|
31
30
|
#include "rocksdb/convenience.h"
|
|
32
31
|
#include "rocksdb/db.h"
|
|
33
32
|
#include "rocksdb/env.h"
|
|
33
|
+
#include "rocksdb/file_system.h"
|
|
34
34
|
#include "rocksdb/filter_policy.h"
|
|
35
|
+
#include "rocksdb/io_status.h"
|
|
35
36
|
#include "rocksdb/options.h"
|
|
36
37
|
#include "rocksdb/slice.h"
|
|
37
38
|
#include "rocksdb/sst_file_writer.h"
|
|
@@ -40,7 +41,6 @@
|
|
|
40
41
|
#include "rocksdb/utilities/checkpoint.h"
|
|
41
42
|
#include "table/mock_table.h"
|
|
42
43
|
#include "table/scoped_arena_iterator.h"
|
|
43
|
-
#include "test_util/mock_time_env.h"
|
|
44
44
|
#include "test_util/sync_point.h"
|
|
45
45
|
#include "test_util/testharness.h"
|
|
46
46
|
#include "util/cast_util.h"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
#include "utilities/merge_operators.h"
|
|
51
51
|
|
|
52
52
|
namespace ROCKSDB_NAMESPACE {
|
|
53
|
+
class MockEnv;
|
|
53
54
|
|
|
54
55
|
namespace anon {
|
|
55
56
|
class AtomicCounter {
|
|
@@ -113,99 +114,14 @@ struct OptionsOverride {
|
|
|
113
114
|
|
|
114
115
|
enum SkipPolicy { kSkipNone = 0, kSkipNoSnapshot = 1, kSkipNoPrefix = 2 };
|
|
115
116
|
|
|
116
|
-
// A hacky skip list mem table that triggers flush after number of entries.
|
|
117
|
-
class SpecialMemTableRep : public MemTableRep {
|
|
118
|
-
public:
|
|
119
|
-
explicit SpecialMemTableRep(Allocator* allocator, MemTableRep* memtable,
|
|
120
|
-
int num_entries_flush)
|
|
121
|
-
: MemTableRep(allocator),
|
|
122
|
-
memtable_(memtable),
|
|
123
|
-
num_entries_flush_(num_entries_flush),
|
|
124
|
-
num_entries_(0) {}
|
|
125
|
-
|
|
126
|
-
virtual KeyHandle Allocate(const size_t len, char** buf) override {
|
|
127
|
-
return memtable_->Allocate(len, buf);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Insert key into the list.
|
|
131
|
-
// REQUIRES: nothing that compares equal to key is currently in the list.
|
|
132
|
-
virtual void Insert(KeyHandle handle) override {
|
|
133
|
-
num_entries_++;
|
|
134
|
-
memtable_->Insert(handle);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
void InsertConcurrently(KeyHandle handle) override {
|
|
138
|
-
num_entries_++;
|
|
139
|
-
memtable_->Insert(handle);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Returns true iff an entry that compares equal to key is in the list.
|
|
143
|
-
virtual bool Contains(const char* key) const override {
|
|
144
|
-
return memtable_->Contains(key);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
virtual size_t ApproximateMemoryUsage() override {
|
|
148
|
-
// Return a high memory usage when number of entries exceeds the threshold
|
|
149
|
-
// to trigger a flush.
|
|
150
|
-
return (num_entries_ < num_entries_flush_) ? 0 : 1024 * 1024 * 1024;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
virtual void Get(const LookupKey& k, void* callback_args,
|
|
154
|
-
bool (*callback_func)(void* arg,
|
|
155
|
-
const char* entry)) override {
|
|
156
|
-
memtable_->Get(k, callback_args, callback_func);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
uint64_t ApproximateNumEntries(const Slice& start_ikey,
|
|
160
|
-
const Slice& end_ikey) override {
|
|
161
|
-
return memtable_->ApproximateNumEntries(start_ikey, end_ikey);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
virtual MemTableRep::Iterator* GetIterator(Arena* arena = nullptr) override {
|
|
165
|
-
return memtable_->GetIterator(arena);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
virtual ~SpecialMemTableRep() override {}
|
|
169
|
-
|
|
170
|
-
private:
|
|
171
|
-
std::unique_ptr<MemTableRep> memtable_;
|
|
172
|
-
int num_entries_flush_;
|
|
173
|
-
int num_entries_;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
// The factory for the hacky skip list mem table that triggers flush after
|
|
177
|
-
// number of entries exceeds a threshold.
|
|
178
|
-
class SpecialSkipListFactory : public MemTableRepFactory {
|
|
179
|
-
public:
|
|
180
|
-
// After number of inserts exceeds `num_entries_flush` in a mem table, trigger
|
|
181
|
-
// flush.
|
|
182
|
-
explicit SpecialSkipListFactory(int num_entries_flush)
|
|
183
|
-
: num_entries_flush_(num_entries_flush) {}
|
|
184
|
-
|
|
185
|
-
using MemTableRepFactory::CreateMemTableRep;
|
|
186
|
-
virtual MemTableRep* CreateMemTableRep(
|
|
187
|
-
const MemTableRep::KeyComparator& compare, Allocator* allocator,
|
|
188
|
-
const SliceTransform* transform, Logger* /*logger*/) override {
|
|
189
|
-
return new SpecialMemTableRep(
|
|
190
|
-
allocator, factory_.CreateMemTableRep(compare, allocator, transform, 0),
|
|
191
|
-
num_entries_flush_);
|
|
192
|
-
}
|
|
193
|
-
virtual const char* Name() const override { return "SkipListFactory"; }
|
|
194
|
-
|
|
195
|
-
bool IsInsertConcurrentlySupported() const override {
|
|
196
|
-
return factory_.IsInsertConcurrentlySupported();
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
private:
|
|
200
|
-
SkipListFactory factory_;
|
|
201
|
-
int num_entries_flush_;
|
|
202
|
-
};
|
|
203
|
-
|
|
204
117
|
// Special Env used to delay background operations
|
|
205
118
|
class SpecialEnv : public EnvWrapper {
|
|
206
119
|
public:
|
|
207
120
|
explicit SpecialEnv(Env* base, bool time_elapse_only_sleep = false);
|
|
208
121
|
|
|
122
|
+
static const char* kClassName() { return "SpecialEnv"; }
|
|
123
|
+
const char* Name() const override { return kClassName(); }
|
|
124
|
+
|
|
209
125
|
Status NewWritableFile(const std::string& f, std::unique_ptr<WritableFile>* r,
|
|
210
126
|
const EnvOptions& soptions) override {
|
|
211
127
|
class SSTableFile : public WritableFile {
|
|
@@ -230,6 +146,11 @@ class SpecialEnv : public EnvWrapper {
|
|
|
230
146
|
return base_->Append(data);
|
|
231
147
|
}
|
|
232
148
|
}
|
|
149
|
+
Status Append(
|
|
150
|
+
const Slice& data,
|
|
151
|
+
const DataVerificationInfo& /* verification_info */) override {
|
|
152
|
+
return Append(data);
|
|
153
|
+
}
|
|
233
154
|
Status PositionedAppend(const Slice& data, uint64_t offset) override {
|
|
234
155
|
if (env_->table_write_callback_) {
|
|
235
156
|
(*env_->table_write_callback_)();
|
|
@@ -244,6 +165,11 @@ class SpecialEnv : public EnvWrapper {
|
|
|
244
165
|
return base_->PositionedAppend(data, offset);
|
|
245
166
|
}
|
|
246
167
|
}
|
|
168
|
+
Status PositionedAppend(
|
|
169
|
+
const Slice& data, uint64_t offset,
|
|
170
|
+
const DataVerificationInfo& /* verification_info */) override {
|
|
171
|
+
return PositionedAppend(data, offset);
|
|
172
|
+
}
|
|
247
173
|
Status Truncate(uint64_t size) override { return base_->Truncate(size); }
|
|
248
174
|
Status RangeSync(uint64_t offset, uint64_t nbytes) override {
|
|
249
175
|
Status s = base_->RangeSync(offset, nbytes);
|
|
@@ -294,6 +220,9 @@ class SpecialEnv : public EnvWrapper {
|
|
|
294
220
|
Status Allocate(uint64_t offset, uint64_t len) override {
|
|
295
221
|
return base_->Allocate(offset, len);
|
|
296
222
|
}
|
|
223
|
+
size_t GetUniqueId(char* id, size_t max_size) const override {
|
|
224
|
+
return base_->GetUniqueId(id, max_size);
|
|
225
|
+
}
|
|
297
226
|
};
|
|
298
227
|
class ManifestFile : public WritableFile {
|
|
299
228
|
public:
|
|
@@ -306,6 +235,12 @@ class SpecialEnv : public EnvWrapper {
|
|
|
306
235
|
return base_->Append(data);
|
|
307
236
|
}
|
|
308
237
|
}
|
|
238
|
+
Status Append(
|
|
239
|
+
const Slice& data,
|
|
240
|
+
const DataVerificationInfo& /*verification_info*/) override {
|
|
241
|
+
return Append(data);
|
|
242
|
+
}
|
|
243
|
+
|
|
309
244
|
Status Truncate(uint64_t size) override { return base_->Truncate(size); }
|
|
310
245
|
Status Close() override { return base_->Close(); }
|
|
311
246
|
Status Flush() override { return base_->Flush(); }
|
|
@@ -357,15 +292,26 @@ class SpecialEnv : public EnvWrapper {
|
|
|
357
292
|
#endif
|
|
358
293
|
return s;
|
|
359
294
|
}
|
|
295
|
+
Status Append(
|
|
296
|
+
const Slice& data,
|
|
297
|
+
const DataVerificationInfo& /* verification_info */) override {
|
|
298
|
+
return Append(data);
|
|
299
|
+
}
|
|
360
300
|
Status Truncate(uint64_t size) override { return base_->Truncate(size); }
|
|
301
|
+
void PrepareWrite(size_t offset, size_t len) override {
|
|
302
|
+
base_->PrepareWrite(offset, len);
|
|
303
|
+
}
|
|
304
|
+
void SetPreallocationBlockSize(size_t size) override {
|
|
305
|
+
base_->SetPreallocationBlockSize(size);
|
|
306
|
+
}
|
|
361
307
|
Status Close() override {
|
|
362
308
|
// SyncPoint is not supported in Released Windows Mode.
|
|
363
309
|
#if !(defined NDEBUG) || !defined(OS_WIN)
|
|
364
310
|
// Check preallocation size
|
|
365
|
-
|
|
366
|
-
|
|
311
|
+
size_t block_size, last_allocated_block;
|
|
312
|
+
base_->GetPreallocationStatus(&block_size, &last_allocated_block);
|
|
367
313
|
TEST_SYNC_POINT_CALLBACK("DBTestWalFile.GetPreallocationStatus",
|
|
368
|
-
&
|
|
314
|
+
&block_size);
|
|
369
315
|
#endif // !(defined NDEBUG) || !defined(OS_WIN)
|
|
370
316
|
|
|
371
317
|
return base_->Close();
|
|
@@ -373,6 +319,10 @@ class SpecialEnv : public EnvWrapper {
|
|
|
373
319
|
Status Flush() override { return base_->Flush(); }
|
|
374
320
|
Status Sync() override {
|
|
375
321
|
++env_->sync_counter_;
|
|
322
|
+
if (env_->corrupt_in_sync_) {
|
|
323
|
+
EXPECT_OK(Append(std::string(33000, ' ')));
|
|
324
|
+
return Status::IOError("Ingested Sync Failure");
|
|
325
|
+
}
|
|
376
326
|
if (env_->skip_fsync_) {
|
|
377
327
|
return Status::OK();
|
|
378
328
|
} else {
|
|
@@ -395,6 +345,11 @@ class SpecialEnv : public EnvWrapper {
|
|
|
395
345
|
OtherFile(SpecialEnv* env, std::unique_ptr<WritableFile>&& b)
|
|
396
346
|
: env_(env), base_(std::move(b)) {}
|
|
397
347
|
Status Append(const Slice& data) override { return base_->Append(data); }
|
|
348
|
+
Status Append(
|
|
349
|
+
const Slice& data,
|
|
350
|
+
const DataVerificationInfo& /*verification_info*/) override {
|
|
351
|
+
return Append(data);
|
|
352
|
+
}
|
|
398
353
|
Status Truncate(uint64_t size) override { return base_->Truncate(size); }
|
|
399
354
|
Status Close() override { return base_->Close(); }
|
|
400
355
|
Status Flush() override { return base_->Flush(); }
|
|
@@ -415,6 +370,11 @@ class SpecialEnv : public EnvWrapper {
|
|
|
415
370
|
std::unique_ptr<WritableFile> base_;
|
|
416
371
|
};
|
|
417
372
|
|
|
373
|
+
if (no_file_overwrite_.load(std::memory_order_acquire) &&
|
|
374
|
+
target()->FileExists(f).ok()) {
|
|
375
|
+
return Status::NotSupported("SpecialEnv::no_file_overwrite_ is true.");
|
|
376
|
+
}
|
|
377
|
+
|
|
418
378
|
if (non_writeable_rate_.load(std::memory_order_acquire) > 0) {
|
|
419
379
|
uint32_t random_number;
|
|
420
380
|
{
|
|
@@ -632,6 +592,14 @@ class SpecialEnv : public EnvWrapper {
|
|
|
632
592
|
}
|
|
633
593
|
}
|
|
634
594
|
|
|
595
|
+
Status RenameFile(const std::string& src, const std::string& dest) override {
|
|
596
|
+
rename_count_.fetch_add(1);
|
|
597
|
+
if (rename_error_.load(std::memory_order_acquire)) {
|
|
598
|
+
return Status::NotSupported("Simulated `RenameFile()` error.");
|
|
599
|
+
}
|
|
600
|
+
return target()->RenameFile(src, dest);
|
|
601
|
+
}
|
|
602
|
+
|
|
635
603
|
// Something to return when mocking current time
|
|
636
604
|
const int64_t maybe_starting_time_;
|
|
637
605
|
|
|
@@ -659,9 +627,15 @@ class SpecialEnv : public EnvWrapper {
|
|
|
659
627
|
// Force write to log files to fail while this pointer is non-nullptr
|
|
660
628
|
std::atomic<bool> log_write_error_;
|
|
661
629
|
|
|
630
|
+
// Force `RenameFile()` to fail while this pointer is non-nullptr
|
|
631
|
+
std::atomic<bool> rename_error_{false};
|
|
632
|
+
|
|
662
633
|
// Slow down every log write, in micro-seconds.
|
|
663
634
|
std::atomic<int> log_write_slowdown_;
|
|
664
635
|
|
|
636
|
+
// If true, returns Status::NotSupported for file overwrite.
|
|
637
|
+
std::atomic<bool> no_file_overwrite_;
|
|
638
|
+
|
|
665
639
|
// Number of WAL files that are still open for write.
|
|
666
640
|
std::atomic<int> num_open_wal_file_;
|
|
667
641
|
|
|
@@ -684,6 +658,9 @@ class SpecialEnv : public EnvWrapper {
|
|
|
684
658
|
// If true, all fsync to files and directories are skipped.
|
|
685
659
|
bool skip_fsync_ = false;
|
|
686
660
|
|
|
661
|
+
// If true, ingest the corruption to file during sync.
|
|
662
|
+
bool corrupt_in_sync_ = false;
|
|
663
|
+
|
|
687
664
|
std::atomic<uint32_t> non_writeable_rate_;
|
|
688
665
|
|
|
689
666
|
std::atomic<uint32_t> new_writable_count_;
|
|
@@ -696,6 +673,8 @@ class SpecialEnv : public EnvWrapper {
|
|
|
696
673
|
|
|
697
674
|
std::atomic<int> delete_count_;
|
|
698
675
|
|
|
676
|
+
std::atomic<int> rename_count_{0};
|
|
677
|
+
|
|
699
678
|
std::atomic<bool> is_wal_sync_thread_safe_{true};
|
|
700
679
|
|
|
701
680
|
std::atomic<size_t> compaction_readahead_size_{};
|
|
@@ -712,9 +691,126 @@ class SpecialEnv : public EnvWrapper {
|
|
|
712
691
|
};
|
|
713
692
|
|
|
714
693
|
#ifndef ROCKSDB_LITE
|
|
694
|
+
class FileTemperatureTestFS : public FileSystemWrapper {
|
|
695
|
+
public:
|
|
696
|
+
explicit FileTemperatureTestFS(const std::shared_ptr<FileSystem>& fs)
|
|
697
|
+
: FileSystemWrapper(fs) {}
|
|
698
|
+
|
|
699
|
+
static const char* kClassName() { return "FileTemperatureTestFS"; }
|
|
700
|
+
const char* Name() const override { return kClassName(); }
|
|
701
|
+
|
|
702
|
+
IOStatus NewSequentialFile(const std::string& fname, const FileOptions& opts,
|
|
703
|
+
std::unique_ptr<FSSequentialFile>* result,
|
|
704
|
+
IODebugContext* dbg) override {
|
|
705
|
+
IOStatus s = target()->NewSequentialFile(fname, opts, result, dbg);
|
|
706
|
+
uint64_t number;
|
|
707
|
+
FileType type;
|
|
708
|
+
if (ParseFileName(GetFileName(fname), &number, &type) &&
|
|
709
|
+
type == kTableFile) {
|
|
710
|
+
MutexLock lock(&mu_);
|
|
711
|
+
requested_sst_file_temperatures_.emplace_back(number, opts.temperature);
|
|
712
|
+
if (s.ok()) {
|
|
713
|
+
*result = WrapWithTemperature<FSSequentialFileOwnerWrapper>(
|
|
714
|
+
number, std::move(*result));
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
return s;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
IOStatus NewRandomAccessFile(const std::string& fname,
|
|
721
|
+
const FileOptions& opts,
|
|
722
|
+
std::unique_ptr<FSRandomAccessFile>* result,
|
|
723
|
+
IODebugContext* dbg) override {
|
|
724
|
+
IOStatus s = target()->NewRandomAccessFile(fname, opts, result, dbg);
|
|
725
|
+
uint64_t number;
|
|
726
|
+
FileType type;
|
|
727
|
+
if (ParseFileName(GetFileName(fname), &number, &type) &&
|
|
728
|
+
type == kTableFile) {
|
|
729
|
+
MutexLock lock(&mu_);
|
|
730
|
+
requested_sst_file_temperatures_.emplace_back(number, opts.temperature);
|
|
731
|
+
if (s.ok()) {
|
|
732
|
+
*result = WrapWithTemperature<FSRandomAccessFileOwnerWrapper>(
|
|
733
|
+
number, std::move(*result));
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
return s;
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
void PopRequestedSstFileTemperatures(
|
|
740
|
+
std::vector<std::pair<uint64_t, Temperature>>* out = nullptr) {
|
|
741
|
+
MutexLock lock(&mu_);
|
|
742
|
+
if (out) {
|
|
743
|
+
*out = std::move(requested_sst_file_temperatures_);
|
|
744
|
+
assert(requested_sst_file_temperatures_.empty());
|
|
745
|
+
} else {
|
|
746
|
+
requested_sst_file_temperatures_.clear();
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
IOStatus NewWritableFile(const std::string& fname, const FileOptions& opts,
|
|
751
|
+
std::unique_ptr<FSWritableFile>* result,
|
|
752
|
+
IODebugContext* dbg) override {
|
|
753
|
+
uint64_t number;
|
|
754
|
+
FileType type;
|
|
755
|
+
if (ParseFileName(GetFileName(fname), &number, &type) &&
|
|
756
|
+
type == kTableFile) {
|
|
757
|
+
MutexLock lock(&mu_);
|
|
758
|
+
current_sst_file_temperatures_[number] = opts.temperature;
|
|
759
|
+
}
|
|
760
|
+
return target()->NewWritableFile(fname, opts, result, dbg);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
void CopyCurrentSstFileTemperatures(std::map<uint64_t, Temperature>* out) {
|
|
764
|
+
MutexLock lock(&mu_);
|
|
765
|
+
*out = current_sst_file_temperatures_;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
void OverrideSstFileTemperature(uint64_t number, Temperature temp) {
|
|
769
|
+
MutexLock lock(&mu_);
|
|
770
|
+
current_sst_file_temperatures_[number] = temp;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
protected:
|
|
774
|
+
port::Mutex mu_;
|
|
775
|
+
std::vector<std::pair<uint64_t, Temperature>>
|
|
776
|
+
requested_sst_file_temperatures_;
|
|
777
|
+
std::map<uint64_t, Temperature> current_sst_file_temperatures_;
|
|
778
|
+
|
|
779
|
+
std::string GetFileName(const std::string& fname) {
|
|
780
|
+
auto filename = fname.substr(fname.find_last_of(kFilePathSeparator) + 1);
|
|
781
|
+
// workaround only for Windows that the file path could contain both Windows
|
|
782
|
+
// FilePathSeparator and '/'
|
|
783
|
+
filename = filename.substr(filename.find_last_of('/') + 1);
|
|
784
|
+
return filename;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
template <class FileOwnerWrapperT, /*inferred*/ class FileT>
|
|
788
|
+
std::unique_ptr<FileT> WrapWithTemperature(uint64_t number,
|
|
789
|
+
std::unique_ptr<FileT>&& t) {
|
|
790
|
+
class FileWithTemp : public FileOwnerWrapperT {
|
|
791
|
+
public:
|
|
792
|
+
FileWithTemp(FileTemperatureTestFS* fs, uint64_t number,
|
|
793
|
+
std::unique_ptr<FileT>&& t)
|
|
794
|
+
: FileOwnerWrapperT(std::move(t)), fs_(fs), number_(number) {}
|
|
795
|
+
|
|
796
|
+
Temperature GetTemperature() const override {
|
|
797
|
+
MutexLock lock(&fs_->mu_);
|
|
798
|
+
return fs_->current_sst_file_temperatures_[number_];
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
private:
|
|
802
|
+
FileTemperatureTestFS* fs_;
|
|
803
|
+
uint64_t number_;
|
|
804
|
+
};
|
|
805
|
+
return std::make_unique<FileWithTemp>(this, number, std::move(t));
|
|
806
|
+
}
|
|
807
|
+
};
|
|
808
|
+
|
|
715
809
|
class OnFileDeletionListener : public EventListener {
|
|
716
810
|
public:
|
|
717
811
|
OnFileDeletionListener() : matched_count_(0), expected_file_name_("") {}
|
|
812
|
+
const char* Name() const override { return kClassName(); }
|
|
813
|
+
static const char* kClassName() { return "OnFileDeletionListener"; }
|
|
718
814
|
|
|
719
815
|
void SetExpectedFileName(const std::string file_name) {
|
|
720
816
|
expected_file_name_ = file_name;
|
|
@@ -736,6 +832,19 @@ class OnFileDeletionListener : public EventListener {
|
|
|
736
832
|
size_t matched_count_;
|
|
737
833
|
std::string expected_file_name_;
|
|
738
834
|
};
|
|
835
|
+
|
|
836
|
+
class FlushCounterListener : public EventListener {
|
|
837
|
+
public:
|
|
838
|
+
const char* Name() const override { return kClassName(); }
|
|
839
|
+
static const char* kClassName() { return "FlushCounterListener"; }
|
|
840
|
+
std::atomic<int> count{0};
|
|
841
|
+
std::atomic<FlushReason> expected_flush_reason{FlushReason::kOthers};
|
|
842
|
+
|
|
843
|
+
void OnFlushBegin(DB* /*db*/, const FlushJobInfo& flush_job_info) override {
|
|
844
|
+
count++;
|
|
845
|
+
ASSERT_EQ(expected_flush_reason.load(), flush_job_info.flush_reason);
|
|
846
|
+
}
|
|
847
|
+
};
|
|
739
848
|
#endif
|
|
740
849
|
|
|
741
850
|
// A test merge operator mimics put but also fails if one of merge operands is
|
|
@@ -769,6 +878,7 @@ class CacheWrapper : public Cache {
|
|
|
769
878
|
|
|
770
879
|
const char* Name() const override { return target_->Name(); }
|
|
771
880
|
|
|
881
|
+
using Cache::Insert;
|
|
772
882
|
Status Insert(const Slice& key, void* value, size_t charge,
|
|
773
883
|
void (*deleter)(const Slice& key, void* value),
|
|
774
884
|
Handle** handle = nullptr,
|
|
@@ -776,14 +886,16 @@ class CacheWrapper : public Cache {
|
|
|
776
886
|
return target_->Insert(key, value, charge, deleter, handle, priority);
|
|
777
887
|
}
|
|
778
888
|
|
|
889
|
+
using Cache::Lookup;
|
|
779
890
|
Handle* Lookup(const Slice& key, Statistics* stats = nullptr) override {
|
|
780
891
|
return target_->Lookup(key, stats);
|
|
781
892
|
}
|
|
782
893
|
|
|
783
894
|
bool Ref(Handle* handle) override { return target_->Ref(handle); }
|
|
784
895
|
|
|
785
|
-
|
|
786
|
-
|
|
896
|
+
using Cache::Release;
|
|
897
|
+
bool Release(Handle* handle, bool erase_if_last_ref = false) override {
|
|
898
|
+
return target_->Release(handle, erase_if_last_ref);
|
|
787
899
|
}
|
|
788
900
|
|
|
789
901
|
void* Value(Handle* handle) override { return target_->Value(handle); }
|
|
@@ -815,11 +927,22 @@ class CacheWrapper : public Cache {
|
|
|
815
927
|
return target_->GetCharge(handle);
|
|
816
928
|
}
|
|
817
929
|
|
|
930
|
+
DeleterFn GetDeleter(Handle* handle) const override {
|
|
931
|
+
return target_->GetDeleter(handle);
|
|
932
|
+
}
|
|
933
|
+
|
|
818
934
|
void ApplyToAllCacheEntries(void (*callback)(void*, size_t),
|
|
819
935
|
bool thread_safe) override {
|
|
820
936
|
target_->ApplyToAllCacheEntries(callback, thread_safe);
|
|
821
937
|
}
|
|
822
938
|
|
|
939
|
+
void ApplyToAllEntries(
|
|
940
|
+
const std::function<void(const Slice& key, void* value, size_t charge,
|
|
941
|
+
DeleterFn deleter)>& callback,
|
|
942
|
+
const ApplyToAllEntriesOptions& opts) override {
|
|
943
|
+
target_->ApplyToAllEntries(callback, opts);
|
|
944
|
+
}
|
|
945
|
+
|
|
823
946
|
void EraseUnRefEntries() override { target_->EraseUnRefEntries(); }
|
|
824
947
|
|
|
825
948
|
protected:
|
|
@@ -853,7 +976,7 @@ class DBTestBase : public testing::Test {
|
|
|
853
976
|
kUniversalCompactionMultiLevel = 20,
|
|
854
977
|
kCompressedBlockCache = 21,
|
|
855
978
|
kInfiniteMaxOpenFiles = 22,
|
|
856
|
-
|
|
979
|
+
kXXH3Checksum = 23,
|
|
857
980
|
kFIFOCompaction = 24,
|
|
858
981
|
kOptimizeFiltersForHits = 25,
|
|
859
982
|
kRowCache = 26,
|
|
@@ -866,9 +989,9 @@ class DBTestBase : public testing::Test {
|
|
|
866
989
|
kBlockBasedTableWithIndexRestartInterval,
|
|
867
990
|
kBlockBasedTableWithPartitionedIndex,
|
|
868
991
|
kBlockBasedTableWithPartitionedIndexFormat4,
|
|
992
|
+
kBlockBasedTableWithLatestFormat,
|
|
869
993
|
kPartitionedFilterWithNewTableReaderForCompactions,
|
|
870
994
|
kUniversalSubcompactions,
|
|
871
|
-
kxxHash64Checksum,
|
|
872
995
|
kUnorderedWrite,
|
|
873
996
|
// This must be the last line
|
|
874
997
|
kEnd,
|
|
@@ -1018,8 +1141,6 @@ class DBTestBase : public testing::Test {
|
|
|
1018
1141
|
|
|
1019
1142
|
Status SingleDelete(int cf, const std::string& k);
|
|
1020
1143
|
|
|
1021
|
-
bool SetPreserveDeletesSequenceNumber(SequenceNumber sn);
|
|
1022
|
-
|
|
1023
1144
|
std::string Get(const std::string& k, const Snapshot* snapshot = nullptr);
|
|
1024
1145
|
|
|
1025
1146
|
std::string Get(int cf, const std::string& k,
|
|
@@ -1065,6 +1186,8 @@ class DBTestBase : public testing::Test {
|
|
|
1065
1186
|
int TotalTableFiles(int cf = 0, int levels = -1);
|
|
1066
1187
|
#endif // ROCKSDB_LITE
|
|
1067
1188
|
|
|
1189
|
+
std::vector<uint64_t> GetBlobFileNumbers();
|
|
1190
|
+
|
|
1068
1191
|
// Return spread of files per level
|
|
1069
1192
|
std::string FilesPerLevel(int cf = 0);
|
|
1070
1193
|
|
|
@@ -1154,8 +1277,9 @@ class DBTestBase : public testing::Test {
|
|
|
1154
1277
|
void CopyFile(const std::string& source, const std::string& destination,
|
|
1155
1278
|
uint64_t size = 0);
|
|
1156
1279
|
|
|
1157
|
-
Status
|
|
1158
|
-
|
|
1280
|
+
Status GetAllDataFiles(const FileType file_type,
|
|
1281
|
+
std::unordered_map<std::string, uint64_t>* sst_files,
|
|
1282
|
+
uint64_t* total_size = nullptr);
|
|
1159
1283
|
|
|
1160
1284
|
std::vector<std::uint64_t> ListTableFiles(Env* env, const std::string& path);
|
|
1161
1285
|
|
|
@@ -1191,4 +1315,8 @@ class DBTestBase : public testing::Test {
|
|
|
1191
1315
|
bool time_elapse_only_sleep_on_reopen_ = false;
|
|
1192
1316
|
};
|
|
1193
1317
|
|
|
1318
|
+
// For verifying that all files generated by current version have SST
|
|
1319
|
+
// unique ids.
|
|
1320
|
+
void VerifySstUniqueIds(const TablePropertiesCollection& props);
|
|
1321
|
+
|
|
1194
1322
|
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
#if !defined(ROCKSDB_LITE)
|
|
13
13
|
#include "rocksdb/utilities/table_properties_collectors.h"
|
|
14
14
|
#include "test_util/sync_point.h"
|
|
15
|
+
#include "test_util/testutil.h"
|
|
15
16
|
#include "util/random.h"
|
|
16
17
|
|
|
17
18
|
namespace ROCKSDB_NAMESPACE {
|
|
@@ -45,7 +46,7 @@ class DBTestUniversalCompaction : public DBTestUniversalCompactionBase {
|
|
|
45
46
|
class DBTestUniversalCompaction2 : public DBTestBase {
|
|
46
47
|
public:
|
|
47
48
|
DBTestUniversalCompaction2()
|
|
48
|
-
: DBTestBase("
|
|
49
|
+
: DBTestBase("db_universal_compaction_test2", /*env_do_fsync=*/false) {}
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
namespace {
|
|
@@ -151,7 +152,7 @@ TEST_P(DBTestUniversalCompaction, OptimizeFiltersForHits) {
|
|
|
151
152
|
options.table_factory.reset(NewBlockBasedTableFactory(bbto));
|
|
152
153
|
options.optimize_filters_for_hits = true;
|
|
153
154
|
options.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
|
|
154
|
-
options.memtable_factory.reset(
|
|
155
|
+
options.memtable_factory.reset(test::NewSpecialSkipListFactory(3));
|
|
155
156
|
|
|
156
157
|
DestroyAndReopen(options);
|
|
157
158
|
|
|
@@ -635,7 +636,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionTargetLevel) {
|
|
|
635
636
|
ASSERT_EQ("0,0,0,0,1", FilesPerLevel(0));
|
|
636
637
|
}
|
|
637
638
|
|
|
638
|
-
#
|
|
639
|
+
#if !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
|
|
639
640
|
class DBTestUniversalCompactionMultiLevels
|
|
640
641
|
: public DBTestUniversalCompactionBase {
|
|
641
642
|
public:
|
|
@@ -736,6 +737,7 @@ TEST_P(DBTestUniversalCompactionParallel, UniversalCompactionParallel) {
|
|
|
736
737
|
Options options = CurrentOptions();
|
|
737
738
|
options.compaction_style = kCompactionStyleUniversal;
|
|
738
739
|
options.num_levels = num_levels_;
|
|
740
|
+
options.env = env_;
|
|
739
741
|
options.write_buffer_size = 1 << 10; // 1KB
|
|
740
742
|
options.level0_file_num_compaction_trigger = 3;
|
|
741
743
|
options.max_background_compactions = 3;
|
|
@@ -912,7 +914,7 @@ TEST_P(DBTestUniversalCompactionParallel, PickByFileNumberBug) {
|
|
|
912
914
|
INSTANTIATE_TEST_CASE_P(Parallel, DBTestUniversalCompactionParallel,
|
|
913
915
|
::testing::Combine(::testing::Values(1, 10),
|
|
914
916
|
::testing::Values(false)));
|
|
915
|
-
#endif // ROCKSDB_VALGRIND_RUN
|
|
917
|
+
#endif // !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
|
|
916
918
|
|
|
917
919
|
TEST_P(DBTestUniversalCompaction, UniversalCompactionOptions) {
|
|
918
920
|
Options options = CurrentOptions();
|
|
@@ -1128,7 +1130,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionCompressRatio2) {
|
|
|
1128
1130
|
ASSERT_LT(TotalSize(), 120000U * 12 * 0.82 + 120000 * 2);
|
|
1129
1131
|
}
|
|
1130
1132
|
|
|
1131
|
-
#
|
|
1133
|
+
#if !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
|
|
1132
1134
|
// Test that checks trivial move in universal compaction
|
|
1133
1135
|
TEST_P(DBTestUniversalCompaction, UniversalCompactionTrivialMoveTest1) {
|
|
1134
1136
|
int32_t trivial_move = 0;
|
|
@@ -1221,7 +1223,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionTrivialMoveTest2) {
|
|
|
1221
1223
|
|
|
1222
1224
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing();
|
|
1223
1225
|
}
|
|
1224
|
-
#endif // ROCKSDB_VALGRIND_RUN
|
|
1226
|
+
#endif // !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
|
|
1225
1227
|
|
|
1226
1228
|
TEST_P(DBTestUniversalCompaction, UniversalCompactionFourPaths) {
|
|
1227
1229
|
Options options = CurrentOptions();
|
|
@@ -1230,7 +1232,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionFourPaths) {
|
|
|
1230
1232
|
options.db_paths.emplace_back(dbname_ + "_3", 500 * 1024);
|
|
1231
1233
|
options.db_paths.emplace_back(dbname_ + "_4", 1024 * 1024 * 1024);
|
|
1232
1234
|
options.memtable_factory.reset(
|
|
1233
|
-
|
|
1235
|
+
test::NewSpecialSkipListFactory(KNumKeysByGenerateNewFile - 1));
|
|
1234
1236
|
options.compaction_style = kCompactionStyleUniversal;
|
|
1235
1237
|
options.compaction_options_universal.size_ratio = 5;
|
|
1236
1238
|
options.write_buffer_size = 111 << 10; // 114KB
|
|
@@ -1334,7 +1336,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionCFPathUse) {
|
|
|
1334
1336
|
options.db_paths.emplace_back(dbname_ + "_3", 500 * 1024);
|
|
1335
1337
|
options.db_paths.emplace_back(dbname_ + "_4", 1024 * 1024 * 1024);
|
|
1336
1338
|
options.memtable_factory.reset(
|
|
1337
|
-
|
|
1339
|
+
test::NewSpecialSkipListFactory(KNumKeysByGenerateNewFile - 1));
|
|
1338
1340
|
options.compaction_style = kCompactionStyleUniversal;
|
|
1339
1341
|
options.compaction_options_universal.size_ratio = 10;
|
|
1340
1342
|
options.write_buffer_size = 111 << 10; // 114KB
|
|
@@ -1498,7 +1500,8 @@ TEST_P(DBTestUniversalCompaction, IncreaseUniversalCompactionNumLevels) {
|
|
|
1498
1500
|
options.num_levels = 1;
|
|
1499
1501
|
options.write_buffer_size = 200 << 10; // 200KB
|
|
1500
1502
|
options.level0_file_num_compaction_trigger = 3;
|
|
1501
|
-
options.memtable_factory.reset(
|
|
1503
|
+
options.memtable_factory.reset(
|
|
1504
|
+
test::NewSpecialSkipListFactory(KNumKeysPerFile));
|
|
1502
1505
|
options = CurrentOptions(options);
|
|
1503
1506
|
CreateAndReopenWithCF({"pikachu"}, options);
|
|
1504
1507
|
|
|
@@ -1579,7 +1582,7 @@ TEST_P(DBTestUniversalCompaction, UniversalCompactionSecondPathRatio) {
|
|
|
1579
1582
|
options.level0_file_num_compaction_trigger = 2;
|
|
1580
1583
|
options.num_levels = 1;
|
|
1581
1584
|
options.memtable_factory.reset(
|
|
1582
|
-
|
|
1585
|
+
test::NewSpecialSkipListFactory(KNumKeysByGenerateNewFile - 1));
|
|
1583
1586
|
|
|
1584
1587
|
std::vector<std::string> filenames;
|
|
1585
1588
|
if (env_->GetChildren(options.db_paths[1].path, &filenames).ok()) {
|
|
@@ -1677,6 +1680,7 @@ TEST_P(DBTestUniversalCompaction, ConcurrentBottomPriLowPriCompactions) {
|
|
|
1677
1680
|
Env::Default()->SetBackgroundThreads(1, Env::Priority::BOTTOM);
|
|
1678
1681
|
Options options = CurrentOptions();
|
|
1679
1682
|
options.compaction_style = kCompactionStyleUniversal;
|
|
1683
|
+
options.max_background_compactions = 2;
|
|
1680
1684
|
options.num_levels = num_levels_;
|
|
1681
1685
|
options.write_buffer_size = 100 << 10; // 100KB
|
|
1682
1686
|
options.target_file_size_base = 32 << 10; // 32KB
|
|
@@ -1685,6 +1689,10 @@ TEST_P(DBTestUniversalCompaction, ConcurrentBottomPriLowPriCompactions) {
|
|
|
1685
1689
|
options.compaction_options_universal.max_size_amplification_percent = 110;
|
|
1686
1690
|
DestroyAndReopen(options);
|
|
1687
1691
|
|
|
1692
|
+
// Need to get a token to enable compaction parallelism up to
|
|
1693
|
+
// `max_background_compactions` jobs.
|
|
1694
|
+
auto pressure_token =
|
|
1695
|
+
dbfull()->TEST_write_controler().GetCompactionPressureToken();
|
|
1688
1696
|
ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency(
|
|
1689
1697
|
{// wait for the full compaction to be picked before adding files intended
|
|
1690
1698
|
// for the second one.
|
|
@@ -1729,7 +1737,7 @@ TEST_P(DBTestUniversalCompaction, RecalculateScoreAfterPicking) {
|
|
|
1729
1737
|
const int kNumFilesTrigger = 8;
|
|
1730
1738
|
Options options = CurrentOptions();
|
|
1731
1739
|
options.memtable_factory.reset(
|
|
1732
|
-
|
|
1740
|
+
test::NewSpecialSkipListFactory(KNumKeysByGenerateNewFile - 1));
|
|
1733
1741
|
options.compaction_options_universal.max_merge_width = kNumFilesTrigger / 2;
|
|
1734
1742
|
options.compaction_options_universal.max_size_amplification_percent =
|
|
1735
1743
|
static_cast<unsigned int>(-1);
|