@nxtedition/rocksdb 5.2.21 → 5.2.26
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 +216 -252
- package/binding.gyp +78 -72
- 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/README.md +4 -4
- 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/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/README.md +60 -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/plugin/README.md +43 -0
- 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/package.json +8 -8
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x86/node.napi.node +0 -0
- package/prebuilds/{darwin-x64+arm64 → linux-x64}/node.napi.node +0 -0
- 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/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/prebuilds/linux-x64/node.napi.glibc.node +0 -0
|
@@ -19,7 +19,10 @@ static bool ValidateUint32Range(const char* flagname, uint64_t value) {
|
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
DEFINE_uint64(seed, 2341234,
|
|
22
|
+
DEFINE_uint64(seed, 2341234,
|
|
23
|
+
"Seed for PRNG. When --nooverwritepercent is "
|
|
24
|
+
"nonzero and --expected_values_dir is nonempty, this value "
|
|
25
|
+
"must be fixed across invocations.");
|
|
23
26
|
static const bool FLAGS_seed_dummy __attribute__((__unused__)) =
|
|
24
27
|
RegisterFlagValidator(&FLAGS_seed, &ValidateUint32Range);
|
|
25
28
|
|
|
@@ -87,6 +90,11 @@ DEFINE_bool(test_cf_consistency, false,
|
|
|
87
90
|
"multiple column families are consistent. Setting this implies "
|
|
88
91
|
"`atomic_flush=true` is set true if `disable_wal=false`.\n");
|
|
89
92
|
|
|
93
|
+
DEFINE_bool(test_multi_ops_txns, false,
|
|
94
|
+
"If set, runs stress test dedicated to verifying multi-ops "
|
|
95
|
+
"transactions on a simple relational table with primary and "
|
|
96
|
+
"secondary index.");
|
|
97
|
+
|
|
90
98
|
DEFINE_int32(threads, 32, "Number of concurrent threads to run.");
|
|
91
99
|
|
|
92
100
|
DEFINE_int32(ttl, -1,
|
|
@@ -217,6 +225,10 @@ DEFINE_int32(
|
|
|
217
225
|
"Number of keys between restart points "
|
|
218
226
|
"for delta encoding of keys in index block.");
|
|
219
227
|
|
|
228
|
+
DEFINE_bool(disable_auto_compactions,
|
|
229
|
+
ROCKSDB_NAMESPACE::Options().disable_auto_compactions,
|
|
230
|
+
"If true, RocksDB internally will not trigger compactions.");
|
|
231
|
+
|
|
220
232
|
DEFINE_int32(max_background_compactions,
|
|
221
233
|
ROCKSDB_NAMESPACE::Options().max_background_compactions,
|
|
222
234
|
"The maximum number of concurrent background compactions "
|
|
@@ -284,9 +296,19 @@ DEFINE_int32(set_in_place_one_in, 0,
|
|
|
284
296
|
DEFINE_int64(cache_size, 2LL * KB * KB * KB,
|
|
285
297
|
"Number of bytes to use as a cache of uncompressed data.");
|
|
286
298
|
|
|
299
|
+
DEFINE_int32(cache_numshardbits, 6,
|
|
300
|
+
"Number of shards for the block cache"
|
|
301
|
+
" is 2 ** cache_numshardbits. Negative means use default settings."
|
|
302
|
+
" This is applied only if FLAGS_cache_size is non-negative.");
|
|
303
|
+
|
|
287
304
|
DEFINE_bool(cache_index_and_filter_blocks, false,
|
|
288
305
|
"True if indexes/filters should be cached in block cache.");
|
|
289
306
|
|
|
307
|
+
DEFINE_bool(reserve_table_reader_memory, false,
|
|
308
|
+
"A dynamically updating charge to block cache, loosely based on "
|
|
309
|
+
"the actual memory usage of table reader, will occur to account "
|
|
310
|
+
"the memory, if block cache available.");
|
|
311
|
+
|
|
290
312
|
DEFINE_int32(
|
|
291
313
|
top_level_index_pinning,
|
|
292
314
|
static_cast<int32_t>(ROCKSDB_NAMESPACE::PinningTier::kFallback),
|
|
@@ -321,37 +343,87 @@ DEFINE_uint64(compaction_ttl, 1000,
|
|
|
321
343
|
DEFINE_bool(allow_concurrent_memtable_write, false,
|
|
322
344
|
"Allow multi-writers to update mem tables in parallel.");
|
|
323
345
|
|
|
346
|
+
DEFINE_double(experimental_mempurge_threshold, 0.0,
|
|
347
|
+
"Maximum estimated useful payload that triggers a "
|
|
348
|
+
"mempurge process to collect memtable garbage bytes.");
|
|
349
|
+
|
|
324
350
|
DEFINE_bool(enable_write_thread_adaptive_yield, true,
|
|
325
351
|
"Use a yielding spin loop for brief writer thread waits.");
|
|
326
352
|
|
|
327
353
|
#ifndef ROCKSDB_LITE
|
|
328
|
-
// BlobDB
|
|
329
|
-
DEFINE_bool(use_blob_db, false, "Use BlobDB.");
|
|
354
|
+
// Options for StackableDB-based BlobDB
|
|
355
|
+
DEFINE_bool(use_blob_db, false, "[Stacked BlobDB] Use BlobDB.");
|
|
330
356
|
|
|
331
|
-
DEFINE_uint64(
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
357
|
+
DEFINE_uint64(
|
|
358
|
+
blob_db_min_blob_size,
|
|
359
|
+
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().min_blob_size,
|
|
360
|
+
"[Stacked BlobDB] Smallest blob to store in a file. Blobs "
|
|
361
|
+
"smaller than this will be inlined with the key in the LSM tree.");
|
|
335
362
|
|
|
336
|
-
DEFINE_uint64(
|
|
337
|
-
|
|
338
|
-
|
|
363
|
+
DEFINE_uint64(
|
|
364
|
+
blob_db_bytes_per_sync,
|
|
365
|
+
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().bytes_per_sync,
|
|
366
|
+
"[Stacked BlobDB] Sync blob files once per every N bytes written.");
|
|
339
367
|
|
|
340
368
|
DEFINE_uint64(blob_db_file_size,
|
|
341
369
|
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().blob_file_size,
|
|
342
|
-
"Target size of each blob file.");
|
|
370
|
+
"[Stacked BlobDB] Target size of each blob file.");
|
|
343
371
|
|
|
344
372
|
DEFINE_bool(
|
|
345
373
|
blob_db_enable_gc,
|
|
346
374
|
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().enable_garbage_collection,
|
|
347
|
-
"Enable BlobDB garbage collection.");
|
|
375
|
+
"[Stacked BlobDB] Enable BlobDB garbage collection.");
|
|
348
376
|
|
|
349
377
|
DEFINE_double(
|
|
350
378
|
blob_db_gc_cutoff,
|
|
351
379
|
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().garbage_collection_cutoff,
|
|
352
|
-
"Cutoff ratio for BlobDB garbage collection.");
|
|
380
|
+
"[Stacked BlobDB] Cutoff ratio for BlobDB garbage collection.");
|
|
353
381
|
#endif // !ROCKSDB_LITE
|
|
354
382
|
|
|
383
|
+
// Options for integrated BlobDB
|
|
384
|
+
DEFINE_bool(allow_setting_blob_options_dynamically, false,
|
|
385
|
+
"[Integrated BlobDB] Allow setting blob options dynamically.");
|
|
386
|
+
|
|
387
|
+
DEFINE_bool(
|
|
388
|
+
enable_blob_files,
|
|
389
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions().enable_blob_files,
|
|
390
|
+
"[Integrated BlobDB] Enable writing large values to separate blob files.");
|
|
391
|
+
|
|
392
|
+
DEFINE_uint64(min_blob_size,
|
|
393
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions().min_blob_size,
|
|
394
|
+
"[Integrated BlobDB] The size of the smallest value to be stored "
|
|
395
|
+
"separately in a blob file.");
|
|
396
|
+
|
|
397
|
+
DEFINE_uint64(blob_file_size,
|
|
398
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions().blob_file_size,
|
|
399
|
+
"[Integrated BlobDB] The size limit for blob files.");
|
|
400
|
+
|
|
401
|
+
DEFINE_string(blob_compression_type, "none",
|
|
402
|
+
"[Integrated BlobDB] The compression algorithm to use for large "
|
|
403
|
+
"values stored in blob files.");
|
|
404
|
+
|
|
405
|
+
DEFINE_bool(enable_blob_garbage_collection,
|
|
406
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions()
|
|
407
|
+
.enable_blob_garbage_collection,
|
|
408
|
+
"[Integrated BlobDB] Enable blob garbage collection.");
|
|
409
|
+
|
|
410
|
+
DEFINE_double(blob_garbage_collection_age_cutoff,
|
|
411
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions()
|
|
412
|
+
.blob_garbage_collection_age_cutoff,
|
|
413
|
+
"[Integrated BlobDB] The cutoff in terms of blob file age for "
|
|
414
|
+
"garbage collection.");
|
|
415
|
+
|
|
416
|
+
DEFINE_double(blob_garbage_collection_force_threshold,
|
|
417
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions()
|
|
418
|
+
.blob_garbage_collection_force_threshold,
|
|
419
|
+
"[Integrated BlobDB] The threshold for the ratio of garbage in "
|
|
420
|
+
"the oldest blob files for forcing garbage collection.");
|
|
421
|
+
|
|
422
|
+
DEFINE_uint64(blob_compaction_readahead_size,
|
|
423
|
+
ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions()
|
|
424
|
+
.blob_compaction_readahead_size,
|
|
425
|
+
"[Integrated BlobDB] Compaction readahead for blob files.");
|
|
426
|
+
|
|
355
427
|
static const bool FLAGS_subcompactions_dummy __attribute__((__unused__)) =
|
|
356
428
|
RegisterFlagValidator(&FLAGS_subcompactions, &ValidateUint32Range);
|
|
357
429
|
|
|
@@ -375,8 +447,11 @@ DEFINE_bool(use_block_based_filter, false,
|
|
|
375
447
|
"use block based filter"
|
|
376
448
|
"instead of full filter for block based table");
|
|
377
449
|
|
|
378
|
-
|
|
379
|
-
|
|
450
|
+
DEFINE_int32(
|
|
451
|
+
ribbon_starting_level, 999,
|
|
452
|
+
"Use Bloom filter on levels below specified and Ribbon beginning on level "
|
|
453
|
+
"specified. Flush is considered level -1. 999 or more -> always Bloom. 0 "
|
|
454
|
+
"-> Ribbon except Bloom for flush. -1 -> always Ribbon.");
|
|
380
455
|
|
|
381
456
|
DEFINE_bool(partition_filters, false,
|
|
382
457
|
"use partitioned filters "
|
|
@@ -387,6 +462,12 @@ DEFINE_bool(
|
|
|
387
462
|
ROCKSDB_NAMESPACE::BlockBasedTableOptions().optimize_filters_for_memory,
|
|
388
463
|
"Minimize memory footprint of filters");
|
|
389
464
|
|
|
465
|
+
DEFINE_bool(
|
|
466
|
+
detect_filter_construct_corruption,
|
|
467
|
+
ROCKSDB_NAMESPACE::BlockBasedTableOptions()
|
|
468
|
+
.detect_filter_construct_corruption,
|
|
469
|
+
"Detect corruption during new Bloom Filter and Ribbon Filter construction");
|
|
470
|
+
|
|
390
471
|
DEFINE_int32(
|
|
391
472
|
index_type,
|
|
392
473
|
static_cast<int32_t>(
|
|
@@ -401,12 +482,14 @@ DEFINE_string(secondaries_base, "",
|
|
|
401
482
|
DEFINE_bool(test_secondary, false, "Test secondary instance.");
|
|
402
483
|
|
|
403
484
|
DEFINE_string(
|
|
404
|
-
|
|
405
|
-
"
|
|
406
|
-
"provided and non-empty, the DB state will be verified
|
|
407
|
-
"values after recovery. --max_key and
|
|
408
|
-
"same across invocations of this program
|
|
409
|
-
"--
|
|
485
|
+
expected_values_dir, "",
|
|
486
|
+
"Dir where files containing info about the latest/historical values will "
|
|
487
|
+
"be stored. If provided and non-empty, the DB state will be verified "
|
|
488
|
+
"against values from these files after recovery. --max_key and "
|
|
489
|
+
"--column_family must be kept the same across invocations of this program "
|
|
490
|
+
"that use the same --expected_values_dir. Currently historical values are "
|
|
491
|
+
"only tracked when --sync_fault_injection is set. See --seed and "
|
|
492
|
+
"--nooverwritepercent for further requirements.");
|
|
410
493
|
|
|
411
494
|
DEFINE_bool(verify_checksum, false,
|
|
412
495
|
"Verify checksum for every block read from storage");
|
|
@@ -438,7 +521,6 @@ DEFINE_int32(kill_random_test, 0,
|
|
|
438
521
|
"probability 1/this");
|
|
439
522
|
static const bool FLAGS_kill_random_test_dummy __attribute__((__unused__)) =
|
|
440
523
|
RegisterFlagValidator(&FLAGS_kill_random_test, &ValidateInt32Positive);
|
|
441
|
-
extern int rocksdb_kill_odds;
|
|
442
524
|
|
|
443
525
|
DEFINE_string(kill_exclude_prefixes, "",
|
|
444
526
|
"If non-empty, kill points with prefix in the list given will be"
|
|
@@ -473,6 +555,16 @@ DEFINE_uint64(rate_limiter_bytes_per_sec, 0, "Set options.rate_limiter value.");
|
|
|
473
555
|
DEFINE_bool(rate_limit_bg_reads, false,
|
|
474
556
|
"Use options.rate_limiter on compaction reads");
|
|
475
557
|
|
|
558
|
+
DEFINE_bool(rate_limit_user_ops, false,
|
|
559
|
+
"When true use Env::IO_USER priority level to charge internal rate "
|
|
560
|
+
"limiter for reads associated with user operations.");
|
|
561
|
+
|
|
562
|
+
DEFINE_bool(rate_limit_auto_wal_flush, false,
|
|
563
|
+
"When true use Env::IO_USER priority level to charge internal rate "
|
|
564
|
+
"limiter for automatic WAL flush (`Options::manual_wal_flush` == "
|
|
565
|
+
"false) after the user "
|
|
566
|
+
"write operation.");
|
|
567
|
+
|
|
476
568
|
DEFINE_uint64(sst_file_manager_bytes_per_sec, 0,
|
|
477
569
|
"Set `Options::sst_file_manager` to delete at this rate. By "
|
|
478
570
|
"default the deletion rate is unbounded.");
|
|
@@ -598,7 +690,8 @@ static const bool FLAGS_delrangepercent_dummy __attribute__((__unused__)) =
|
|
|
598
690
|
|
|
599
691
|
DEFINE_int32(nooverwritepercent, 60,
|
|
600
692
|
"Ratio of keys without overwrite to total workload (expressed as "
|
|
601
|
-
"
|
|
693
|
+
"a percentage). When --expected_values_dir is nonempty, must "
|
|
694
|
+
"keep this value constant across invocations.");
|
|
602
695
|
static const bool FLAGS_nooverwritepercent_dummy __attribute__((__unused__)) =
|
|
603
696
|
RegisterFlagValidator(&FLAGS_nooverwritepercent, &ValidateInt32Percent);
|
|
604
697
|
|
|
@@ -612,6 +705,10 @@ DEFINE_uint64(num_iterations, 10, "Number of iterations per MultiIterate run");
|
|
|
612
705
|
static const bool FLAGS_num_iterations_dummy __attribute__((__unused__)) =
|
|
613
706
|
RegisterFlagValidator(&FLAGS_num_iterations, &ValidateUint32Range);
|
|
614
707
|
|
|
708
|
+
DEFINE_int32(
|
|
709
|
+
customopspercent, 0,
|
|
710
|
+
"Ratio of custom operations to total workload (expressed as a percentage)");
|
|
711
|
+
|
|
615
712
|
DEFINE_string(compression_type, "snappy",
|
|
616
713
|
"Algorithm to use to compress the database");
|
|
617
714
|
|
|
@@ -626,23 +723,22 @@ DEFINE_int32(compression_zstd_max_train_bytes, 0,
|
|
|
626
723
|
DEFINE_int32(compression_parallel_threads, 1,
|
|
627
724
|
"Number of threads for parallel compression.");
|
|
628
725
|
|
|
726
|
+
DEFINE_uint64(compression_max_dict_buffer_bytes, 0,
|
|
727
|
+
"Buffering limit for SST file data to sample for dictionary "
|
|
728
|
+
"compression.");
|
|
729
|
+
|
|
629
730
|
DEFINE_string(bottommost_compression_type, "disable",
|
|
630
731
|
"Algorithm to use to compress bottommost level of the database. "
|
|
631
732
|
"\"disable\" means disabling the feature");
|
|
632
733
|
|
|
633
734
|
DEFINE_string(checksum_type, "kCRC32c", "Algorithm to use to checksum blocks");
|
|
634
735
|
|
|
635
|
-
DEFINE_string(
|
|
636
|
-
"
|
|
637
|
-
" --env_uri and --fs_uri.");
|
|
638
|
-
|
|
639
|
-
DEFINE_string(
|
|
640
|
-
env_uri, "",
|
|
641
|
-
"URI for env lookup. Mutually exclusive with --hdfs and --fs_uri");
|
|
736
|
+
DEFINE_string(env_uri, "",
|
|
737
|
+
"URI for env lookup. Mutually exclusive with --fs_uri");
|
|
642
738
|
|
|
643
739
|
DEFINE_string(fs_uri, "",
|
|
644
740
|
"URI for registry Filesystem lookup. Mutually exclusive"
|
|
645
|
-
" with --
|
|
741
|
+
" with --env_uri."
|
|
646
742
|
" Creates a default environment with the specified filesystem.");
|
|
647
743
|
|
|
648
744
|
DEFINE_uint64(ops_per_thread, 1200000, "Number of operations per thread.");
|
|
@@ -739,7 +835,10 @@ DEFINE_int32(get_property_one_in, 1000,
|
|
|
739
835
|
|
|
740
836
|
DEFINE_bool(sync_fault_injection, false,
|
|
741
837
|
"If true, FaultInjectionTestFS will be used for write operations, "
|
|
742
|
-
"
|
|
838
|
+
"and unsynced data in DB will lost after crash. In such a case we "
|
|
839
|
+
"track DB changes in a trace file (\"*.trace\") in "
|
|
840
|
+
"--expected_values_dir for verifying there are no holes in the "
|
|
841
|
+
"recovered data.");
|
|
743
842
|
|
|
744
843
|
DEFINE_bool(best_efforts_recovery, false,
|
|
745
844
|
"If true, use best efforts recovery.");
|
|
@@ -753,6 +852,15 @@ DEFINE_bool(paranoid_file_checks, true,
|
|
|
753
852
|
"After writing every SST file, reopen it and read all the keys "
|
|
754
853
|
"and validate checksums");
|
|
755
854
|
|
|
855
|
+
DEFINE_bool(fail_if_options_file_error, false,
|
|
856
|
+
"Fail operations that fail to detect or properly persist options "
|
|
857
|
+
"file.");
|
|
858
|
+
|
|
859
|
+
DEFINE_uint64(batch_protection_bytes_per_key, 0,
|
|
860
|
+
"If nonzero, enables integrity protection in `WriteBatch` at the "
|
|
861
|
+
"specified number of bytes per key. Currently the only supported "
|
|
862
|
+
"nonzero value is eight.");
|
|
863
|
+
|
|
756
864
|
DEFINE_string(file_checksum_impl, "none",
|
|
757
865
|
"Name of an implementation for file_checksum_gen_factory, or "
|
|
758
866
|
"\"none\" for null.");
|
|
@@ -760,4 +868,63 @@ DEFINE_string(file_checksum_impl, "none",
|
|
|
760
868
|
DEFINE_int32(write_fault_one_in, 0,
|
|
761
869
|
"On non-zero, enables fault injection on write");
|
|
762
870
|
|
|
871
|
+
DEFINE_uint64(user_timestamp_size, 0,
|
|
872
|
+
"Number of bytes for a user-defined timestamp. Currently, only "
|
|
873
|
+
"8-byte is supported");
|
|
874
|
+
|
|
875
|
+
DEFINE_int32(open_metadata_write_fault_one_in, 0,
|
|
876
|
+
"On non-zero, enables fault injection on file metadata write "
|
|
877
|
+
"during DB reopen.");
|
|
878
|
+
|
|
879
|
+
#ifndef ROCKSDB_LITE
|
|
880
|
+
DEFINE_string(secondary_cache_uri, "",
|
|
881
|
+
"Full URI for creating a customized secondary cache object");
|
|
882
|
+
DEFINE_int32(secondary_cache_fault_one_in, 0,
|
|
883
|
+
"On non-zero, enables fault injection in secondary cache inserts"
|
|
884
|
+
" and lookups");
|
|
885
|
+
#endif // ROCKSDB_LITE
|
|
886
|
+
DEFINE_int32(open_write_fault_one_in, 0,
|
|
887
|
+
"On non-zero, enables fault injection on file writes "
|
|
888
|
+
"during DB reopen.");
|
|
889
|
+
DEFINE_int32(open_read_fault_one_in, 0,
|
|
890
|
+
"On non-zero, enables fault injection on file reads "
|
|
891
|
+
"during DB reopen.");
|
|
892
|
+
DEFINE_int32(injest_error_severity, 1,
|
|
893
|
+
"The severity of the injested IO Error. 1 is soft error (e.g. "
|
|
894
|
+
"retryable error), 2 is fatal error, and the default is "
|
|
895
|
+
"retryable error.");
|
|
896
|
+
DEFINE_int32(prepopulate_block_cache,
|
|
897
|
+
static_cast<int32_t>(ROCKSDB_NAMESPACE::BlockBasedTableOptions::
|
|
898
|
+
PrepopulateBlockCache::kDisable),
|
|
899
|
+
"Options related to cache warming (see `enum "
|
|
900
|
+
"PrepopulateBlockCache` in table.h)");
|
|
901
|
+
|
|
902
|
+
DEFINE_bool(two_write_queues, false,
|
|
903
|
+
"Set to true to enable two write queues. Default: false");
|
|
904
|
+
#ifndef ROCKSDB_LITE
|
|
905
|
+
|
|
906
|
+
DEFINE_bool(use_only_the_last_commit_time_batch_for_recovery, false,
|
|
907
|
+
"If true, the commit-time write batch will not be immediately "
|
|
908
|
+
"inserted into the memtables. Default: false");
|
|
909
|
+
|
|
910
|
+
DEFINE_uint64(
|
|
911
|
+
wp_snapshot_cache_bits, 7ull,
|
|
912
|
+
"Number of bits to represent write-prepared transaction db's snapshot "
|
|
913
|
+
"cache. Default: 7 (128 entries)");
|
|
914
|
+
|
|
915
|
+
DEFINE_uint64(wp_commit_cache_bits, 23ull,
|
|
916
|
+
"Number of bits to represent write-prepared transaction db's "
|
|
917
|
+
"commit cache. Default: 23 (8M entries)");
|
|
918
|
+
#endif // !ROCKSDB_LITE
|
|
919
|
+
|
|
920
|
+
DEFINE_bool(adaptive_readahead, false,
|
|
921
|
+
"Carry forward internal auto readahead size from one file to next "
|
|
922
|
+
"file at each level during iteration");
|
|
923
|
+
DEFINE_bool(
|
|
924
|
+
async_io, false,
|
|
925
|
+
"Does asynchronous prefetching when internal auto readahead is enabled");
|
|
926
|
+
|
|
927
|
+
DEFINE_string(wal_compression, "none",
|
|
928
|
+
"Algorithm to use for WAL compression. none to disable.");
|
|
929
|
+
|
|
763
930
|
#endif // GFLAGS
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
2
|
+
// This source code is licensed under both the GPLv2 (found in the
|
|
3
|
+
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
+
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
+
|
|
6
|
+
#include "db_stress_tool/db_stress_listener.h"
|
|
7
|
+
|
|
8
|
+
#include <cstdint>
|
|
9
|
+
|
|
10
|
+
#include "file/file_util.h"
|
|
11
|
+
#include "rocksdb/file_system.h"
|
|
12
|
+
#include "util/coding_lean.h"
|
|
13
|
+
|
|
14
|
+
namespace ROCKSDB_NAMESPACE {
|
|
15
|
+
|
|
16
|
+
#ifdef GFLAGS
|
|
17
|
+
#ifndef ROCKSDB_LITE
|
|
18
|
+
|
|
19
|
+
// TODO: consider using expected_values_dir instead, but this is more
|
|
20
|
+
// convenient for now.
|
|
21
|
+
UniqueIdVerifier::UniqueIdVerifier(const std::string& db_name, Env* env)
|
|
22
|
+
: path_(db_name + "/.unique_ids") {
|
|
23
|
+
// We expect such a small number of files generated during this test
|
|
24
|
+
// (thousands?), checking full 192-bit IDs for uniqueness is a very
|
|
25
|
+
// weak check. For a stronger check, we pick a specific 64-bit
|
|
26
|
+
// subsequence from the ID to check for uniqueness. All bits of the
|
|
27
|
+
// ID should be high quality, and 64 bits should be unique with
|
|
28
|
+
// very good probability for the quantities in this test.
|
|
29
|
+
offset_ = Random::GetTLSInstance()->Uniform(17); // 0 to 16
|
|
30
|
+
|
|
31
|
+
const std::shared_ptr<FileSystem> fs = env->GetFileSystem();
|
|
32
|
+
IOOptions opts;
|
|
33
|
+
|
|
34
|
+
Status st = fs->CreateDirIfMissing(db_name, opts, nullptr);
|
|
35
|
+
if (!st.ok()) {
|
|
36
|
+
fprintf(stderr, "Failed to create directory %s: %s\n", db_name.c_str(),
|
|
37
|
+
st.ToString().c_str());
|
|
38
|
+
exit(1);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Avoid relying on ReopenWritableFile which is not supported by all
|
|
42
|
+
// file systems. Create a new file and copy the old file contents to it.
|
|
43
|
+
std::string tmp_path = path_ + ".tmp";
|
|
44
|
+
st = fs->FileExists(tmp_path, opts, /*dbg*/ nullptr);
|
|
45
|
+
if (st.IsNotFound()) {
|
|
46
|
+
st = fs->RenameFile(path_, tmp_path, opts, /*dbg*/ nullptr);
|
|
47
|
+
// Either it should succeed or fail because src path doesn't exist
|
|
48
|
+
assert(st.ok() || st.IsPathNotFound());
|
|
49
|
+
} else {
|
|
50
|
+
// If path_ and tmp_path both exist, retain tmp_path as its
|
|
51
|
+
// guaranteed to be more complete. The order of operations are -
|
|
52
|
+
// 1. Rename path_ to tmp_path
|
|
53
|
+
// 2. Parse tmp_path contents
|
|
54
|
+
// 3. Create path_
|
|
55
|
+
// 4. Copy tmp_path contents to path_
|
|
56
|
+
// 5. Delete tmp_path
|
|
57
|
+
st = fs->DeleteFile(path_, opts, /*dbg*/ nullptr);
|
|
58
|
+
assert(st.ok() || st.IsPathNotFound());
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
uint64_t size = 0;
|
|
62
|
+
{
|
|
63
|
+
std::unique_ptr<FSSequentialFile> reader;
|
|
64
|
+
Status s = fs->NewSequentialFile(tmp_path, FileOptions(), &reader,
|
|
65
|
+
/*dbg*/ nullptr);
|
|
66
|
+
if (s.ok()) {
|
|
67
|
+
// Load from file
|
|
68
|
+
std::string id(24U, '\0');
|
|
69
|
+
Slice result;
|
|
70
|
+
for (;;) {
|
|
71
|
+
s = reader->Read(id.size(), opts, &result, &id[0], /*dbg*/ nullptr);
|
|
72
|
+
if (!s.ok()) {
|
|
73
|
+
fprintf(stderr, "Error reading unique id file: %s\n",
|
|
74
|
+
s.ToString().c_str());
|
|
75
|
+
assert(false);
|
|
76
|
+
}
|
|
77
|
+
if (result.size() < id.size()) {
|
|
78
|
+
// EOF
|
|
79
|
+
if (result.size() != 0) {
|
|
80
|
+
// Corrupt file. Not a DB bug but could happen if OS doesn't provide
|
|
81
|
+
// good guarantees on process crash.
|
|
82
|
+
fprintf(stdout, "Warning: clearing corrupt unique id file\n");
|
|
83
|
+
id_set_.clear();
|
|
84
|
+
reader.reset();
|
|
85
|
+
s = fs->DeleteFile(tmp_path, opts, /*dbg*/ nullptr);
|
|
86
|
+
assert(s.ok());
|
|
87
|
+
size = 0;
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
size += 24U;
|
|
92
|
+
VerifyNoWrite(id);
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
// Newly created is ok.
|
|
96
|
+
// But FileSystem doesn't tell us whether non-existence was the cause of
|
|
97
|
+
// the failure. (Issue #9021)
|
|
98
|
+
Status s2 = fs->FileExists(tmp_path, opts, /*dbg*/ nullptr);
|
|
99
|
+
if (!s2.IsNotFound()) {
|
|
100
|
+
fprintf(stderr, "Error opening unique id file: %s\n",
|
|
101
|
+
s.ToString().c_str());
|
|
102
|
+
assert(false);
|
|
103
|
+
}
|
|
104
|
+
size = 0;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
fprintf(stdout, "(Re-)verified %zu unique IDs\n", id_set_.size());
|
|
108
|
+
|
|
109
|
+
std::unique_ptr<FSWritableFile> file_writer;
|
|
110
|
+
st = fs->NewWritableFile(path_, FileOptions(), &file_writer, /*dbg*/ nullptr);
|
|
111
|
+
if (!st.ok()) {
|
|
112
|
+
fprintf(stderr, "Error creating the unique ids file: %s\n",
|
|
113
|
+
st.ToString().c_str());
|
|
114
|
+
assert(false);
|
|
115
|
+
}
|
|
116
|
+
data_file_writer_.reset(
|
|
117
|
+
new WritableFileWriter(std::move(file_writer), path_, FileOptions()));
|
|
118
|
+
|
|
119
|
+
if (size > 0) {
|
|
120
|
+
st = CopyFile(fs.get(), tmp_path, data_file_writer_, size,
|
|
121
|
+
/*use_fsync*/ true, /*io_tracer*/ nullptr,
|
|
122
|
+
/*temparature*/ Temperature::kHot);
|
|
123
|
+
if (!st.ok()) {
|
|
124
|
+
fprintf(stderr, "Error copying contents of old unique id file: %s\n",
|
|
125
|
+
st.ToString().c_str());
|
|
126
|
+
assert(false);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
st = fs->DeleteFile(tmp_path, opts, /*dbg*/ nullptr);
|
|
130
|
+
assert(st.ok() || st.IsPathNotFound());
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
UniqueIdVerifier::~UniqueIdVerifier() {
|
|
134
|
+
IOStatus s = data_file_writer_->Close();
|
|
135
|
+
assert(s.ok());
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
void UniqueIdVerifier::VerifyNoWrite(const std::string& id) {
|
|
139
|
+
assert(id.size() == 24);
|
|
140
|
+
bool is_new = id_set_.insert(DecodeFixed64(&id[offset_])).second;
|
|
141
|
+
if (!is_new) {
|
|
142
|
+
fprintf(stderr,
|
|
143
|
+
"Duplicate partial unique ID found (offset=%zu, count=%zu)\n",
|
|
144
|
+
offset_, id_set_.size());
|
|
145
|
+
assert(false);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
void UniqueIdVerifier::Verify(const std::string& id) {
|
|
150
|
+
assert(id.size() == 24);
|
|
151
|
+
std::lock_guard<std::mutex> lock(mutex_);
|
|
152
|
+
// If we accumulate more than ~4 million IDs, there would be > 1 in 1M
|
|
153
|
+
// natural chance of collision. Thus, simply stop checking at that point.
|
|
154
|
+
if (id_set_.size() >= 4294967) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
IOStatus s = data_file_writer_->Append(Slice(id));
|
|
158
|
+
if (!s.ok()) {
|
|
159
|
+
fprintf(stderr, "Error writing to unique id file: %s\n",
|
|
160
|
+
s.ToString().c_str());
|
|
161
|
+
assert(false);
|
|
162
|
+
}
|
|
163
|
+
s = data_file_writer_->Flush();
|
|
164
|
+
if (!s.ok()) {
|
|
165
|
+
fprintf(stderr, "Error flushing unique id file: %s\n",
|
|
166
|
+
s.ToString().c_str());
|
|
167
|
+
assert(false);
|
|
168
|
+
}
|
|
169
|
+
VerifyNoWrite(id);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
void DbStressListener::VerifyTableFileUniqueId(
|
|
173
|
+
const TableProperties& new_file_properties, const std::string& file_path) {
|
|
174
|
+
// Verify unique ID
|
|
175
|
+
std::string id;
|
|
176
|
+
Status s = GetUniqueIdFromTableProperties(new_file_properties, &id);
|
|
177
|
+
if (!s.ok()) {
|
|
178
|
+
fprintf(stderr, "Error getting SST unique id for %s: %s\n",
|
|
179
|
+
file_path.c_str(), s.ToString().c_str());
|
|
180
|
+
assert(false);
|
|
181
|
+
}
|
|
182
|
+
unique_ids_.Verify(id);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
#endif // !ROCKSDB_LITE
|
|
186
|
+
#endif // GFLAGS
|
|
187
|
+
|
|
188
|
+
} // namespace ROCKSDB_NAMESPACE
|
|
@@ -6,22 +6,62 @@
|
|
|
6
6
|
#ifdef GFLAGS
|
|
7
7
|
#pragma once
|
|
8
8
|
|
|
9
|
+
#include <mutex>
|
|
10
|
+
#include <unordered_set>
|
|
11
|
+
|
|
12
|
+
#include "file/filename.h"
|
|
13
|
+
#include "file/writable_file_writer.h"
|
|
14
|
+
#include "rocksdb/db.h"
|
|
15
|
+
#include "rocksdb/env.h"
|
|
16
|
+
#include "rocksdb/file_system.h"
|
|
9
17
|
#include "rocksdb/listener.h"
|
|
18
|
+
#include "rocksdb/table_properties.h"
|
|
19
|
+
#include "rocksdb/unique_id.h"
|
|
10
20
|
#include "util/gflags_compat.h"
|
|
21
|
+
#include "util/random.h"
|
|
11
22
|
|
|
12
23
|
DECLARE_int32(compact_files_one_in);
|
|
13
24
|
|
|
14
25
|
namespace ROCKSDB_NAMESPACE {
|
|
26
|
+
|
|
27
|
+
#ifndef ROCKSDB_LITE
|
|
28
|
+
// Verify across process executions that all seen IDs are unique
|
|
29
|
+
class UniqueIdVerifier {
|
|
30
|
+
public:
|
|
31
|
+
explicit UniqueIdVerifier(const std::string& db_name, Env* env);
|
|
32
|
+
~UniqueIdVerifier();
|
|
33
|
+
|
|
34
|
+
void Verify(const std::string& id);
|
|
35
|
+
|
|
36
|
+
private:
|
|
37
|
+
void VerifyNoWrite(const std::string& id);
|
|
38
|
+
|
|
39
|
+
private:
|
|
40
|
+
std::mutex mutex_;
|
|
41
|
+
// IDs persisted to a hidden file inside DB dir
|
|
42
|
+
std::string path_;
|
|
43
|
+
std::unique_ptr<WritableFileWriter> data_file_writer_;
|
|
44
|
+
// Starting byte for which 8 bytes to check in memory within 24 byte ID
|
|
45
|
+
size_t offset_;
|
|
46
|
+
// Working copy of the set of 8 byte pieces
|
|
47
|
+
std::unordered_set<uint64_t> id_set_;
|
|
48
|
+
};
|
|
49
|
+
|
|
15
50
|
class DbStressListener : public EventListener {
|
|
16
51
|
public:
|
|
17
52
|
DbStressListener(const std::string& db_name,
|
|
18
53
|
const std::vector<DbPath>& db_paths,
|
|
19
|
-
const std::vector<ColumnFamilyDescriptor>& column_families
|
|
54
|
+
const std::vector<ColumnFamilyDescriptor>& column_families,
|
|
55
|
+
Env* env)
|
|
20
56
|
: db_name_(db_name),
|
|
21
57
|
db_paths_(db_paths),
|
|
22
58
|
column_families_(column_families),
|
|
23
|
-
num_pending_file_creations_(0)
|
|
24
|
-
|
|
59
|
+
num_pending_file_creations_(0),
|
|
60
|
+
unique_ids_(db_name, env) {}
|
|
61
|
+
|
|
62
|
+
const char* Name() const override { return kClassName(); }
|
|
63
|
+
static const char* kClassName() { return "DBStressListener"; }
|
|
64
|
+
|
|
25
65
|
~DbStressListener() override { assert(num_pending_file_creations_ == 0); }
|
|
26
66
|
void OnFlushCompleted(DB* /*db*/, const FlushJobInfo& info) override {
|
|
27
67
|
assert(IsValidColumnFamilyName(info.cf_name));
|
|
@@ -64,15 +104,15 @@ class DbStressListener : public EventListener {
|
|
|
64
104
|
void OnTableFileCreated(const TableFileCreationInfo& info) override {
|
|
65
105
|
assert(info.db_name == db_name_);
|
|
66
106
|
assert(IsValidColumnFamilyName(info.cf_name));
|
|
67
|
-
if (info.file_size) {
|
|
68
|
-
VerifyFilePath(info.file_path);
|
|
69
|
-
}
|
|
70
107
|
assert(info.job_id > 0 || FLAGS_compact_files_one_in > 0);
|
|
71
|
-
if (info.status.ok()
|
|
108
|
+
if (info.status.ok()) {
|
|
109
|
+
assert(info.file_size > 0);
|
|
110
|
+
VerifyFilePath(info.file_path);
|
|
72
111
|
assert(info.table_properties.data_size > 0 ||
|
|
73
112
|
info.table_properties.num_range_deletions > 0);
|
|
74
113
|
assert(info.table_properties.raw_key_size > 0);
|
|
75
114
|
assert(info.table_properties.num_entries > 0);
|
|
115
|
+
VerifyTableFileUniqueId(info.table_properties, info.file_path);
|
|
76
116
|
}
|
|
77
117
|
--num_pending_file_creations_;
|
|
78
118
|
}
|
|
@@ -86,9 +126,12 @@ class DbStressListener : public EventListener {
|
|
|
86
126
|
RandomSleep();
|
|
87
127
|
}
|
|
88
128
|
|
|
89
|
-
void OnExternalFileIngested(
|
|
90
|
-
|
|
129
|
+
void OnExternalFileIngested(DB* /*db*/,
|
|
130
|
+
const ExternalFileIngestionInfo& info) override {
|
|
91
131
|
RandomSleep();
|
|
132
|
+
// Here we assume that each generated external file is ingested
|
|
133
|
+
// exactly once (or thrown away in case of crash)
|
|
134
|
+
VerifyTableFileUniqueId(info.table_properties, info.internal_file_path);
|
|
92
135
|
}
|
|
93
136
|
|
|
94
137
|
void OnBackgroundError(BackgroundErrorReason /* reason */,
|
|
@@ -206,17 +249,23 @@ class DbStressListener : public EventListener {
|
|
|
206
249
|
#endif // !NDEBUG
|
|
207
250
|
}
|
|
208
251
|
|
|
252
|
+
// Unique id is verified using the TableProperties. file_path is only used
|
|
253
|
+
// for reporting.
|
|
254
|
+
void VerifyTableFileUniqueId(const TableProperties& new_file_properties,
|
|
255
|
+
const std::string& file_path);
|
|
256
|
+
|
|
209
257
|
void RandomSleep() {
|
|
210
258
|
std::this_thread::sleep_for(
|
|
211
259
|
std::chrono::microseconds(Random::GetTLSInstance()->Uniform(5000)));
|
|
212
260
|
}
|
|
213
|
-
#endif // !ROCKSDB_LITE
|
|
214
261
|
|
|
215
262
|
private:
|
|
216
263
|
std::string db_name_;
|
|
217
264
|
std::vector<DbPath> db_paths_;
|
|
218
265
|
std::vector<ColumnFamilyDescriptor> column_families_;
|
|
219
266
|
std::atomic<int> num_pending_file_creations_;
|
|
267
|
+
UniqueIdVerifier unique_ids_;
|
|
220
268
|
};
|
|
269
|
+
#endif // !ROCKSDB_LITE
|
|
221
270
|
} // namespace ROCKSDB_NAMESPACE
|
|
222
271
|
#endif // GFLAGS
|