@nxtedition/rocksdb 6.0.0 → 6.0.3
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/BUILDING.md +18 -0
- package/binding.cc +16 -17
- package/binding.gyp +2 -2
- package/deps/rocksdb/build_version.cc +4 -10
- package/deps/rocksdb/rocksdb/CMakeLists.txt +26 -3
- package/deps/rocksdb/rocksdb/Makefile +73 -91
- package/deps/rocksdb/rocksdb/TARGETS +27 -2
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
- package/deps/rocksdb/rocksdb/common.mk +30 -0
- package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -7
- package/deps/rocksdb/rocksdb/db/c.cc +71 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +28 -2
- package/deps/rocksdb/rocksdb/db/column_family.cc +12 -5
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +54 -16
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +14 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +85 -18
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +151 -32
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +404 -32
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +11 -20
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +15 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +12 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +42 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +54 -23
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +14 -4
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +28 -12
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +11 -6
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
- package/deps/rocksdb/rocksdb/db/db_test.cc +60 -42
- package/deps/rocksdb/rocksdb/db/db_test2.cc +244 -111
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +101 -19
- package/deps/rocksdb/rocksdb/db/db_test_util.h +52 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +5 -175
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.h +126 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +91 -12
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
- package/deps/rocksdb/rocksdb/db/flush_job.cc +28 -15
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +14 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
- package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
- package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +13 -2
- package/deps/rocksdb/rocksdb/db/repair_test.cc +37 -15
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
- package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +20 -130
- package/deps/rocksdb/rocksdb/db/table_cache.h +3 -2
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +140 -0
- package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +133 -133
- package/deps/rocksdb/rocksdb/db/version_edit.cc +22 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +13 -4
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +14 -14
- package/deps/rocksdb/rocksdb/db/version_set.cc +207 -214
- package/deps/rocksdb/rocksdb/db/version_set.h +14 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +154 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +10 -9
- package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +44 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +374 -275
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
- package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
- package/deps/rocksdb/rocksdb/env/env.cc +0 -60
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
- package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
- package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
- package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +44 -22
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +60 -40
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +49 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +4 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +378 -103
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
- package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
- package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +7 -8
- package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
- package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
- package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
- package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +47 -38
- package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
- package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
- package/deps/rocksdb/rocksdb/options/db_options.cc +46 -17
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/options.cc +7 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +86 -39
- package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +12 -7
- package/deps/rocksdb/rocksdb/options/options_test.cc +222 -68
- package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
- package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
- package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
- package/deps/rocksdb/rocksdb/src.mk +6 -1
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +23 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +81 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +94 -726
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +21 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +9 -3
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +754 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -73
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +2 -11
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +59 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +18 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +0 -61
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +0 -13
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +8 -4
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +65 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/format.cc +22 -20
- package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
- package/deps/rocksdb/rocksdb/table/multiget_context.h +60 -13
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +1 -1
- package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
- package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
- package/deps/rocksdb/rocksdb/table/table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
- package/deps/rocksdb/rocksdb/table/unique_id.cc +84 -25
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +37 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +277 -105
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +26 -4
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +72 -0
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +144 -0
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
- package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
- package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
- package/deps/rocksdb/rocksdb/util/compression.h +56 -7
- package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
- package/deps/rocksdb/rocksdb/util/heap.h +5 -3
- package/deps/rocksdb/rocksdb/util/random.cc +1 -5
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
- package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
- package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
- package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
- package/deps/rocksdb/rocksdb.gyp +47 -37
- package/package-lock.json +23687 -0
- package/package.json +2 -30
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/deps/liburing/liburing/README +0 -46
- package/deps/liburing/liburing/test/232c93d07b74-test.c +0 -305
- package/deps/liburing/liburing/test/35fa71a030ca-test.c +0 -329
- package/deps/liburing/liburing/test/500f9fbadef8-test.c +0 -89
- package/deps/liburing/liburing/test/7ad0e4b2f83c-test.c +0 -93
- package/deps/liburing/liburing/test/8a9973408177-test.c +0 -106
- package/deps/liburing/liburing/test/917257daa0fe-test.c +0 -53
- package/deps/liburing/liburing/test/Makefile +0 -312
- package/deps/liburing/liburing/test/a0908ae19763-test.c +0 -58
- package/deps/liburing/liburing/test/a4c0b3decb33-test.c +0 -180
- package/deps/liburing/liburing/test/accept-link.c +0 -251
- package/deps/liburing/liburing/test/accept-reuse.c +0 -164
- package/deps/liburing/liburing/test/accept-test.c +0 -79
- package/deps/liburing/liburing/test/accept.c +0 -476
- package/deps/liburing/liburing/test/across-fork.c +0 -283
- package/deps/liburing/liburing/test/b19062a56726-test.c +0 -53
- package/deps/liburing/liburing/test/b5837bd5311d-test.c +0 -77
- package/deps/liburing/liburing/test/ce593a6c480a-test.c +0 -135
- package/deps/liburing/liburing/test/close-opath.c +0 -122
- package/deps/liburing/liburing/test/config +0 -10
- package/deps/liburing/liburing/test/connect.c +0 -398
- package/deps/liburing/liburing/test/cq-full.c +0 -96
- package/deps/liburing/liburing/test/cq-overflow.c +0 -294
- package/deps/liburing/liburing/test/cq-peek-batch.c +0 -102
- package/deps/liburing/liburing/test/cq-ready.c +0 -94
- package/deps/liburing/liburing/test/cq-size.c +0 -58
- package/deps/liburing/liburing/test/d4ae271dfaae-test.c +0 -96
- package/deps/liburing/liburing/test/d77a67ed5f27-test.c +0 -65
- package/deps/liburing/liburing/test/defer.c +0 -307
- package/deps/liburing/liburing/test/double-poll-crash.c +0 -186
- package/deps/liburing/liburing/test/eeed8b54e0df-test.c +0 -114
- package/deps/liburing/liburing/test/empty-eownerdead.c +0 -42
- package/deps/liburing/liburing/test/eventfd-disable.c +0 -151
- package/deps/liburing/liburing/test/eventfd-ring.c +0 -97
- package/deps/liburing/liburing/test/eventfd.c +0 -112
- package/deps/liburing/liburing/test/fadvise.c +0 -202
- package/deps/liburing/liburing/test/fallocate.c +0 -249
- package/deps/liburing/liburing/test/fc2a85cb02ef-test.c +0 -138
- package/deps/liburing/liburing/test/file-register.c +0 -843
- package/deps/liburing/liburing/test/file-update.c +0 -173
- package/deps/liburing/liburing/test/files-exit-hang-poll.c +0 -128
- package/deps/liburing/liburing/test/files-exit-hang-timeout.c +0 -134
- package/deps/liburing/liburing/test/fixed-link.c +0 -90
- package/deps/liburing/liburing/test/fsync.c +0 -224
- package/deps/liburing/liburing/test/hardlink.c +0 -136
- package/deps/liburing/liburing/test/helpers.c +0 -135
- package/deps/liburing/liburing/test/helpers.h +0 -67
- package/deps/liburing/liburing/test/io-cancel.c +0 -537
- package/deps/liburing/liburing/test/io_uring_enter.c +0 -296
- package/deps/liburing/liburing/test/io_uring_register.c +0 -664
- package/deps/liburing/liburing/test/io_uring_setup.c +0 -192
- package/deps/liburing/liburing/test/iopoll.c +0 -366
- package/deps/liburing/liburing/test/lfs-openat-write.c +0 -117
- package/deps/liburing/liburing/test/lfs-openat.c +0 -273
- package/deps/liburing/liburing/test/link-timeout.c +0 -1107
- package/deps/liburing/liburing/test/link.c +0 -496
- package/deps/liburing/liburing/test/link_drain.c +0 -229
- package/deps/liburing/liburing/test/madvise.c +0 -195
- package/deps/liburing/liburing/test/mkdir.c +0 -108
- package/deps/liburing/liburing/test/multicqes_drain.c +0 -383
- package/deps/liburing/liburing/test/nop-all-sizes.c +0 -107
- package/deps/liburing/liburing/test/nop.c +0 -115
- package/deps/liburing/liburing/test/open-close.c +0 -146
- package/deps/liburing/liburing/test/openat2.c +0 -240
- package/deps/liburing/liburing/test/personality.c +0 -204
- package/deps/liburing/liburing/test/pipe-eof.c +0 -81
- package/deps/liburing/liburing/test/pipe-reuse.c +0 -105
- package/deps/liburing/liburing/test/poll-cancel-ton.c +0 -139
- package/deps/liburing/liburing/test/poll-cancel.c +0 -135
- package/deps/liburing/liburing/test/poll-link.c +0 -227
- package/deps/liburing/liburing/test/poll-many.c +0 -208
- package/deps/liburing/liburing/test/poll-mshot-update.c +0 -273
- package/deps/liburing/liburing/test/poll-ring.c +0 -48
- package/deps/liburing/liburing/test/poll-v-poll.c +0 -353
- package/deps/liburing/liburing/test/poll.c +0 -109
- package/deps/liburing/liburing/test/probe.c +0 -137
- package/deps/liburing/liburing/test/read-write.c +0 -876
- package/deps/liburing/liburing/test/register-restrictions.c +0 -633
- package/deps/liburing/liburing/test/rename.c +0 -134
- package/deps/liburing/liburing/test/ring-leak.c +0 -173
- package/deps/liburing/liburing/test/ring-leak2.c +0 -249
- package/deps/liburing/liburing/test/rsrc_tags.c +0 -449
- package/deps/liburing/liburing/test/runtests-loop.sh +0 -16
- package/deps/liburing/liburing/test/runtests.sh +0 -170
- package/deps/liburing/liburing/test/rw_merge_test.c +0 -97
- package/deps/liburing/liburing/test/self.c +0 -91
- package/deps/liburing/liburing/test/send_recv.c +0 -291
- package/deps/liburing/liburing/test/send_recvmsg.c +0 -345
- package/deps/liburing/liburing/test/sendmsg_fs_cve.c +0 -198
- package/deps/liburing/liburing/test/shared-wq.c +0 -84
- package/deps/liburing/liburing/test/short-read.c +0 -75
- package/deps/liburing/liburing/test/shutdown.c +0 -163
- package/deps/liburing/liburing/test/sigfd-deadlock.c +0 -74
- package/deps/liburing/liburing/test/socket-rw-eagain.c +0 -156
- package/deps/liburing/liburing/test/socket-rw.c +0 -147
- package/deps/liburing/liburing/test/splice.c +0 -511
- package/deps/liburing/liburing/test/sq-full-cpp.cc +0 -45
- package/deps/liburing/liburing/test/sq-full.c +0 -45
- package/deps/liburing/liburing/test/sq-poll-dup.c +0 -200
- package/deps/liburing/liburing/test/sq-poll-kthread.c +0 -168
- package/deps/liburing/liburing/test/sq-poll-share.c +0 -137
- package/deps/liburing/liburing/test/sq-space_left.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-cancel-hang.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-disable-exit.c +0 -195
- package/deps/liburing/liburing/test/sqpoll-exit-hang.c +0 -77
- package/deps/liburing/liburing/test/sqpoll-sleep.c +0 -68
- package/deps/liburing/liburing/test/statx.c +0 -172
- package/deps/liburing/liburing/test/stdout.c +0 -232
- package/deps/liburing/liburing/test/submit-link-fail.c +0 -154
- package/deps/liburing/liburing/test/submit-reuse.c +0 -239
- package/deps/liburing/liburing/test/symlink.c +0 -116
- package/deps/liburing/liburing/test/teardowns.c +0 -58
- package/deps/liburing/liburing/test/thread-exit.c +0 -131
- package/deps/liburing/liburing/test/timeout-new.c +0 -246
- package/deps/liburing/liburing/test/timeout-overflow.c +0 -204
- package/deps/liburing/liburing/test/timeout.c +0 -1354
- package/deps/liburing/liburing/test/unlink.c +0 -111
- package/deps/liburing/liburing/test/wakeup-hang.c +0 -162
- package/deps/rocksdb/rocksdb/README.md +0 -32
- package/deps/rocksdb/rocksdb/microbench/README.md +0 -60
- package/deps/rocksdb/rocksdb/plugin/README.md +0 -43
- package/deps/rocksdb/rocksdb/port/README +0 -10
- package/deps/rocksdb/rocksdb/python.mk +0 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +0 -13
- package/prebuilds/linux-arm64/node.napi.node +0 -0
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
#include "env/unique_id_gen.h"
|
|
45
45
|
#include "logging/log_buffer.h"
|
|
46
46
|
#include "logging/logging.h"
|
|
47
|
+
#include "options/options_helper.h"
|
|
47
48
|
#include "port/malloc.h"
|
|
48
49
|
#include "port/port.h"
|
|
49
50
|
#include "port/stack_trace.h"
|
|
@@ -1153,7 +1154,7 @@ TEST_P(EnvPosixTestWithParam, RandomAccessUniqueIDConcurrent) {
|
|
|
1153
1154
|
IoctlFriendlyTmpdir ift;
|
|
1154
1155
|
std::vector<std::string> fnames;
|
|
1155
1156
|
for (int i = 0; i < 1000; ++i) {
|
|
1156
|
-
fnames.push_back(ift.name() + "/" + "testfile" +
|
|
1157
|
+
fnames.push_back(ift.name() + "/" + "testfile" + std::to_string(i));
|
|
1157
1158
|
|
|
1158
1159
|
// Create file.
|
|
1159
1160
|
std::unique_ptr<WritableFile> wfile;
|
|
@@ -2937,7 +2938,7 @@ TEST_F(EnvTest, FailureToCreateLockFile) {
|
|
|
2937
2938
|
ASSERT_OK(DestroyDir(env, dir));
|
|
2938
2939
|
}
|
|
2939
2940
|
|
|
2940
|
-
TEST_F(
|
|
2941
|
+
TEST_F(CreateEnvTest, CreateDefaultEnv) {
|
|
2941
2942
|
ConfigOptions options;
|
|
2942
2943
|
options.ignore_unsupported_options = false;
|
|
2943
2944
|
|
|
@@ -2989,7 +2990,7 @@ class WrappedEnv : public EnvWrapper {
|
|
|
2989
2990
|
}
|
|
2990
2991
|
};
|
|
2991
2992
|
} // namespace
|
|
2992
|
-
TEST_F(
|
|
2993
|
+
TEST_F(CreateEnvTest, CreateMockEnv) {
|
|
2993
2994
|
ConfigOptions options;
|
|
2994
2995
|
options.ignore_unsupported_options = false;
|
|
2995
2996
|
WrappedEnv::Register(*(options.registry->AddLibrary("test")), "");
|
|
@@ -3017,7 +3018,7 @@ TEST_F(EnvTest, CreateMockEnv) {
|
|
|
3017
3018
|
opt_str = copy->ToString(options);
|
|
3018
3019
|
}
|
|
3019
3020
|
|
|
3020
|
-
TEST_F(
|
|
3021
|
+
TEST_F(CreateEnvTest, CreateWrappedEnv) {
|
|
3021
3022
|
ConfigOptions options;
|
|
3022
3023
|
options.ignore_unsupported_options = false;
|
|
3023
3024
|
WrappedEnv::Register(*(options.registry->AddLibrary("test")), "");
|
|
@@ -3054,7 +3055,7 @@ TEST_F(EnvTest, CreateWrappedEnv) {
|
|
|
3054
3055
|
ASSERT_TRUE(guard->AreEquivalent(options, copy.get(), &mismatch));
|
|
3055
3056
|
}
|
|
3056
3057
|
|
|
3057
|
-
TEST_F(
|
|
3058
|
+
TEST_F(CreateEnvTest, CreateCompositeEnv) {
|
|
3058
3059
|
ConfigOptions options;
|
|
3059
3060
|
options.ignore_unsupported_options = false;
|
|
3060
3061
|
std::shared_ptr<Env> guard, copy;
|
|
@@ -3109,6 +3110,18 @@ TEST_F(EnvTest, CreateCompositeEnv) {
|
|
|
3109
3110
|
ASSERT_NE(env, nullptr);
|
|
3110
3111
|
ASSERT_NE(env, Env::Default());
|
|
3111
3112
|
ASSERT_TRUE(guard->AreEquivalent(options, copy.get(), &mismatch));
|
|
3113
|
+
|
|
3114
|
+
guard.reset(new CompositeEnvWrapper(nullptr, timed_fs, clock));
|
|
3115
|
+
ColumnFamilyOptions cf_opts;
|
|
3116
|
+
DBOptions db_opts;
|
|
3117
|
+
db_opts.env = guard.get();
|
|
3118
|
+
auto comp = db_opts.env->CheckedCast<CompositeEnvWrapper>();
|
|
3119
|
+
ASSERT_NE(comp, nullptr);
|
|
3120
|
+
ASSERT_EQ(comp->Inner(), nullptr);
|
|
3121
|
+
ASSERT_NOK(ValidateOptions(db_opts, cf_opts));
|
|
3122
|
+
ASSERT_OK(db_opts.env->PrepareOptions(options));
|
|
3123
|
+
ASSERT_NE(comp->Inner(), nullptr);
|
|
3124
|
+
ASSERT_OK(ValidateOptions(db_opts, cf_opts));
|
|
3112
3125
|
}
|
|
3113
3126
|
#endif // ROCKSDB_LITE
|
|
3114
3127
|
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
#include "logging/posix_logger.h"
|
|
52
52
|
#include "monitoring/iostats_context_imp.h"
|
|
53
53
|
#include "monitoring/thread_status_updater.h"
|
|
54
|
+
#include "port/lang.h"
|
|
54
55
|
#include "port/port.h"
|
|
55
56
|
#include "rocksdb/options.h"
|
|
56
57
|
#include "rocksdb/slice.h"
|
|
@@ -146,6 +147,13 @@ class PosixFileSystem : public FileSystem {
|
|
|
146
147
|
const char* NickName() const override { return kDefaultName(); }
|
|
147
148
|
|
|
148
149
|
~PosixFileSystem() override {}
|
|
150
|
+
bool IsInstanceOf(const std::string& name) const override {
|
|
151
|
+
if (name == "posix") {
|
|
152
|
+
return true;
|
|
153
|
+
} else {
|
|
154
|
+
return FileSystem::IsInstanceOf(name);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
149
157
|
|
|
150
158
|
void SetFD_CLOEXEC(int fd, const EnvOptions* options) {
|
|
151
159
|
if ((options == nullptr || options->set_fd_cloexec) && fd > 0) {
|
|
@@ -606,8 +614,7 @@ class PosixFileSystem : public FileSystem {
|
|
|
606
614
|
return IOStatus::NotFound();
|
|
607
615
|
default:
|
|
608
616
|
assert(err == EIO || err == ENOMEM);
|
|
609
|
-
return IOStatus::IOError("Unexpected error(" +
|
|
610
|
-
ROCKSDB_NAMESPACE::ToString(err) +
|
|
617
|
+
return IOStatus::IOError("Unexpected error(" + std::to_string(err) +
|
|
611
618
|
") accessing file `" + fname + "' ");
|
|
612
619
|
}
|
|
613
620
|
}
|
|
@@ -810,12 +817,11 @@ class PosixFileSystem : public FileSystem {
|
|
|
810
817
|
errno = ENOLCK;
|
|
811
818
|
// Note that the thread ID printed is the same one as the one in
|
|
812
819
|
// posix logger, but posix logger prints it hex format.
|
|
813
|
-
return IOError(
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
fname, errno);
|
|
820
|
+
return IOError("lock hold by current process, acquire time " +
|
|
821
|
+
std::to_string(prev_info.acquire_time) +
|
|
822
|
+
" acquiring thread " +
|
|
823
|
+
std::to_string(prev_info.acquiring_thread),
|
|
824
|
+
fname, errno);
|
|
819
825
|
}
|
|
820
826
|
|
|
821
827
|
IOStatus result = IOStatus::OK();
|
|
@@ -1205,10 +1211,9 @@ PosixFileSystem::PosixFileSystem()
|
|
|
1205
1211
|
// Default Posix FileSystem
|
|
1206
1212
|
//
|
|
1207
1213
|
std::shared_ptr<FileSystem> FileSystem::Default() {
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
return default_fs_ptr;
|
|
1214
|
+
STATIC_AVOID_DESTRUCTION(std::shared_ptr<FileSystem>, instance)
|
|
1215
|
+
(std::make_shared<PosixFileSystem>());
|
|
1216
|
+
return instance;
|
|
1212
1217
|
}
|
|
1213
1218
|
|
|
1214
1219
|
#ifndef ROCKSDB_LITE
|
|
@@ -284,9 +284,9 @@ IOStatus PosixSequentialFile::PositionedRead(uint64_t offset, size_t n,
|
|
|
284
284
|
}
|
|
285
285
|
if (r < 0) {
|
|
286
286
|
// An error: return a non-ok status
|
|
287
|
-
s = IOError(
|
|
288
|
-
|
|
289
|
-
|
|
287
|
+
s = IOError("While pread " + std::to_string(n) + " bytes from offset " +
|
|
288
|
+
std::to_string(offset),
|
|
289
|
+
filename_, errno);
|
|
290
290
|
}
|
|
291
291
|
*result = Slice(scratch, (r < 0) ? 0 : n - left);
|
|
292
292
|
return s;
|
|
@@ -294,8 +294,8 @@ IOStatus PosixSequentialFile::PositionedRead(uint64_t offset, size_t n,
|
|
|
294
294
|
|
|
295
295
|
IOStatus PosixSequentialFile::Skip(uint64_t n) {
|
|
296
296
|
if (fseek(file_, static_cast<long int>(n), SEEK_CUR)) {
|
|
297
|
-
return IOError("While fseek to skip " +
|
|
298
|
-
errno);
|
|
297
|
+
return IOError("While fseek to skip " + std::to_string(n) + " bytes",
|
|
298
|
+
filename_, errno);
|
|
299
299
|
}
|
|
300
300
|
return IOStatus::OK();
|
|
301
301
|
}
|
|
@@ -310,8 +310,9 @@ IOStatus PosixSequentialFile::InvalidateCache(size_t offset, size_t length) {
|
|
|
310
310
|
// free OS pages
|
|
311
311
|
int ret = Fadvise(fd_, offset, length, POSIX_FADV_DONTNEED);
|
|
312
312
|
if (ret != 0) {
|
|
313
|
-
return IOError("While fadvise NotNeeded offset " +
|
|
314
|
-
" len " +
|
|
313
|
+
return IOError("While fadvise NotNeeded offset " +
|
|
314
|
+
std::to_string(offset) + " len " +
|
|
315
|
+
std::to_string(length),
|
|
315
316
|
filename_, errno);
|
|
316
317
|
}
|
|
317
318
|
}
|
|
@@ -596,9 +597,9 @@ IOStatus PosixRandomAccessFile::Read(uint64_t offset, size_t n,
|
|
|
596
597
|
}
|
|
597
598
|
if (r < 0) {
|
|
598
599
|
// An error: return a non-ok status
|
|
599
|
-
s = IOError(
|
|
600
|
-
|
|
601
|
-
|
|
600
|
+
s = IOError("While pread offset " + std::to_string(offset) + " len " +
|
|
601
|
+
std::to_string(n),
|
|
602
|
+
filename_, errno);
|
|
602
603
|
}
|
|
603
604
|
*result = Slice(scratch, (r < 0) ? 0 : n - left);
|
|
604
605
|
return s;
|
|
@@ -704,8 +705,8 @@ IOStatus PosixRandomAccessFile::MultiRead(FSReadRequest* reqs,
|
|
|
704
705
|
}
|
|
705
706
|
}
|
|
706
707
|
return IOStatus::IOError("io_uring_submit_and_wait() requested " +
|
|
707
|
-
|
|
708
|
-
|
|
708
|
+
std::to_string(this_reqs) + " but returned " +
|
|
709
|
+
std::to_string(ret));
|
|
709
710
|
}
|
|
710
711
|
|
|
711
712
|
for (size_t i = 0; i < this_reqs; i++) {
|
|
@@ -718,7 +719,8 @@ IOStatus PosixRandomAccessFile::MultiRead(FSReadRequest* reqs,
|
|
|
718
719
|
TEST_SYNC_POINT_CALLBACK(
|
|
719
720
|
"PosixRandomAccessFile::MultiRead:io_uring_wait_cqe:return", &ret);
|
|
720
721
|
if (ret) {
|
|
721
|
-
ios = IOStatus::IOError("io_uring_wait_cqe() returns " +
|
|
722
|
+
ios = IOStatus::IOError("io_uring_wait_cqe() returns " +
|
|
723
|
+
std::to_string(ret));
|
|
722
724
|
|
|
723
725
|
if (cqe != nullptr) {
|
|
724
726
|
io_uring_cqe_seen(iu, cqe);
|
|
@@ -738,7 +740,7 @@ IOStatus PosixRandomAccessFile::MultiRead(FSReadRequest* reqs,
|
|
|
738
740
|
req_wrap);
|
|
739
741
|
port::PrintStack();
|
|
740
742
|
ios = IOStatus::IOError("io_uring_cqe_get_data() returned " +
|
|
741
|
-
|
|
743
|
+
std::to_string((uint64_t)req_wrap));
|
|
742
744
|
continue;
|
|
743
745
|
}
|
|
744
746
|
wrap_cache.erase(wrap_check);
|
|
@@ -801,8 +803,8 @@ IOStatus PosixRandomAccessFile::Prefetch(uint64_t offset, size_t n,
|
|
|
801
803
|
r = fcntl(fd_, F_RDADVISE, &advice);
|
|
802
804
|
#endif
|
|
803
805
|
if (r == -1) {
|
|
804
|
-
s = IOError("While prefetching offset " +
|
|
805
|
-
|
|
806
|
+
s = IOError("While prefetching offset " + std::to_string(offset) +
|
|
807
|
+
" len " + std::to_string(n),
|
|
806
808
|
filename_, errno);
|
|
807
809
|
}
|
|
808
810
|
}
|
|
@@ -855,8 +857,8 @@ IOStatus PosixRandomAccessFile::InvalidateCache(size_t offset, size_t length) {
|
|
|
855
857
|
if (ret == 0) {
|
|
856
858
|
return IOStatus::OK();
|
|
857
859
|
}
|
|
858
|
-
return IOError("While fadvise NotNeeded offset " +
|
|
859
|
-
" len " +
|
|
860
|
+
return IOError("While fadvise NotNeeded offset " + std::to_string(offset) +
|
|
861
|
+
" len " + std::to_string(length),
|
|
860
862
|
filename_, errno);
|
|
861
863
|
#endif
|
|
862
864
|
}
|
|
@@ -922,7 +924,7 @@ IOStatus PosixRandomAccessFile::ReadAsync(
|
|
|
922
924
|
if (ret < 0) {
|
|
923
925
|
fprintf(stderr, "io_uring_submit error: %ld\n", long(ret));
|
|
924
926
|
return IOStatus::IOError("io_uring_submit() requested but returned " +
|
|
925
|
-
|
|
927
|
+
std::to_string(ret));
|
|
926
928
|
}
|
|
927
929
|
return IOStatus::OK();
|
|
928
930
|
#else
|
|
@@ -970,8 +972,8 @@ IOStatus PosixMmapReadableFile::Read(uint64_t offset, size_t n,
|
|
|
970
972
|
IOStatus s;
|
|
971
973
|
if (offset > length_) {
|
|
972
974
|
*result = Slice();
|
|
973
|
-
return IOError("While mmap read offset " +
|
|
974
|
-
" larger than file length " +
|
|
975
|
+
return IOError("While mmap read offset " + std::to_string(offset) +
|
|
976
|
+
" larger than file length " + std::to_string(length_),
|
|
975
977
|
filename_, EINVAL);
|
|
976
978
|
} else if (offset + n > length_) {
|
|
977
979
|
n = static_cast<size_t>(length_ - offset);
|
|
@@ -991,8 +993,8 @@ IOStatus PosixMmapReadableFile::InvalidateCache(size_t offset, size_t length) {
|
|
|
991
993
|
if (ret == 0) {
|
|
992
994
|
return IOStatus::OK();
|
|
993
995
|
}
|
|
994
|
-
return IOError("While fadvise not needed. Offset " +
|
|
995
|
-
" len" +
|
|
996
|
+
return IOError("While fadvise not needed. Offset " + std::to_string(offset) +
|
|
997
|
+
" len" + std::to_string(length),
|
|
996
998
|
filename_, errno);
|
|
997
999
|
#endif
|
|
998
1000
|
}
|
|
@@ -1244,9 +1246,9 @@ IOStatus PosixMmapFile::Allocate(uint64_t offset, uint64_t len,
|
|
|
1244
1246
|
if (alloc_status == 0) {
|
|
1245
1247
|
return IOStatus::OK();
|
|
1246
1248
|
} else {
|
|
1247
|
-
return IOError(
|
|
1248
|
-
|
|
1249
|
-
|
|
1249
|
+
return IOError("While fallocate offset " + std::to_string(offset) +
|
|
1250
|
+
" len " + std::to_string(len),
|
|
1251
|
+
filename_, errno);
|
|
1250
1252
|
}
|
|
1251
1253
|
}
|
|
1252
1254
|
#endif
|
|
@@ -1311,7 +1313,7 @@ IOStatus PosixWritableFile::PositionedAppend(const Slice& data, uint64_t offset,
|
|
|
1311
1313
|
const char* src = data.data();
|
|
1312
1314
|
size_t nbytes = data.size();
|
|
1313
1315
|
if (!PosixPositionedWrite(fd_, src, nbytes, static_cast<off_t>(offset))) {
|
|
1314
|
-
return IOError("While pwrite to file at offset " +
|
|
1316
|
+
return IOError("While pwrite to file at offset " + std::to_string(offset),
|
|
1315
1317
|
filename_, errno);
|
|
1316
1318
|
}
|
|
1317
1319
|
filesize_ = offset + nbytes;
|
|
@@ -1323,8 +1325,8 @@ IOStatus PosixWritableFile::Truncate(uint64_t size, const IOOptions& /*opts*/,
|
|
|
1323
1325
|
IOStatus s;
|
|
1324
1326
|
int r = ftruncate(fd_, size);
|
|
1325
1327
|
if (r < 0) {
|
|
1326
|
-
s = IOError("While ftruncate file to size " +
|
|
1327
|
-
errno);
|
|
1328
|
+
s = IOError("While ftruncate file to size " + std::to_string(size),
|
|
1329
|
+
filename_, errno);
|
|
1328
1330
|
} else {
|
|
1329
1331
|
filesize_ = size;
|
|
1330
1332
|
}
|
|
@@ -1481,9 +1483,9 @@ IOStatus PosixWritableFile::Allocate(uint64_t offset, uint64_t len,
|
|
|
1481
1483
|
if (alloc_status == 0) {
|
|
1482
1484
|
return IOStatus::OK();
|
|
1483
1485
|
} else {
|
|
1484
|
-
return IOError(
|
|
1485
|
-
|
|
1486
|
-
|
|
1486
|
+
return IOError("While fallocate offset " + std::to_string(offset) +
|
|
1487
|
+
" len " + std::to_string(len),
|
|
1488
|
+
filename_, errno);
|
|
1487
1489
|
}
|
|
1488
1490
|
}
|
|
1489
1491
|
#endif
|
|
@@ -1508,7 +1510,7 @@ IOStatus PosixWritableFile::RangeSync(uint64_t offset, uint64_t nbytes,
|
|
|
1508
1510
|
static_cast<off_t>(nbytes), SYNC_FILE_RANGE_WRITE);
|
|
1509
1511
|
}
|
|
1510
1512
|
if (ret != 0) {
|
|
1511
|
-
return IOError("While sync_file_range returned " +
|
|
1513
|
+
return IOError("While sync_file_range returned " + std::to_string(ret),
|
|
1512
1514
|
filename_, errno);
|
|
1513
1515
|
}
|
|
1514
1516
|
return IOStatus::OK();
|
|
@@ -1544,9 +1546,9 @@ IOStatus PosixRandomRWFile::Write(uint64_t offset, const Slice& data,
|
|
|
1544
1546
|
const char* src = data.data();
|
|
1545
1547
|
size_t nbytes = data.size();
|
|
1546
1548
|
if (!PosixPositionedWrite(fd_, src, nbytes, static_cast<off_t>(offset))) {
|
|
1547
|
-
return IOError(
|
|
1548
|
-
|
|
1549
|
-
|
|
1549
|
+
return IOError("While write random read/write file at offset " +
|
|
1550
|
+
std::to_string(offset),
|
|
1551
|
+
filename_, errno);
|
|
1550
1552
|
}
|
|
1551
1553
|
|
|
1552
1554
|
return IOStatus::OK();
|
|
@@ -1566,7 +1568,7 @@ IOStatus PosixRandomRWFile::Read(uint64_t offset, size_t n,
|
|
|
1566
1568
|
continue;
|
|
1567
1569
|
}
|
|
1568
1570
|
return IOError("While reading random read/write file offset " +
|
|
1569
|
-
|
|
1571
|
+
std::to_string(offset) + " len " + std::to_string(n),
|
|
1570
1572
|
filename_, errno);
|
|
1571
1573
|
} else if (done == 0) {
|
|
1572
1574
|
// Nothing more to read
|
|
@@ -30,7 +30,7 @@ class DeleteSchedulerTest : public testing::Test {
|
|
|
30
30
|
for (size_t i = 0; i < kNumDataDirs; ++i) {
|
|
31
31
|
dummy_files_dirs_.emplace_back(
|
|
32
32
|
test::PerThreadDBPath(env_, "delete_scheduler_dummy_data_dir") +
|
|
33
|
-
|
|
33
|
+
std::to_string(i));
|
|
34
34
|
DestroyAndCreateDir(dummy_files_dirs_.back());
|
|
35
35
|
}
|
|
36
36
|
stats_ = ROCKSDB_NAMESPACE::CreateDBStatistics();
|
|
@@ -153,7 +153,7 @@ TEST_F(DeleteSchedulerTest, BasicRateLimiting) {
|
|
|
153
153
|
// Create 100 dummy files, every file is 1 Kb
|
|
154
154
|
std::vector<std::string> generated_files;
|
|
155
155
|
for (int i = 0; i < num_files; i++) {
|
|
156
|
-
std::string file_name = "file" +
|
|
156
|
+
std::string file_name = "file" + std::to_string(i) + ".data";
|
|
157
157
|
generated_files.push_back(NewDummyFile(file_name, file_size));
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -265,7 +265,7 @@ TEST_F(DeleteSchedulerTest, RateLimitingMultiThreaded) {
|
|
|
265
265
|
// Create 100 dummy files, every file is 1 Kb
|
|
266
266
|
std::vector<std::string> generated_files;
|
|
267
267
|
for (int i = 0; i < num_files * thread_cnt; i++) {
|
|
268
|
-
std::string file_name = "file" +
|
|
268
|
+
std::string file_name = "file" + std::to_string(i) + ".data";
|
|
269
269
|
generated_files.push_back(NewDummyFile(file_name, file_size));
|
|
270
270
|
}
|
|
271
271
|
|
|
@@ -405,7 +405,7 @@ TEST_F(DeleteSchedulerTest, BackgroundError) {
|
|
|
405
405
|
|
|
406
406
|
// Generate 10 dummy files and move them to trash
|
|
407
407
|
for (int i = 0; i < 10; i++) {
|
|
408
|
-
std::string file_name = "data_" +
|
|
408
|
+
std::string file_name = "data_" + std::to_string(i) + ".data";
|
|
409
409
|
ASSERT_OK(delete_scheduler_->DeleteFile(NewDummyFile(file_name), ""));
|
|
410
410
|
}
|
|
411
411
|
ASSERT_EQ(CountNormalFiles(), 0);
|
|
@@ -415,7 +415,7 @@ TEST_F(DeleteSchedulerTest, BackgroundError) {
|
|
|
415
415
|
// BackgroundEmptyTrash since we already deleted the files it was
|
|
416
416
|
// goind to delete
|
|
417
417
|
for (int i = 0; i < 10; i++) {
|
|
418
|
-
std::string file_name = "data_" +
|
|
418
|
+
std::string file_name = "data_" + std::to_string(i) + ".data.trash";
|
|
419
419
|
ASSERT_OK(env_->DeleteFile(dummy_files_dirs_[0] + "/" + file_name));
|
|
420
420
|
}
|
|
421
421
|
|
|
@@ -455,7 +455,7 @@ TEST_F(DeleteSchedulerTest, StartBGEmptyTrashMultipleTimes) {
|
|
|
455
455
|
for (int run = 1; run <= 5; run++) {
|
|
456
456
|
// Generate kTestFileNum dummy files and move them to trash
|
|
457
457
|
for (int i = 0; i < kTestFileNum; i++) {
|
|
458
|
-
std::string file_name = "data_" +
|
|
458
|
+
std::string file_name = "data_" + std::to_string(i) + ".data";
|
|
459
459
|
ASSERT_OK(delete_scheduler_->DeleteFile(NewDummyFile(file_name), ""));
|
|
460
460
|
}
|
|
461
461
|
ASSERT_EQ(CountNormalFiles(), 0);
|
|
@@ -555,7 +555,7 @@ TEST_F(DeleteSchedulerTest, DestructorWithNonEmptyQueue) {
|
|
|
555
555
|
NewDeleteScheduler();
|
|
556
556
|
|
|
557
557
|
for (int i = 0; i < 100; i++) {
|
|
558
|
-
std::string file_name = "data_" +
|
|
558
|
+
std::string file_name = "data_" + std::to_string(i) + ".data";
|
|
559
559
|
ASSERT_OK(delete_scheduler_->DeleteFile(NewDummyFile(file_name), ""));
|
|
560
560
|
}
|
|
561
561
|
|
|
@@ -610,7 +610,7 @@ TEST_F(DeleteSchedulerTest, DISABLED_DynamicRateLimiting1) {
|
|
|
610
610
|
// Create 100 dummy files, every file is 1 Kb
|
|
611
611
|
std::vector<std::string> generated_files;
|
|
612
612
|
for (int i = 0; i < num_files; i++) {
|
|
613
|
-
std::string file_name = "file" +
|
|
613
|
+
std::string file_name = "file" + std::to_string(i) + ".data";
|
|
614
614
|
generated_files.push_back(NewDummyFile(file_name, file_size));
|
|
615
615
|
}
|
|
616
616
|
|
|
@@ -671,7 +671,7 @@ TEST_F(DeleteSchedulerTest, ImmediateDeleteOn25PercDBSize) {
|
|
|
671
671
|
|
|
672
672
|
std::vector<std::string> generated_files;
|
|
673
673
|
for (int i = 0; i < num_files; i++) {
|
|
674
|
-
std::string file_name = "file" +
|
|
674
|
+
std::string file_name = "file" + std::to_string(i) + ".data";
|
|
675
675
|
generated_files.push_back(NewDummyFile(file_name, file_size));
|
|
676
676
|
}
|
|
677
677
|
|