@nxtedition/rocksdb 13.5.8 → 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 +209 -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 +5 -0
- package/index.js +47 -2
- package/package.json +8 -1
- package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
- package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
|
@@ -41,17 +41,14 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
compaction_input.cf_name = compaction->column_family_data()->GetName();
|
|
44
|
-
compaction_input.snapshots =
|
|
44
|
+
compaction_input.snapshots = job_context_->snapshot_seqs;
|
|
45
45
|
compaction_input.has_begin = sub_compact->start.has_value();
|
|
46
46
|
compaction_input.begin =
|
|
47
47
|
compaction_input.has_begin ? sub_compact->start->ToString() : "";
|
|
48
48
|
compaction_input.has_end = sub_compact->end.has_value();
|
|
49
49
|
compaction_input.end =
|
|
50
50
|
compaction_input.has_end ? sub_compact->end->ToString() : "";
|
|
51
|
-
compaction_input.options_file_number =
|
|
52
|
-
sub_compact->compaction->input_version()
|
|
53
|
-
->version_set()
|
|
54
|
-
->options_file_number();
|
|
51
|
+
compaction_input.options_file_number = options_file_number_;
|
|
55
52
|
|
|
56
53
|
TEST_SYNC_POINT_CALLBACK(
|
|
57
54
|
"CompactionServiceJob::ProcessKeyValueCompactionWithCompactionService",
|
|
@@ -77,15 +74,27 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
77
74
|
compaction->column_family_data()->GetName().c_str(), job_id_,
|
|
78
75
|
compaction_input.output_level, input_files_oss.str().c_str());
|
|
79
76
|
CompactionServiceJobInfo info(
|
|
80
|
-
dbname_, db_id_, db_session_id_,
|
|
77
|
+
dbname_, db_id_, db_session_id_,
|
|
78
|
+
compaction->column_family_data()->GetID(),
|
|
79
|
+
compaction->column_family_data()->GetName(), GetCompactionId(sub_compact),
|
|
81
80
|
thread_pri_, compaction->compaction_reason(),
|
|
82
81
|
compaction->is_full_compaction(), compaction->is_manual_compaction(),
|
|
83
|
-
compaction->bottommost_level())
|
|
82
|
+
compaction->bottommost_level(), compaction->start_level(),
|
|
83
|
+
compaction->output_level());
|
|
84
|
+
|
|
84
85
|
CompactionServiceScheduleResponse response =
|
|
85
86
|
db_options_.compaction_service->Schedule(info, compaction_input_binary);
|
|
86
87
|
switch (response.status) {
|
|
87
88
|
case CompactionServiceJobStatus::kSuccess:
|
|
88
89
|
break;
|
|
90
|
+
case CompactionServiceJobStatus::kAborted:
|
|
91
|
+
sub_compact->status =
|
|
92
|
+
Status::Aborted("Scheduling a remote compaction job was aborted");
|
|
93
|
+
ROCKS_LOG_WARN(
|
|
94
|
+
db_options_.info_log,
|
|
95
|
+
"[%s] [JOB %d] Remote compaction was aborted at Schedule()",
|
|
96
|
+
compaction->column_family_data()->GetName().c_str(), job_id_);
|
|
97
|
+
return response.status;
|
|
89
98
|
case CompactionServiceJobStatus::kFailure:
|
|
90
99
|
sub_compact->status = Status::Incomplete(
|
|
91
100
|
"CompactionService failed to schedule a remote compaction job.");
|
|
@@ -105,6 +114,9 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
105
114
|
break;
|
|
106
115
|
}
|
|
107
116
|
|
|
117
|
+
std::string debug_str_before_wait =
|
|
118
|
+
compaction->input_version()->DebugString(/*hex=*/true);
|
|
119
|
+
|
|
108
120
|
ROCKS_LOG_INFO(db_options_.info_log,
|
|
109
121
|
"[%s] [JOB %d] Waiting for remote compaction...",
|
|
110
122
|
compaction->column_family_data()->GetName().c_str(), job_id_);
|
|
@@ -113,6 +125,17 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
113
125
|
db_options_.compaction_service->Wait(response.scheduled_job_id,
|
|
114
126
|
&compaction_result_binary);
|
|
115
127
|
|
|
128
|
+
if (compaction_status != CompactionServiceJobStatus::kSuccess) {
|
|
129
|
+
ROCKS_LOG_ERROR(
|
|
130
|
+
db_options_.info_log,
|
|
131
|
+
"[%s] [JOB %d] Wait() status is not kSuccess. "
|
|
132
|
+
"\nDebugString Before Wait():\n%s"
|
|
133
|
+
"\nDebugString After Wait():\n%s",
|
|
134
|
+
compaction->column_family_data()->GetName().c_str(), job_id_,
|
|
135
|
+
debug_str_before_wait.c_str(),
|
|
136
|
+
compaction->input_version()->DebugString(/*hex=*/true).c_str());
|
|
137
|
+
}
|
|
138
|
+
|
|
116
139
|
if (compaction_status == CompactionServiceJobStatus::kUseLocal) {
|
|
117
140
|
ROCKS_LOG_INFO(
|
|
118
141
|
db_options_.info_log,
|
|
@@ -121,6 +144,16 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
121
144
|
return compaction_status;
|
|
122
145
|
}
|
|
123
146
|
|
|
147
|
+
if (compaction_status == CompactionServiceJobStatus::kAborted) {
|
|
148
|
+
sub_compact->status =
|
|
149
|
+
Status::Aborted("Waiting a remote compaction job was aborted");
|
|
150
|
+
ROCKS_LOG_INFO(db_options_.info_log,
|
|
151
|
+
"[%s] [JOB %d] Remote compaction was aborted during Wait()",
|
|
152
|
+
compaction->column_family_data()->GetName().c_str(),
|
|
153
|
+
job_id_);
|
|
154
|
+
return compaction_status;
|
|
155
|
+
}
|
|
156
|
+
|
|
124
157
|
CompactionServiceResult compaction_result;
|
|
125
158
|
s = CompactionServiceResult::Read(compaction_result_binary,
|
|
126
159
|
&compaction_result);
|
|
@@ -177,7 +210,7 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
177
210
|
for (const auto& file : compaction_result.output_files) {
|
|
178
211
|
uint64_t file_num = versions_->NewFileNumber();
|
|
179
212
|
auto src_file = compaction_result.output_path + "/" + file.file_name;
|
|
180
|
-
auto tgt_file = TableFileName(compaction->immutable_options()
|
|
213
|
+
auto tgt_file = TableFileName(compaction->immutable_options().cf_paths,
|
|
181
214
|
file_num, compaction->output_path_id());
|
|
182
215
|
s = fs_->RenameFile(src_file, tgt_file, IOOptions(), nullptr);
|
|
183
216
|
if (!s.ok()) {
|
|
@@ -188,14 +221,24 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
188
221
|
}
|
|
189
222
|
|
|
190
223
|
FileMetaData meta;
|
|
191
|
-
uint64_t file_size;
|
|
192
|
-
|
|
224
|
+
uint64_t file_size = file.file_size;
|
|
225
|
+
|
|
226
|
+
// TODO - Clean this up in the next release.
|
|
227
|
+
// For backward compatibility - in case the remote worker does not populate
|
|
228
|
+
// the file_size yet. If missing, continue to populate this from the file
|
|
229
|
+
// system.
|
|
230
|
+
if (file_size == 0) {
|
|
231
|
+
s = fs_->GetFileSize(tgt_file, IOOptions(), &file_size, nullptr);
|
|
232
|
+
}
|
|
233
|
+
|
|
193
234
|
if (!s.ok()) {
|
|
194
235
|
sub_compact->status = s;
|
|
195
236
|
db_options_.compaction_service->OnInstallation(
|
|
196
237
|
response.scheduled_job_id, CompactionServiceJobStatus::kFailure);
|
|
197
238
|
return CompactionServiceJobStatus::kFailure;
|
|
198
239
|
}
|
|
240
|
+
assert(file_size > 0);
|
|
241
|
+
|
|
199
242
|
meta.fd = FileDescriptor(file_num, compaction->output_path_id(), file_size,
|
|
200
243
|
file.smallest_seqno, file.largest_seqno);
|
|
201
244
|
meta.smallest.DecodeFrom(file.smallest_internal_key);
|
|
@@ -207,19 +250,35 @@ CompactionJob::ProcessKeyValueCompactionWithCompactionService(
|
|
|
207
250
|
meta.file_checksum_func_name = file.file_checksum_func_name;
|
|
208
251
|
meta.marked_for_compaction = file.marked_for_compaction;
|
|
209
252
|
meta.unique_id = file.unique_id;
|
|
210
|
-
|
|
253
|
+
meta.temperature = file.file_temperature;
|
|
254
|
+
meta.tail_size =
|
|
255
|
+
FileMetaData::CalculateTailSize(file_size, file.table_properties);
|
|
211
256
|
auto cfd = compaction->column_family_data();
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
257
|
+
CompactionOutputs* compaction_outputs =
|
|
258
|
+
sub_compact->Outputs(file.is_proximal_level_output);
|
|
259
|
+
assert(compaction_outputs);
|
|
260
|
+
compaction_outputs->AddOutput(std::move(meta), cfd->internal_comparator(),
|
|
261
|
+
false, true, file.paranoid_hash);
|
|
262
|
+
compaction_outputs->UpdateTableProperties(file.table_properties);
|
|
216
263
|
}
|
|
264
|
+
|
|
265
|
+
// Set per-level stats
|
|
266
|
+
auto compaction_output_stats =
|
|
267
|
+
sub_compact->OutputStats(false /* is_proximal_level */);
|
|
268
|
+
assert(compaction_output_stats);
|
|
269
|
+
compaction_output_stats->Add(
|
|
270
|
+
compaction_result.internal_stats.output_level_stats);
|
|
271
|
+
if (compaction->SupportsPerKeyPlacement()) {
|
|
272
|
+
compaction_output_stats =
|
|
273
|
+
sub_compact->OutputStats(true /* is_proximal_level */);
|
|
274
|
+
assert(compaction_output_stats);
|
|
275
|
+
compaction_output_stats->Add(
|
|
276
|
+
compaction_result.internal_stats.proximal_level_stats);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Set job stats
|
|
217
280
|
sub_compact->compaction_job_stats = compaction_result.stats;
|
|
218
|
-
|
|
219
|
-
compaction_result.stats.num_output_records);
|
|
220
|
-
sub_compact->Current().SetNumOutputFiles(
|
|
221
|
-
compaction_result.stats.num_output_files);
|
|
222
|
-
sub_compact->Current().AddBytesWritten(compaction_result.bytes_written);
|
|
281
|
+
|
|
223
282
|
RecordTick(stats_, REMOTE_COMPACT_READ_BYTES, compaction_result.bytes_read);
|
|
224
283
|
RecordTick(stats_, REMOTE_COMPACT_WRITE_BYTES,
|
|
225
284
|
compaction_result.bytes_written);
|
|
@@ -239,69 +298,51 @@ void CompactionServiceCompactionJob::RecordCompactionIOStats() {
|
|
|
239
298
|
CompactionJob::RecordCompactionIOStats();
|
|
240
299
|
}
|
|
241
300
|
|
|
242
|
-
void CompactionServiceCompactionJob::UpdateCompactionJobStats(
|
|
243
|
-
const InternalStats::CompactionStats& stats) const {
|
|
244
|
-
compaction_job_stats_->elapsed_micros = stats.micros;
|
|
245
|
-
|
|
246
|
-
// output information only in remote compaction
|
|
247
|
-
compaction_job_stats_->total_output_bytes = stats.bytes_written;
|
|
248
|
-
compaction_job_stats_->total_output_bytes_blob = stats.bytes_written_blob;
|
|
249
|
-
compaction_job_stats_->num_output_records = stats.num_output_records;
|
|
250
|
-
compaction_job_stats_->num_output_files = stats.num_output_files;
|
|
251
|
-
compaction_job_stats_->num_output_files_blob = stats.num_output_files_blob;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
301
|
CompactionServiceCompactionJob::CompactionServiceCompactionJob(
|
|
255
302
|
int job_id, Compaction* compaction, const ImmutableDBOptions& db_options,
|
|
256
303
|
const MutableDBOptions& mutable_db_options, const FileOptions& file_options,
|
|
257
304
|
VersionSet* versions, const std::atomic<bool>* shutting_down,
|
|
258
305
|
LogBuffer* log_buffer, FSDirectory* output_directory, Statistics* stats,
|
|
259
306
|
InstrumentedMutex* db_mutex, ErrorHandler* db_error_handler,
|
|
260
|
-
std::
|
|
261
|
-
|
|
262
|
-
const std::
|
|
307
|
+
JobContext* job_context, std::shared_ptr<Cache> table_cache,
|
|
308
|
+
EventLogger* event_logger, const std::string& dbname,
|
|
309
|
+
const std::shared_ptr<IOTracer>& io_tracer,
|
|
263
310
|
const std::atomic<bool>& manual_compaction_canceled,
|
|
264
311
|
const std::string& db_id, const std::string& db_session_id,
|
|
265
312
|
std::string output_path,
|
|
266
313
|
const CompactionServiceInput& compaction_service_input,
|
|
267
314
|
CompactionServiceResult* compaction_service_result)
|
|
268
|
-
: CompactionJob(
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
compaction->column_family_data()->GetFullHistoryTsLow()),
|
|
315
|
+
: CompactionJob(job_id, compaction, db_options, mutable_db_options,
|
|
316
|
+
file_options, versions, shutting_down, log_buffer, nullptr,
|
|
317
|
+
output_directory, nullptr, stats, db_mutex,
|
|
318
|
+
db_error_handler, job_context, std::move(table_cache),
|
|
319
|
+
event_logger,
|
|
320
|
+
compaction->mutable_cf_options().paranoid_file_checks,
|
|
321
|
+
compaction->mutable_cf_options().report_bg_io_stats, dbname,
|
|
322
|
+
&(compaction_service_result->stats), Env::Priority::USER,
|
|
323
|
+
io_tracer, manual_compaction_canceled, db_id, db_session_id,
|
|
324
|
+
compaction->column_family_data()->GetFullHistoryTsLow()),
|
|
279
325
|
output_path_(std::move(output_path)),
|
|
280
326
|
compaction_input_(compaction_service_input),
|
|
281
327
|
compaction_result_(compaction_service_result) {}
|
|
282
328
|
|
|
329
|
+
void CompactionServiceCompactionJob::Prepare() {
|
|
330
|
+
std::optional<Slice> begin;
|
|
331
|
+
if (compaction_input_.has_begin) {
|
|
332
|
+
begin = compaction_input_.begin;
|
|
333
|
+
}
|
|
334
|
+
std::optional<Slice> end;
|
|
335
|
+
if (compaction_input_.has_end) {
|
|
336
|
+
end = compaction_input_.end;
|
|
337
|
+
}
|
|
338
|
+
CompactionJob::Prepare(std::make_pair(begin, end));
|
|
339
|
+
}
|
|
340
|
+
|
|
283
341
|
Status CompactionServiceCompactionJob::Run() {
|
|
284
342
|
AutoThreadOperationStageUpdater stage_updater(
|
|
285
343
|
ThreadStatus::STAGE_COMPACTION_RUN);
|
|
286
344
|
|
|
287
345
|
auto* c = compact_->compaction;
|
|
288
|
-
assert(c->column_family_data() != nullptr);
|
|
289
|
-
const VersionStorageInfo* storage_info = c->input_version()->storage_info();
|
|
290
|
-
assert(storage_info);
|
|
291
|
-
assert(storage_info->NumLevelFiles(compact_->compaction->level()) > 0);
|
|
292
|
-
write_hint_ = storage_info->CalculateSSTWriteHint(c->output_level());
|
|
293
|
-
|
|
294
|
-
bottommost_level_ = c->bottommost_level();
|
|
295
|
-
|
|
296
|
-
Slice begin = compaction_input_.begin;
|
|
297
|
-
Slice end = compaction_input_.end;
|
|
298
|
-
compact_->sub_compact_states.emplace_back(
|
|
299
|
-
c,
|
|
300
|
-
compaction_input_.has_begin ? std::optional<Slice>(begin)
|
|
301
|
-
: std::optional<Slice>(),
|
|
302
|
-
compaction_input_.has_end ? std::optional<Slice>(end)
|
|
303
|
-
: std::optional<Slice>(),
|
|
304
|
-
/*sub_job_id*/ 0);
|
|
305
346
|
|
|
306
347
|
log_buffer_->FlushBufferToLog();
|
|
307
348
|
LogCompaction();
|
|
@@ -317,15 +358,14 @@ Status CompactionServiceCompactionJob::Run() {
|
|
|
317
358
|
|
|
318
359
|
ProcessKeyValueCompaction(sub_compact);
|
|
319
360
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
sub_compact->compaction_job_stats.cpu_micros;
|
|
361
|
+
uint64_t elapsed_micros = db_options_.clock->NowMicros() - start_micros;
|
|
362
|
+
internal_stats_.SetMicros(elapsed_micros);
|
|
363
|
+
internal_stats_.AddCpuMicros(elapsed_micros);
|
|
324
364
|
|
|
325
365
|
RecordTimeToHistogram(stats_, COMPACTION_TIME,
|
|
326
|
-
|
|
366
|
+
internal_stats_.output_level_stats.micros);
|
|
327
367
|
RecordTimeToHistogram(stats_, COMPACTION_CPU_TIME,
|
|
328
|
-
|
|
368
|
+
internal_stats_.output_level_stats.cpu_micros);
|
|
329
369
|
|
|
330
370
|
Status status = sub_compact->status;
|
|
331
371
|
IOStatus io_s = sub_compact->io_status;
|
|
@@ -355,38 +395,45 @@ Status CompactionServiceCompactionJob::Run() {
|
|
|
355
395
|
|
|
356
396
|
// Build Compaction Job Stats
|
|
357
397
|
|
|
358
|
-
// 1. Aggregate
|
|
359
|
-
//
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
//
|
|
364
|
-
//
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
398
|
+
// 1. Aggregate internal stats and job stats for all subcompactions
|
|
399
|
+
// internal stats: sub_compact.proximal_level_outputs_.stats and
|
|
400
|
+
// sub_compact.compaction_outputs_.stats into
|
|
401
|
+
// internal_stats_.output_level_stats and
|
|
402
|
+
// internal_stats_.proximal_level_stats
|
|
403
|
+
// job-level stats: sub_compact.compaction_job_stats into compact.job_stats_
|
|
404
|
+
//
|
|
405
|
+
// For remote compaction, there's only one subcompaction.
|
|
406
|
+
compact_->AggregateCompactionStats(internal_stats_, *job_stats_);
|
|
407
|
+
|
|
408
|
+
// 2. Update job-level output stats with the aggregated internal_stats_
|
|
409
|
+
// Please note that input stats will be updated by primary host when all
|
|
410
|
+
// subcompactions are finished
|
|
411
|
+
UpdateCompactionJobOutputStats(internal_stats_);
|
|
412
|
+
// and set fields that are not propagated as part of the update
|
|
368
413
|
compaction_result_->stats.is_manual_compaction = c->is_manual_compaction();
|
|
369
414
|
compaction_result_->stats.is_full_compaction = c->is_full_compaction();
|
|
370
415
|
compaction_result_->stats.is_remote_compaction = true;
|
|
371
416
|
|
|
372
|
-
//
|
|
373
|
-
// bytes_written)
|
|
417
|
+
// 3. Update IO Stats that are not part of the the update above
|
|
418
|
+
// (bytes_read, bytes_written)
|
|
374
419
|
RecordCompactionIOStats();
|
|
375
420
|
|
|
376
421
|
// Build Output
|
|
422
|
+
compaction_result_->internal_stats = internal_stats_;
|
|
377
423
|
compaction_result_->output_level = compact_->compaction->output_level();
|
|
378
424
|
compaction_result_->output_path = output_path_;
|
|
379
425
|
if (status.ok()) {
|
|
380
426
|
for (const auto& output_file : sub_compact->GetOutputs()) {
|
|
381
427
|
auto& meta = output_file.meta;
|
|
382
428
|
compaction_result_->output_files.emplace_back(
|
|
383
|
-
MakeTableFileName(meta.fd.GetNumber()), meta.fd.
|
|
384
|
-
meta.fd.
|
|
385
|
-
meta.
|
|
386
|
-
meta.
|
|
387
|
-
meta.
|
|
388
|
-
|
|
389
|
-
*output_file.table_properties
|
|
429
|
+
MakeTableFileName(meta.fd.GetNumber()), meta.fd.GetFileSize(),
|
|
430
|
+
meta.fd.smallest_seqno, meta.fd.largest_seqno,
|
|
431
|
+
meta.smallest.Encode().ToString(), meta.largest.Encode().ToString(),
|
|
432
|
+
meta.oldest_ancester_time, meta.file_creation_time, meta.epoch_number,
|
|
433
|
+
meta.file_checksum, meta.file_checksum_func_name,
|
|
434
|
+
output_file.validator.GetHash(), meta.marked_for_compaction,
|
|
435
|
+
meta.unique_id, *output_file.table_properties,
|
|
436
|
+
output_file.is_proximal_level, meta.temperature);
|
|
390
437
|
}
|
|
391
438
|
}
|
|
392
439
|
|
|
@@ -486,6 +533,10 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
486
533
|
{offsetof(struct CompactionServiceOutputFile, file_name),
|
|
487
534
|
OptionType::kEncodedString, OptionVerificationType::kNormal,
|
|
488
535
|
OptionTypeFlags::kNone}},
|
|
536
|
+
{"file_size",
|
|
537
|
+
{offsetof(struct CompactionServiceOutputFile, file_size),
|
|
538
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
539
|
+
OptionTypeFlags::kNone}},
|
|
489
540
|
{"smallest_seqno",
|
|
490
541
|
{offsetof(struct CompactionServiceOutputFile, smallest_seqno),
|
|
491
542
|
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
@@ -558,7 +609,16 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
558
609
|
const auto this_one = static_cast<const TableProperties*>(addr1);
|
|
559
610
|
const auto that_one = static_cast<const TableProperties*>(addr2);
|
|
560
611
|
return this_one->AreEqual(opts, that_one, mismatch);
|
|
561
|
-
}}}
|
|
612
|
+
}}},
|
|
613
|
+
{"is_proximal_level_output",
|
|
614
|
+
{offsetof(struct CompactionServiceOutputFile,
|
|
615
|
+
is_proximal_level_output),
|
|
616
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
617
|
+
OptionTypeFlags::kNone}},
|
|
618
|
+
{"file_temperature",
|
|
619
|
+
{offsetof(struct CompactionServiceOutputFile, file_temperature),
|
|
620
|
+
OptionType::kTemperature, OptionVerificationType::kNormal,
|
|
621
|
+
OptionTypeFlags::kNone}}};
|
|
562
622
|
|
|
563
623
|
static std::unordered_map<std::string, OptionTypeInfo>
|
|
564
624
|
compaction_job_stats_type_info = {
|
|
@@ -683,6 +743,125 @@ static std::unordered_map<std::string, OptionTypeInfo>
|
|
|
683
743
|
OptionTypeFlags::kNone}},
|
|
684
744
|
};
|
|
685
745
|
|
|
746
|
+
static std::unordered_map<std::string, OptionTypeInfo>
|
|
747
|
+
compaction_stats_type_info = {
|
|
748
|
+
{"micros",
|
|
749
|
+
{offsetof(struct InternalStats::CompactionStats, micros),
|
|
750
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
751
|
+
OptionTypeFlags::kNone}},
|
|
752
|
+
{"cpu_micros",
|
|
753
|
+
{offsetof(struct InternalStats::CompactionStats, cpu_micros),
|
|
754
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
755
|
+
OptionTypeFlags::kNone}},
|
|
756
|
+
{"bytes_read_non_output_levels",
|
|
757
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
758
|
+
bytes_read_non_output_levels),
|
|
759
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
760
|
+
OptionTypeFlags::kNone}},
|
|
761
|
+
{"bytes_read_output_level",
|
|
762
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
763
|
+
bytes_read_output_level),
|
|
764
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
765
|
+
OptionTypeFlags::kNone}},
|
|
766
|
+
{"bytes_skipped_non_output_levels",
|
|
767
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
768
|
+
bytes_skipped_non_output_levels),
|
|
769
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
770
|
+
OptionTypeFlags::kNone}},
|
|
771
|
+
{"bytes_skipped_output_level",
|
|
772
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
773
|
+
bytes_skipped_output_level),
|
|
774
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
775
|
+
OptionTypeFlags::kNone}},
|
|
776
|
+
{"bytes_read_blob",
|
|
777
|
+
{offsetof(struct InternalStats::CompactionStats, bytes_read_blob),
|
|
778
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
779
|
+
OptionTypeFlags::kNone}},
|
|
780
|
+
{"bytes_written",
|
|
781
|
+
{offsetof(struct InternalStats::CompactionStats, bytes_written),
|
|
782
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
783
|
+
OptionTypeFlags::kNone}},
|
|
784
|
+
{"bytes_written_blob",
|
|
785
|
+
{offsetof(struct InternalStats::CompactionStats, bytes_written_blob),
|
|
786
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
787
|
+
OptionTypeFlags::kNone}},
|
|
788
|
+
{"bytes_moved",
|
|
789
|
+
{offsetof(struct InternalStats::CompactionStats, bytes_moved),
|
|
790
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
791
|
+
OptionTypeFlags::kNone}},
|
|
792
|
+
{"num_input_files_in_non_output_levels",
|
|
793
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
794
|
+
num_input_files_in_non_output_levels),
|
|
795
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
796
|
+
OptionTypeFlags::kNone}},
|
|
797
|
+
{"num_input_files_in_output_level",
|
|
798
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
799
|
+
num_input_files_in_output_level),
|
|
800
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
801
|
+
OptionTypeFlags::kNone}},
|
|
802
|
+
{"num_filtered_input_files_in_non_output_levels",
|
|
803
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
804
|
+
num_filtered_input_files_in_non_output_levels),
|
|
805
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
806
|
+
OptionTypeFlags::kNone}},
|
|
807
|
+
{"num_filtered_input_files_in_output_level",
|
|
808
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
809
|
+
num_filtered_input_files_in_output_level),
|
|
810
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
811
|
+
OptionTypeFlags::kNone}},
|
|
812
|
+
{"num_output_files",
|
|
813
|
+
{offsetof(struct InternalStats::CompactionStats, num_output_files),
|
|
814
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
815
|
+
OptionTypeFlags::kNone}},
|
|
816
|
+
{"num_output_files_blob",
|
|
817
|
+
{offsetof(struct InternalStats::CompactionStats,
|
|
818
|
+
num_output_files_blob),
|
|
819
|
+
OptionType::kInt, OptionVerificationType::kNormal,
|
|
820
|
+
OptionTypeFlags::kNone}},
|
|
821
|
+
{"num_input_records",
|
|
822
|
+
{offsetof(struct InternalStats::CompactionStats, num_input_records),
|
|
823
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
824
|
+
OptionTypeFlags::kNone}},
|
|
825
|
+
{"num_dropped_records",
|
|
826
|
+
{offsetof(struct InternalStats::CompactionStats, num_dropped_records),
|
|
827
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
828
|
+
OptionTypeFlags::kNone}},
|
|
829
|
+
{"num_output_records",
|
|
830
|
+
{offsetof(struct InternalStats::CompactionStats, num_output_records),
|
|
831
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
832
|
+
OptionTypeFlags::kNone}},
|
|
833
|
+
{"count",
|
|
834
|
+
{offsetof(struct InternalStats::CompactionStats, count),
|
|
835
|
+
OptionType::kUInt64T, OptionVerificationType::kNormal,
|
|
836
|
+
OptionTypeFlags::kNone}},
|
|
837
|
+
{"counts", OptionTypeInfo::Array<
|
|
838
|
+
int, static_cast<int>(CompactionReason::kNumOfReasons)>(
|
|
839
|
+
offsetof(struct InternalStats::CompactionStats, counts),
|
|
840
|
+
OptionVerificationType::kNormal, OptionTypeFlags::kNone,
|
|
841
|
+
{0, OptionType::kInt})},
|
|
842
|
+
};
|
|
843
|
+
|
|
844
|
+
static std::unordered_map<std::string, OptionTypeInfo>
|
|
845
|
+
compaction_internal_stats_type_info = {
|
|
846
|
+
{"output_level_stats",
|
|
847
|
+
OptionTypeInfo::Struct(
|
|
848
|
+
"output_level_stats", &compaction_stats_type_info,
|
|
849
|
+
offsetof(struct InternalStats::CompactionStatsFull,
|
|
850
|
+
output_level_stats),
|
|
851
|
+
OptionVerificationType::kNormal, OptionTypeFlags::kNone)},
|
|
852
|
+
{"has_proximal_level_output",
|
|
853
|
+
{offsetof(struct InternalStats::CompactionStatsFull,
|
|
854
|
+
has_proximal_level_output),
|
|
855
|
+
OptionType::kBoolean, OptionVerificationType::kNormal,
|
|
856
|
+
OptionTypeFlags::kNone}},
|
|
857
|
+
{"proximal_level_stats",
|
|
858
|
+
OptionTypeInfo::Struct(
|
|
859
|
+
"proximal_level_stats", &compaction_stats_type_info,
|
|
860
|
+
offsetof(struct InternalStats::CompactionStatsFull,
|
|
861
|
+
proximal_level_stats),
|
|
862
|
+
OptionVerificationType::kNormal, OptionTypeFlags::kNone)},
|
|
863
|
+
};
|
|
864
|
+
|
|
686
865
|
namespace {
|
|
687
866
|
// this is a helper struct to serialize and deserialize class Status, because
|
|
688
867
|
// Status's members are not public.
|
|
@@ -789,6 +968,11 @@ static std::unordered_map<std::string, OptionTypeInfo> cs_result_type_info = {
|
|
|
789
968
|
"stats", &compaction_job_stats_type_info,
|
|
790
969
|
offsetof(struct CompactionServiceResult, stats),
|
|
791
970
|
OptionVerificationType::kNormal, OptionTypeFlags::kNone)},
|
|
971
|
+
{"internal_stats",
|
|
972
|
+
OptionTypeInfo::Struct(
|
|
973
|
+
"internal_stats", &compaction_internal_stats_type_info,
|
|
974
|
+
offsetof(struct CompactionServiceResult, internal_stats),
|
|
975
|
+
OptionVerificationType::kNormal, OptionTypeFlags::kNone)},
|
|
792
976
|
};
|
|
793
977
|
|
|
794
978
|
Status CompactionServiceInput::Read(const std::string& data_str,
|