@nxtedition/rocksdb 13.5.7 → 13.5.9
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 +248 -70
- package/binding.gyp +2 -2
- package/deps/rocksdb/rocksdb/BUCK +12 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
- package/deps/rocksdb/rocksdb/Makefile +28 -23
- package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
- package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
- package/deps/rocksdb/rocksdb/db/builder.h +5 -4
- package/deps/rocksdb/rocksdb/db/c.cc +556 -15
- package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
- package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
- package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
- package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
- package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
- package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
- package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
- package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
- package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
- package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
- package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
- package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
- package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
- package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
- package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
- package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
- package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
- package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
- package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
- package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
- package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
- package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
- package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
- package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
- package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
- package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
- package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
- package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
- package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
- package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
- package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
- package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
- package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
- package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
- package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
- package/deps/rocksdb/rocksdb/env/env.cc +32 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
- package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
- package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
- package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
- package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
- package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
- package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
- package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
- package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
- package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
- package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
- package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
- package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
- package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
- package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
- package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
- package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
- package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
- package/deps/rocksdb/rocksdb/options/options.cc +296 -305
- package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
- package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
- package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
- package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
- package/deps/rocksdb/rocksdb/port/lang.h +2 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
- package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
- package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
- package/deps/rocksdb/rocksdb/src.mk +17 -11
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
- package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
- package/deps/rocksdb/rocksdb/table/format.cc +62 -44
- package/deps/rocksdb/rocksdb/table/format.h +35 -12
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
- package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
- package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
- package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
- package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
- package/deps/rocksdb/rocksdb/util/compression.h +348 -232
- package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
- package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
- package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
- package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
- package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
- package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
- package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
- package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
- package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
- package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
- package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
- package/deps/rocksdb/rocksdb.gyp +9 -4
- package/index.js +50 -9
- package/package.json +8 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
|
@@ -135,57 +135,6 @@ class DeleteFileTest : public DBTestBase {
|
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
|
|
138
|
-
TEST_F(DeleteFileTest, AddKeysAndQueryLevels) {
|
|
139
|
-
Options options = CurrentOptions();
|
|
140
|
-
SetOptions(&options);
|
|
141
|
-
Destroy(options);
|
|
142
|
-
options.create_if_missing = true;
|
|
143
|
-
Reopen(options);
|
|
144
|
-
|
|
145
|
-
CreateTwoLevels();
|
|
146
|
-
std::vector<LiveFileMetaData> metadata;
|
|
147
|
-
db_->GetLiveFilesMetaData(&metadata);
|
|
148
|
-
|
|
149
|
-
std::string level1file;
|
|
150
|
-
int level1keycount = 0;
|
|
151
|
-
std::string level2file;
|
|
152
|
-
int level2keycount = 0;
|
|
153
|
-
int level1index = 0;
|
|
154
|
-
int level2index = 1;
|
|
155
|
-
|
|
156
|
-
ASSERT_EQ((int)metadata.size(), 2);
|
|
157
|
-
if (metadata[0].level == 2) {
|
|
158
|
-
level1index = 1;
|
|
159
|
-
level2index = 0;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
level1file = metadata[level1index].name;
|
|
163
|
-
int startkey = atoi(metadata[level1index].smallestkey.c_str());
|
|
164
|
-
int endkey = atoi(metadata[level1index].largestkey.c_str());
|
|
165
|
-
level1keycount = (endkey - startkey + 1);
|
|
166
|
-
level2file = metadata[level2index].name;
|
|
167
|
-
startkey = atoi(metadata[level2index].smallestkey.c_str());
|
|
168
|
-
endkey = atoi(metadata[level2index].largestkey.c_str());
|
|
169
|
-
level2keycount = (endkey - startkey + 1);
|
|
170
|
-
|
|
171
|
-
// COntrolled setup. Levels 1 and 2 should both have 50K files.
|
|
172
|
-
// This is a little fragile as it depends on the current
|
|
173
|
-
// compaction heuristics.
|
|
174
|
-
ASSERT_EQ(level1keycount, 50000);
|
|
175
|
-
ASSERT_EQ(level2keycount, 50000);
|
|
176
|
-
|
|
177
|
-
Status status = db_->DeleteFile("0.sst");
|
|
178
|
-
ASSERT_TRUE(status.IsInvalidArgument());
|
|
179
|
-
|
|
180
|
-
// intermediate level files cannot be deleted.
|
|
181
|
-
status = db_->DeleteFile(level1file);
|
|
182
|
-
ASSERT_TRUE(status.IsInvalidArgument());
|
|
183
|
-
|
|
184
|
-
// Lowest level file deletion should succeed.
|
|
185
|
-
status = db_->DeleteFile(level2file);
|
|
186
|
-
ASSERT_OK(status);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
138
|
TEST_F(DeleteFileTest, PurgeObsoleteFilesTest) {
|
|
190
139
|
Options options = CurrentOptions();
|
|
191
140
|
SetOptions(&options);
|
|
@@ -496,145 +445,6 @@ TEST_F(DeleteFileTest, BackgroundPurgeTestMultipleJobs) {
|
|
|
496
445
|
CheckFileTypeCounts(dbname_, 0, 1, 1);
|
|
497
446
|
}
|
|
498
447
|
|
|
499
|
-
TEST_F(DeleteFileTest, DeleteFileWithIterator) {
|
|
500
|
-
Options options = CurrentOptions();
|
|
501
|
-
SetOptions(&options);
|
|
502
|
-
Destroy(options);
|
|
503
|
-
options.create_if_missing = true;
|
|
504
|
-
Reopen(options);
|
|
505
|
-
|
|
506
|
-
CreateTwoLevels();
|
|
507
|
-
ReadOptions read_options;
|
|
508
|
-
Iterator* it = db_->NewIterator(read_options);
|
|
509
|
-
ASSERT_OK(it->status());
|
|
510
|
-
std::vector<LiveFileMetaData> metadata;
|
|
511
|
-
db_->GetLiveFilesMetaData(&metadata);
|
|
512
|
-
|
|
513
|
-
std::string level2file;
|
|
514
|
-
|
|
515
|
-
ASSERT_EQ(metadata.size(), static_cast<size_t>(2));
|
|
516
|
-
if (metadata[0].level == 1) {
|
|
517
|
-
level2file = metadata[1].name;
|
|
518
|
-
} else {
|
|
519
|
-
level2file = metadata[0].name;
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
Status status = db_->DeleteFile(level2file);
|
|
523
|
-
fprintf(stdout, "Deletion status %s: %s\n", level2file.c_str(),
|
|
524
|
-
status.ToString().c_str());
|
|
525
|
-
ASSERT_OK(status);
|
|
526
|
-
it->SeekToFirst();
|
|
527
|
-
int numKeysIterated = 0;
|
|
528
|
-
while (it->Valid()) {
|
|
529
|
-
numKeysIterated++;
|
|
530
|
-
it->Next();
|
|
531
|
-
}
|
|
532
|
-
ASSERT_EQ(numKeysIterated, 50000);
|
|
533
|
-
delete it;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
TEST_F(DeleteFileTest, DeleteLogFiles) {
|
|
537
|
-
Options options = CurrentOptions();
|
|
538
|
-
SetOptions(&options);
|
|
539
|
-
Destroy(options);
|
|
540
|
-
options.create_if_missing = true;
|
|
541
|
-
Reopen(options);
|
|
542
|
-
|
|
543
|
-
AddKeys(10, 0);
|
|
544
|
-
VectorLogPtr logfiles;
|
|
545
|
-
ASSERT_OK(db_->GetSortedWalFiles(logfiles));
|
|
546
|
-
ASSERT_GT(logfiles.size(), 0UL);
|
|
547
|
-
// Take the last log file which is expected to be alive and try to delete it
|
|
548
|
-
// Should not succeed because live logs are not allowed to be deleted
|
|
549
|
-
std::unique_ptr<LogFile> alive_log = std::move(logfiles.back());
|
|
550
|
-
ASSERT_EQ(alive_log->Type(), kAliveLogFile);
|
|
551
|
-
ASSERT_OK(env_->FileExists(wal_dir_ + "/" + alive_log->PathName()));
|
|
552
|
-
fprintf(stdout, "Deleting alive log file %s\n",
|
|
553
|
-
alive_log->PathName().c_str());
|
|
554
|
-
ASSERT_NOK(db_->DeleteFile(alive_log->PathName()));
|
|
555
|
-
ASSERT_OK(env_->FileExists(wal_dir_ + "/" + alive_log->PathName()));
|
|
556
|
-
logfiles.clear();
|
|
557
|
-
|
|
558
|
-
// Call Flush to bring about a new working log file and add more keys
|
|
559
|
-
// Call Flush again to flush out memtable and move alive log to archived log
|
|
560
|
-
// and try to delete the archived log file
|
|
561
|
-
FlushOptions fopts;
|
|
562
|
-
ASSERT_OK(db_->Flush(fopts));
|
|
563
|
-
AddKeys(10, 0);
|
|
564
|
-
ASSERT_OK(db_->Flush(fopts));
|
|
565
|
-
ASSERT_OK(db_->GetSortedWalFiles(logfiles));
|
|
566
|
-
ASSERT_GT(logfiles.size(), 0UL);
|
|
567
|
-
std::unique_ptr<LogFile> archived_log = std::move(logfiles.front());
|
|
568
|
-
ASSERT_EQ(archived_log->Type(), kArchivedLogFile);
|
|
569
|
-
ASSERT_OK(env_->FileExists(wal_dir_ + "/" + archived_log->PathName()));
|
|
570
|
-
fprintf(stdout, "Deleting archived log file %s\n",
|
|
571
|
-
archived_log->PathName().c_str());
|
|
572
|
-
ASSERT_OK(db_->DeleteFile(archived_log->PathName()));
|
|
573
|
-
ASSERT_TRUE(
|
|
574
|
-
env_->FileExists(wal_dir_ + "/" + archived_log->PathName()).IsNotFound());
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
TEST_F(DeleteFileTest, DeleteNonDefaultColumnFamily) {
|
|
578
|
-
Options options = CurrentOptions();
|
|
579
|
-
SetOptions(&options);
|
|
580
|
-
Destroy(options);
|
|
581
|
-
options.create_if_missing = true;
|
|
582
|
-
Reopen(options);
|
|
583
|
-
CreateAndReopenWithCF({"new_cf"}, options);
|
|
584
|
-
|
|
585
|
-
Random rnd(5);
|
|
586
|
-
for (int i = 0; i < 1000; ++i) {
|
|
587
|
-
ASSERT_OK(db_->Put(WriteOptions(), handles_[1], test::RandomKey(&rnd, 10),
|
|
588
|
-
test::RandomKey(&rnd, 10)));
|
|
589
|
-
}
|
|
590
|
-
ASSERT_OK(db_->Flush(FlushOptions(), handles_[1]));
|
|
591
|
-
for (int i = 0; i < 1000; ++i) {
|
|
592
|
-
ASSERT_OK(db_->Put(WriteOptions(), handles_[1], test::RandomKey(&rnd, 10),
|
|
593
|
-
test::RandomKey(&rnd, 10)));
|
|
594
|
-
}
|
|
595
|
-
ASSERT_OK(db_->Flush(FlushOptions(), handles_[1]));
|
|
596
|
-
|
|
597
|
-
std::vector<LiveFileMetaData> metadata;
|
|
598
|
-
db_->GetLiveFilesMetaData(&metadata);
|
|
599
|
-
ASSERT_EQ(2U, metadata.size());
|
|
600
|
-
ASSERT_EQ("new_cf", metadata[0].column_family_name);
|
|
601
|
-
ASSERT_EQ("new_cf", metadata[1].column_family_name);
|
|
602
|
-
auto old_file = metadata[0].smallest_seqno < metadata[1].smallest_seqno
|
|
603
|
-
? metadata[0].name
|
|
604
|
-
: metadata[1].name;
|
|
605
|
-
auto new_file = metadata[0].smallest_seqno > metadata[1].smallest_seqno
|
|
606
|
-
? metadata[0].name
|
|
607
|
-
: metadata[1].name;
|
|
608
|
-
ASSERT_TRUE(db_->DeleteFile(new_file).IsInvalidArgument());
|
|
609
|
-
ASSERT_OK(db_->DeleteFile(old_file));
|
|
610
|
-
|
|
611
|
-
{
|
|
612
|
-
std::unique_ptr<Iterator> itr(db_->NewIterator(ReadOptions(), handles_[1]));
|
|
613
|
-
ASSERT_OK(itr->status());
|
|
614
|
-
int count = 0;
|
|
615
|
-
for (itr->SeekToFirst(); itr->Valid(); itr->Next()) {
|
|
616
|
-
ASSERT_OK(itr->status());
|
|
617
|
-
++count;
|
|
618
|
-
}
|
|
619
|
-
ASSERT_OK(itr->status());
|
|
620
|
-
ASSERT_EQ(count, 1000);
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
Close();
|
|
624
|
-
ReopenWithColumnFamilies({kDefaultColumnFamilyName, "new_cf"}, options);
|
|
625
|
-
|
|
626
|
-
{
|
|
627
|
-
std::unique_ptr<Iterator> itr(db_->NewIterator(ReadOptions(), handles_[1]));
|
|
628
|
-
int count = 0;
|
|
629
|
-
for (itr->SeekToFirst(); itr->Valid(); itr->Next()) {
|
|
630
|
-
ASSERT_OK(itr->status());
|
|
631
|
-
++count;
|
|
632
|
-
}
|
|
633
|
-
ASSERT_OK(itr->status());
|
|
634
|
-
ASSERT_EQ(count, 1000);
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
|
|
638
448
|
} // namespace ROCKSDB_NAMESPACE
|
|
639
449
|
|
|
640
450
|
int main(int argc, char** argv) {
|
|
@@ -227,7 +227,7 @@ std::map<std::tuple<BackgroundErrorReason, bool>, Status::Severity>
|
|
|
227
227
|
Status::Severity::kFatalError},
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
-
void ErrorHandler::
|
|
230
|
+
void ErrorHandler::CancelErrorRecoveryForShutDown() {
|
|
231
231
|
db_mutex_->AssertHeld();
|
|
232
232
|
|
|
233
233
|
// We'll release the lock before calling sfm, so make sure no new
|
|
@@ -275,9 +275,6 @@ void ErrorHandler::HandleKnownErrors(const Status& bg_err,
|
|
|
275
275
|
return;
|
|
276
276
|
}
|
|
277
277
|
|
|
278
|
-
ROCKS_LOG_INFO(db_options_.info_log,
|
|
279
|
-
"ErrorHandler: Set regular background error\n");
|
|
280
|
-
|
|
281
278
|
bool paranoid = db_options_.paranoid_checks;
|
|
282
279
|
Status::Severity sev = Status::Severity::kFatalError;
|
|
283
280
|
Status new_bg_err;
|
|
@@ -335,12 +332,21 @@ void ErrorHandler::HandleKnownErrors(const Status& bg_err,
|
|
|
335
332
|
if (!s.ok() && (s.severity() > bg_error_.severity())) {
|
|
336
333
|
bg_error_ = s;
|
|
337
334
|
} else {
|
|
335
|
+
ROCKS_LOG_INFO(db_options_.info_log,
|
|
336
|
+
"ErrorHandler: Hit less severe background error\n");
|
|
337
|
+
|
|
338
338
|
// This error is less severe than previously encountered error. Don't
|
|
339
339
|
// take any further action
|
|
340
340
|
return;
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
|
|
344
|
+
bool stop = bg_error_.severity() >= Status::Severity::kHardError;
|
|
345
|
+
ROCKS_LOG_INFO(
|
|
346
|
+
db_options_.info_log,
|
|
347
|
+
"ErrorHandler: Set regular background error, auto_recovery=%d, stop=%d\n",
|
|
348
|
+
int{auto_recovery}, int{stop});
|
|
349
|
+
|
|
344
350
|
recover_context_ = context;
|
|
345
351
|
if (auto_recovery) {
|
|
346
352
|
recovery_in_prog_ = true;
|
|
@@ -351,7 +357,7 @@ void ErrorHandler::HandleKnownErrors(const Status& bg_err,
|
|
|
351
357
|
RecoverFromNoSpace();
|
|
352
358
|
}
|
|
353
359
|
}
|
|
354
|
-
if (
|
|
360
|
+
if (stop) {
|
|
355
361
|
is_db_stopped_.store(true, std::memory_order_release);
|
|
356
362
|
}
|
|
357
363
|
}
|
|
@@ -573,6 +579,8 @@ Status ErrorHandler::ClearBGError() {
|
|
|
573
579
|
|
|
574
580
|
// Signal that recovery succeeded
|
|
575
581
|
if (recovery_error_.ok()) {
|
|
582
|
+
// If this assertion fails, it means likely bg error is not set after a
|
|
583
|
+
// file is quarantined during MANIFEST write.
|
|
576
584
|
assert(files_to_quarantine_.empty());
|
|
577
585
|
Status old_bg_error = bg_error_;
|
|
578
586
|
// old_bg_error is only for notifying listeners, so may not be checked
|
|
@@ -585,8 +593,15 @@ Status ErrorHandler::ClearBGError() {
|
|
|
585
593
|
recovery_error_.PermitUncheckedError();
|
|
586
594
|
recovery_in_prog_ = false;
|
|
587
595
|
soft_error_no_bg_work_ = false;
|
|
588
|
-
|
|
589
|
-
|
|
596
|
+
if (!db_->shutdown_initiated_) {
|
|
597
|
+
// NotifyOnErrorRecoveryEnd() may release and re-acquire db_mutex_.
|
|
598
|
+
// Prevent DB from being closed while we notify listeners. DB close will
|
|
599
|
+
// wait until allow_db_shutdown_ = true, see ReadyForShutdown().
|
|
600
|
+
allow_db_shutdown_ = false;
|
|
601
|
+
EventHelpers::NotifyOnErrorRecoveryEnd(
|
|
602
|
+
db_options_.listeners, old_bg_error, bg_error_, db_mutex_);
|
|
603
|
+
allow_db_shutdown_ = true;
|
|
604
|
+
}
|
|
590
605
|
}
|
|
591
606
|
return recovery_error_;
|
|
592
607
|
}
|
|
@@ -44,6 +44,7 @@ class ErrorHandler {
|
|
|
44
44
|
auto_recovery_(false),
|
|
45
45
|
recovery_in_prog_(false),
|
|
46
46
|
soft_error_no_bg_work_(false),
|
|
47
|
+
allow_db_shutdown_(true),
|
|
47
48
|
is_db_stopped_(false),
|
|
48
49
|
bg_error_stats_(db_options.statistics) {
|
|
49
50
|
// Clear the checked flag for uninitialized errors
|
|
@@ -63,6 +64,12 @@ class ErrorHandler {
|
|
|
63
64
|
|
|
64
65
|
Status GetRecoveryError() const { return recovery_error_; }
|
|
65
66
|
|
|
67
|
+
// REQUIREs: db mutex held
|
|
68
|
+
//
|
|
69
|
+
// Returns non-OK status if encountered error during recovery.
|
|
70
|
+
// Returns OK if bg error is successfully cleared. May releases and
|
|
71
|
+
// re-acquire db mutex to notify listeners. However, DB close (if initiated)
|
|
72
|
+
// will be blocked until db mutex is released after return.
|
|
66
73
|
Status ClearBGError();
|
|
67
74
|
|
|
68
75
|
bool IsDBStopped() { return is_db_stopped_.load(std::memory_order_acquire); }
|
|
@@ -79,8 +86,14 @@ class ErrorHandler {
|
|
|
79
86
|
|
|
80
87
|
bool IsRecoveryInProgress() { return recovery_in_prog_; }
|
|
81
88
|
|
|
89
|
+
// REQUIRES: db mutex held
|
|
90
|
+
bool ReadyForShutdown() {
|
|
91
|
+
db_mutex_->AssertHeld();
|
|
92
|
+
return !recovery_in_prog_ && allow_db_shutdown_;
|
|
93
|
+
}
|
|
94
|
+
|
|
82
95
|
Status RecoverFromBGError(bool is_manual = false);
|
|
83
|
-
void
|
|
96
|
+
void CancelErrorRecoveryForShutDown();
|
|
84
97
|
|
|
85
98
|
void EndAutoRecovery();
|
|
86
99
|
|
|
@@ -121,6 +134,8 @@ class ErrorHandler {
|
|
|
121
134
|
// A flag to indicate that for the soft error, we should not allow any
|
|
122
135
|
// background work except the work is from recovery.
|
|
123
136
|
bool soft_error_no_bg_work_;
|
|
137
|
+
// Used in ClearBGError() to prevent DB from being closed.
|
|
138
|
+
bool allow_db_shutdown_;
|
|
124
139
|
|
|
125
140
|
// Used to store the context for recover, such as flush reason.
|
|
126
141
|
DBRecoverContext recover_context_;
|
|
@@ -77,13 +77,17 @@ void EventHelpers::LogAndNotifyTableFileCreationFinished(
|
|
|
77
77
|
TableFileCreationReason reason, const Status& s,
|
|
78
78
|
const std::string& file_checksum,
|
|
79
79
|
const std::string& file_checksum_func_name) {
|
|
80
|
-
if (
|
|
80
|
+
if (!event_logger && listeners.empty()) {
|
|
81
|
+
s.PermitUncheckedError();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (event_logger) {
|
|
81
86
|
JSONWriter jwriter;
|
|
82
87
|
AppendCurrentTime(&jwriter);
|
|
83
88
|
jwriter << "cf_name" << cf_name << "job" << job_id << "event"
|
|
84
|
-
<< "table_file_creation"
|
|
85
|
-
<< "
|
|
86
|
-
<< fd.GetFileSize() << "file_checksum"
|
|
89
|
+
<< "table_file_creation" << "file_number" << fd.GetNumber()
|
|
90
|
+
<< "file_size" << fd.GetFileSize() << "file_checksum"
|
|
87
91
|
<< Slice(file_checksum).ToString(true) << "file_checksum_func_name"
|
|
88
92
|
<< file_checksum_func_name << "smallest_seqno" << fd.smallest_seqno
|
|
89
93
|
<< "largest_seqno" << fd.largest_seqno;
|
|
@@ -166,6 +170,8 @@ void EventHelpers::LogAndNotifyTableFileCreationFinished(
|
|
|
166
170
|
jwriter << "oldest_blob_file_number" << oldest_blob_file_number;
|
|
167
171
|
}
|
|
168
172
|
|
|
173
|
+
jwriter << "status" << s.ToString();
|
|
174
|
+
|
|
169
175
|
jwriter.EndObject();
|
|
170
176
|
|
|
171
177
|
event_logger->Log(jwriter);
|
|
@@ -196,19 +202,22 @@ void EventHelpers::LogAndNotifyTableFileDeletion(
|
|
|
196
202
|
const std::string& file_path, const Status& status,
|
|
197
203
|
const std::string& dbname,
|
|
198
204
|
const std::vector<std::shared_ptr<EventListener>>& listeners) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
jwriter << "job" << job_id << "event"
|
|
203
|
-
<< "table_file_deletion"
|
|
204
|
-
<< "file_number" << file_number;
|
|
205
|
-
if (!status.ok()) {
|
|
206
|
-
jwriter << "status" << status.ToString();
|
|
205
|
+
if (!event_logger && listeners.empty()) {
|
|
206
|
+
status.PermitUncheckedError();
|
|
207
|
+
return;
|
|
207
208
|
}
|
|
208
209
|
|
|
209
|
-
|
|
210
|
+
if (event_logger) {
|
|
211
|
+
JSONWriter jwriter;
|
|
212
|
+
AppendCurrentTime(&jwriter);
|
|
213
|
+
|
|
214
|
+
jwriter << "job" << job_id << "event" << "table_file_deletion"
|
|
215
|
+
<< "file_number" << file_number << "status" << status.ToString();
|
|
216
|
+
|
|
217
|
+
jwriter.EndObject();
|
|
210
218
|
|
|
211
|
-
|
|
219
|
+
event_logger->Log(jwriter);
|
|
220
|
+
}
|
|
212
221
|
|
|
213
222
|
if (listeners.empty()) {
|
|
214
223
|
return;
|
|
@@ -276,15 +285,20 @@ void EventHelpers::LogAndNotifyBlobFileCreationFinished(
|
|
|
276
285
|
const std::string& file_checksum,
|
|
277
286
|
const std::string& file_checksum_func_name, uint64_t total_blob_count,
|
|
278
287
|
uint64_t total_blob_bytes) {
|
|
279
|
-
if (
|
|
288
|
+
if (!event_logger && listeners.empty()) {
|
|
289
|
+
s.PermitUncheckedError();
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (event_logger) {
|
|
280
294
|
JSONWriter jwriter;
|
|
281
295
|
AppendCurrentTime(&jwriter);
|
|
282
296
|
jwriter << "cf_name" << cf_name << "job" << job_id << "event"
|
|
283
|
-
<< "blob_file_creation"
|
|
284
|
-
<< "
|
|
285
|
-
<<
|
|
286
|
-
<< "
|
|
287
|
-
<<
|
|
297
|
+
<< "blob_file_creation" << "file_number" << file_number
|
|
298
|
+
<< "total_blob_count" << total_blob_count << "total_blob_bytes"
|
|
299
|
+
<< total_blob_bytes << "file_checksum" << file_checksum
|
|
300
|
+
<< "file_checksum_func_name" << file_checksum_func_name << "status"
|
|
301
|
+
<< s.ToString();
|
|
288
302
|
|
|
289
303
|
jwriter.EndObject();
|
|
290
304
|
event_logger->Log(jwriter);
|
|
@@ -307,16 +321,17 @@ void EventHelpers::LogAndNotifyBlobFileDeletion(
|
|
|
307
321
|
const std::vector<std::shared_ptr<EventListener>>& listeners, int job_id,
|
|
308
322
|
uint64_t file_number, const std::string& file_path, const Status& status,
|
|
309
323
|
const std::string& dbname) {
|
|
324
|
+
if (!event_logger && listeners.empty()) {
|
|
325
|
+
status.PermitUncheckedError();
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
|
|
310
329
|
if (event_logger) {
|
|
311
330
|
JSONWriter jwriter;
|
|
312
331
|
AppendCurrentTime(&jwriter);
|
|
313
332
|
|
|
314
|
-
jwriter << "job" << job_id << "event"
|
|
315
|
-
<< "
|
|
316
|
-
<< "file_number" << file_number;
|
|
317
|
-
if (!status.ok()) {
|
|
318
|
-
jwriter << "status" << status.ToString();
|
|
319
|
-
}
|
|
333
|
+
jwriter << "job" << job_id << "event" << "blob_file_deletion"
|
|
334
|
+
<< "file_number" << file_number << "status" << status.ToString();
|
|
320
335
|
|
|
321
336
|
jwriter.EndObject();
|
|
322
337
|
event_logger->Log(jwriter);
|
|
@@ -37,7 +37,6 @@ Status PromoteL0(DB* db, ColumnFamilyHandle* column_family, int target_level) {
|
|
|
37
37
|
return db->PromoteL0(column_family, target_level);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
41
40
|
Status SuggestCompactRange(DB* db, const Slice* begin, const Slice* end) {
|
|
42
41
|
return SuggestCompactRange(db, db->DefaultColumnFamily(), begin, end);
|
|
43
42
|
}
|
|
@@ -58,7 +57,8 @@ Status GetFileChecksumsFromCurrentManifest(FileSystem* fs,
|
|
|
58
57
|
}
|
|
59
58
|
assert(checksum_list);
|
|
60
59
|
|
|
61
|
-
const ReadOptions read_options(
|
|
60
|
+
const ReadOptions read_options(
|
|
61
|
+
Env::IOActivity::kGetFileChecksumsFromCurrentManifest);
|
|
62
62
|
checksum_list->reset();
|
|
63
63
|
|
|
64
64
|
std::unique_ptr<SequentialFileReader> file_reader;
|
|
@@ -75,7 +75,8 @@ Status GetFileChecksumsFromCurrentManifest(FileSystem* fs,
|
|
|
75
75
|
|
|
76
76
|
struct LogReporter : public log::Reader::Reporter {
|
|
77
77
|
Status* status_ptr;
|
|
78
|
-
void Corruption(size_t /*bytes*/, const Status& st
|
|
78
|
+
void Corruption(size_t /*bytes*/, const Status& st,
|
|
79
|
+
uint64_t /*log_number*/ = kMaxSequenceNumber) override {
|
|
79
80
|
if (status_ptr->ok()) {
|
|
80
81
|
*status_ptr = st;
|
|
81
82
|
}
|