@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
|
@@ -92,12 +92,10 @@ FlushJob::FlushJob(
|
|
|
92
92
|
const MutableCFOptions& mutable_cf_options, uint64_t max_memtable_id,
|
|
93
93
|
const FileOptions& file_options, VersionSet* versions,
|
|
94
94
|
InstrumentedMutex* db_mutex, std::atomic<bool>* shutting_down,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
FSDirectory* output_file_directory, CompressionType output_compression,
|
|
100
|
-
Statistics* stats, EventLogger* event_logger, bool measure_io_stats,
|
|
95
|
+
JobContext* job_context, FlushReason flush_reason, LogBuffer* log_buffer,
|
|
96
|
+
FSDirectory* db_directory, FSDirectory* output_file_directory,
|
|
97
|
+
CompressionType output_compression, Statistics* stats,
|
|
98
|
+
EventLogger* event_logger, bool measure_io_stats,
|
|
101
99
|
const bool sync_output_directory, const bool write_manifest,
|
|
102
100
|
Env::Priority thread_pri, const std::shared_ptr<IOTracer>& io_tracer,
|
|
103
101
|
std::shared_ptr<const SeqnoToTimeMapping> seqno_to_time_mapping,
|
|
@@ -114,12 +112,7 @@ FlushJob::FlushJob(
|
|
|
114
112
|
versions_(versions),
|
|
115
113
|
db_mutex_(db_mutex),
|
|
116
114
|
shutting_down_(shutting_down),
|
|
117
|
-
|
|
118
|
-
earliest_snapshot_(existing_snapshots_.empty()
|
|
119
|
-
? kMaxSequenceNumber
|
|
120
|
-
: existing_snapshots_.at(0)),
|
|
121
|
-
earliest_write_conflict_snapshot_(earliest_write_conflict_snapshot),
|
|
122
|
-
snapshot_checker_(snapshot_checker),
|
|
115
|
+
earliest_snapshot_(job_context->GetEarliestSnapshotSequence()),
|
|
123
116
|
job_context_(job_context),
|
|
124
117
|
flush_reason_(flush_reason),
|
|
125
118
|
log_buffer_(log_buffer),
|
|
@@ -140,6 +133,7 @@ FlushJob::FlushJob(
|
|
|
140
133
|
full_history_ts_low_(std::move(full_history_ts_low)),
|
|
141
134
|
blob_callback_(blob_callback),
|
|
142
135
|
seqno_to_time_mapping_(std::move(seqno_to_time_mapping)) {
|
|
136
|
+
assert(job_context->snapshot_context_initialized);
|
|
143
137
|
// Update the thread status to indicate flush.
|
|
144
138
|
ReportStartedFlush();
|
|
145
139
|
TEST_SYNC_POINT("FlushJob::FlushJob()");
|
|
@@ -329,7 +323,7 @@ Status FlushJob::Run(LogsWithPrepTracker* prep_tracker, FileMetaData* file_meta,
|
|
|
329
323
|
TEST_SYNC_POINT("FlushJob::InstallResults");
|
|
330
324
|
// Replace immutable memtable with the generated Table
|
|
331
325
|
s = cfd_->imm()->TryInstallMemtableFlushResults(
|
|
332
|
-
cfd_,
|
|
326
|
+
cfd_, mems_, prep_tracker, versions_, db_mutex_,
|
|
333
327
|
meta_.fd.GetNumber(), &job_context_->memtables_to_free, db_directory_,
|
|
334
328
|
log_buffer_, &committed_flush_jobs_info_,
|
|
335
329
|
!(mempurge_s.ok()) /* write_edit : true if no mempurge happened (or if aborted),
|
|
@@ -345,8 +339,7 @@ Status FlushJob::Run(LogsWithPrepTracker* prep_tracker, FileMetaData* file_meta,
|
|
|
345
339
|
|
|
346
340
|
// When measure_io_stats_ is true, the default 512 bytes is not enough.
|
|
347
341
|
auto stream = event_logger_->LogToBuffer(log_buffer_, 1024);
|
|
348
|
-
stream << "job" << job_context_->job_id << "event"
|
|
349
|
-
<< "flush_finished";
|
|
342
|
+
stream << "job" << job_context_->job_id << "event" << "flush_finished";
|
|
350
343
|
stream << "output_compression"
|
|
351
344
|
<< CompressionTypeToString(output_compression_);
|
|
352
345
|
stream << "lsm_state";
|
|
@@ -449,7 +442,7 @@ Status FlushJob::MemPurge() {
|
|
|
449
442
|
NewMergingIterator(&(cfd_->internal_comparator()), memtables.data(),
|
|
450
443
|
static_cast<int>(memtables.size()), &arena));
|
|
451
444
|
|
|
452
|
-
auto
|
|
445
|
+
const auto& ioptions = cfd_->ioptions();
|
|
453
446
|
|
|
454
447
|
// Place iterator at the First (meaning most recent) key node.
|
|
455
448
|
iter->SeekToFirst();
|
|
@@ -457,7 +450,7 @@ Status FlushJob::MemPurge() {
|
|
|
457
450
|
const std::string* const full_history_ts_low = &(cfd_->GetFullHistoryTsLow());
|
|
458
451
|
std::unique_ptr<CompactionRangeDelAggregator> range_del_agg(
|
|
459
452
|
new CompactionRangeDelAggregator(&(cfd_->internal_comparator()),
|
|
460
|
-
|
|
453
|
+
job_context_->snapshot_seqs,
|
|
461
454
|
full_history_ts_low));
|
|
462
455
|
for (auto& rd_iter : range_del_iters) {
|
|
463
456
|
range_del_agg->AddTombstones(std::move(rd_iter));
|
|
@@ -470,8 +463,8 @@ Status FlushJob::MemPurge() {
|
|
|
470
463
|
// MaxSize is the size of a memtable.
|
|
471
464
|
size_t maxSize = mutable_cf_options_.write_buffer_size;
|
|
472
465
|
std::unique_ptr<CompactionFilter> compaction_filter;
|
|
473
|
-
if (ioptions
|
|
474
|
-
ioptions
|
|
466
|
+
if (ioptions.compaction_filter_factory != nullptr &&
|
|
467
|
+
ioptions.compaction_filter_factory->ShouldFilterTableFileCreation(
|
|
475
468
|
TableFileCreationReason::kFlush)) {
|
|
476
469
|
CompactionFilter::Context ctx;
|
|
477
470
|
ctx.is_full_compaction = false;
|
|
@@ -479,7 +472,7 @@ Status FlushJob::MemPurge() {
|
|
|
479
472
|
ctx.column_family_id = cfd_->GetID();
|
|
480
473
|
ctx.reason = TableFileCreationReason::kFlush;
|
|
481
474
|
compaction_filter =
|
|
482
|
-
ioptions
|
|
475
|
+
ioptions.compaction_filter_factory->CreateCompactionFilter(ctx);
|
|
483
476
|
if (compaction_filter != nullptr &&
|
|
484
477
|
!compaction_filter->IgnoreSnapshots()) {
|
|
485
478
|
s = Status::NotSupported(
|
|
@@ -489,34 +482,34 @@ Status FlushJob::MemPurge() {
|
|
|
489
482
|
}
|
|
490
483
|
}
|
|
491
484
|
|
|
492
|
-
new_mem = new MemTable(
|
|
485
|
+
new_mem = new MemTable(cfd_->internal_comparator(), cfd_->ioptions(),
|
|
493
486
|
mutable_cf_options_, cfd_->write_buffer_mgr(),
|
|
494
487
|
earliest_seqno, cfd_->GetID());
|
|
495
488
|
assert(new_mem != nullptr);
|
|
496
489
|
|
|
497
490
|
Env* env = db_options_.env;
|
|
498
491
|
assert(env);
|
|
499
|
-
MergeHelper merge(
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
492
|
+
MergeHelper merge(env, (cfd_->internal_comparator()).user_comparator(),
|
|
493
|
+
(ioptions.merge_operator).get(), compaction_filter.get(),
|
|
494
|
+
ioptions.logger,
|
|
495
|
+
true /* internal key corruption is not ok */,
|
|
496
|
+
job_context_->GetLatestSnapshotSequence(),
|
|
497
|
+
job_context_->snapshot_checker);
|
|
505
498
|
assert(job_context_);
|
|
506
|
-
SequenceNumber job_snapshot_seq = job_context_->GetJobSnapshotSequence();
|
|
507
499
|
const std::atomic<bool> kManualCompactionCanceledFalse{false};
|
|
508
500
|
CompactionIterator c_iter(
|
|
509
501
|
iter.get(), (cfd_->internal_comparator()).user_comparator(), &merge,
|
|
510
|
-
kMaxSequenceNumber, &
|
|
511
|
-
|
|
512
|
-
|
|
502
|
+
kMaxSequenceNumber, &job_context_->snapshot_seqs, earliest_snapshot_,
|
|
503
|
+
job_context_->earliest_write_conflict_snapshot,
|
|
504
|
+
job_context_->GetJobSnapshotSequence(), job_context_->snapshot_checker,
|
|
505
|
+
env, ShouldReportDetailedTime(env, ioptions.stats),
|
|
513
506
|
true /* internal key corruption is not ok */, range_del_agg.get(),
|
|
514
|
-
nullptr, ioptions
|
|
515
|
-
ioptions
|
|
507
|
+
nullptr, ioptions.allow_data_in_errors,
|
|
508
|
+
ioptions.enforce_single_del_contracts,
|
|
516
509
|
/*manual_compaction_canceled=*/kManualCompactionCanceledFalse,
|
|
517
510
|
false /* must_count_input_entries */,
|
|
518
511
|
/*compaction=*/nullptr, compaction_filter.get(),
|
|
519
|
-
/*shutting_down=*/nullptr, ioptions
|
|
512
|
+
/*shutting_down=*/nullptr, ioptions.info_log, full_history_ts_low);
|
|
520
513
|
|
|
521
514
|
// Set earliest sequence number in the new memtable
|
|
522
515
|
// to be equal to the earliest sequence number of the
|
|
@@ -762,7 +755,7 @@ bool FlushJob::MemPurgeDecider(double threshold) {
|
|
|
762
755
|
// Pick the oldest existing snapshot that is more recent
|
|
763
756
|
// than the sequence number of the sampled entry.
|
|
764
757
|
min_seqno_snapshot = kMaxSequenceNumber;
|
|
765
|
-
for (SequenceNumber seq_num :
|
|
758
|
+
for (SequenceNumber seq_num : job_context_->snapshot_seqs) {
|
|
766
759
|
if (seq_num > res.sequence && seq_num < min_seqno_snapshot) {
|
|
767
760
|
min_seqno_snapshot = seq_num;
|
|
768
761
|
}
|
|
@@ -866,12 +859,15 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
866
859
|
assert(ucmp);
|
|
867
860
|
const size_t ts_sz = ucmp->timestamp_size();
|
|
868
861
|
const bool logical_strip_timestamp =
|
|
869
|
-
ts_sz > 0 && !cfd_->ioptions()
|
|
862
|
+
ts_sz > 0 && !cfd_->ioptions().persist_user_defined_timestamps;
|
|
870
863
|
|
|
871
864
|
std::vector<BlobFileAddition> blob_file_additions;
|
|
872
|
-
|
|
865
|
+
// Note that here we treat flush as level 0 compaction in internal stats
|
|
866
|
+
InternalStats::CompactionStats flush_stats(CompactionReason::kFlush,
|
|
867
|
+
1 /* count**/);
|
|
873
868
|
{
|
|
874
|
-
auto write_hint = base_->storage_info()->CalculateSSTWriteHint(
|
|
869
|
+
auto write_hint = base_->storage_info()->CalculateSSTWriteHint(
|
|
870
|
+
/*level=*/0, db_options_.calculate_sst_write_lifetime_hint_set);
|
|
875
871
|
Env::IOPriority io_priority = GetRateLimiterPriority();
|
|
876
872
|
db_mutex_->Unlock();
|
|
877
873
|
if (log_buffer_) {
|
|
@@ -887,7 +883,7 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
887
883
|
ro.total_order_seek = true;
|
|
888
884
|
ro.io_activity = Env::IOActivity::kFlush;
|
|
889
885
|
Arena arena;
|
|
890
|
-
uint64_t
|
|
886
|
+
uint64_t total_num_input_entries = 0, total_num_deletes = 0;
|
|
891
887
|
uint64_t total_data_size = 0;
|
|
892
888
|
size_t total_memory_usage = 0;
|
|
893
889
|
uint64_t total_num_range_deletes = 0;
|
|
@@ -901,9 +897,9 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
901
897
|
for (ReadOnlyMemTable* m : mems_) {
|
|
902
898
|
ROCKS_LOG_INFO(db_options_.info_log,
|
|
903
899
|
"[%s] [JOB %d] Flushing memtable id %" PRIu64
|
|
904
|
-
" with next log file: %" PRIu64 "\n",
|
|
900
|
+
" with next log file: %" PRIu64 ", marked_for_flush: %d\n",
|
|
905
901
|
cfd_->GetName().c_str(), job_context_->job_id, m->GetID(),
|
|
906
|
-
m->GetNextLogNumber());
|
|
902
|
+
m->GetNextLogNumber(), m->IsMarkedForFlush());
|
|
907
903
|
if (logical_strip_timestamp) {
|
|
908
904
|
memtables.push_back(m->NewTimestampStrippingIterator(
|
|
909
905
|
ro, /*seqno_to_time_mapping=*/nullptr, &arena,
|
|
@@ -922,7 +918,7 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
922
918
|
if (range_del_iter != nullptr) {
|
|
923
919
|
range_del_iters.emplace_back(range_del_iter);
|
|
924
920
|
}
|
|
925
|
-
|
|
921
|
+
total_num_input_entries += m->NumEntries();
|
|
926
922
|
total_num_deletes += m->NumDeletion();
|
|
927
923
|
total_data_size += m->GetDataSize();
|
|
928
924
|
total_memory_usage += m->ApproximateMemoryUsage();
|
|
@@ -933,13 +929,13 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
933
929
|
// hitting limit memtable_max_range_deletions, flush_reason_ is still
|
|
934
930
|
// "Write Buffer Full", should make update flush_reason_ accordingly.
|
|
935
931
|
event_logger_->Log() << "job" << job_context_->job_id << "event"
|
|
936
|
-
<< "flush_started"
|
|
937
|
-
<< "
|
|
938
|
-
<<
|
|
939
|
-
<<
|
|
940
|
-
<<
|
|
941
|
-
<<
|
|
942
|
-
<<
|
|
932
|
+
<< "flush_started" << "num_memtables" << mems_.size()
|
|
933
|
+
<< "total_num_input_entries" << total_num_input_entries
|
|
934
|
+
<< "num_deletes" << total_num_deletes
|
|
935
|
+
<< "total_data_size" << total_data_size
|
|
936
|
+
<< "memory_usage" << total_memory_usage
|
|
937
|
+
<< "num_range_deletes" << total_num_range_deletes
|
|
938
|
+
<< "flush_reason"
|
|
943
939
|
<< GetFlushReasonString(flush_reason_);
|
|
944
940
|
|
|
945
941
|
{
|
|
@@ -977,7 +973,6 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
977
973
|
meta_.oldest_ancester_time = oldest_ancester_time;
|
|
978
974
|
meta_.file_creation_time = current_time;
|
|
979
975
|
|
|
980
|
-
uint64_t num_input_entries = 0;
|
|
981
976
|
uint64_t memtable_payload_bytes = 0;
|
|
982
977
|
uint64_t memtable_garbage_bytes = 0;
|
|
983
978
|
IOStatus io_s;
|
|
@@ -988,7 +983,7 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
988
983
|
read_options.rate_limiter_priority = io_priority;
|
|
989
984
|
const WriteOptions write_options(io_priority, Env::IOActivity::kFlush);
|
|
990
985
|
TableBuilderOptions tboptions(
|
|
991
|
-
|
|
986
|
+
cfd_->ioptions(), mutable_cf_options_, read_options, write_options,
|
|
992
987
|
cfd_->internal_comparator(), cfd_->internal_tbl_prop_coll_factories(),
|
|
993
988
|
output_compression_, mutable_cf_options_.compression_opts,
|
|
994
989
|
cfd_->GetID(), cfd_->GetName(), 0 /* level */,
|
|
@@ -999,28 +994,49 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
999
994
|
preclude_last_level_min_seqno_ == kMaxSequenceNumber
|
|
1000
995
|
? preclude_last_level_min_seqno_
|
|
1001
996
|
: std::min(earliest_snapshot_, preclude_last_level_min_seqno_));
|
|
1002
|
-
const SequenceNumber job_snapshot_seq =
|
|
1003
|
-
job_context_->GetJobSnapshotSequence();
|
|
1004
|
-
|
|
1005
997
|
s = BuildTable(
|
|
1006
998
|
dbname_, versions_, db_options_, tboptions, file_options_,
|
|
1007
999
|
cfd_->table_cache(), iter.get(), std::move(range_del_iters), &meta_,
|
|
1008
|
-
&blob_file_additions,
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
&
|
|
1000
|
+
&blob_file_additions, job_context_->snapshot_seqs, earliest_snapshot_,
|
|
1001
|
+
job_context_->earliest_write_conflict_snapshot,
|
|
1002
|
+
job_context_->GetJobSnapshotSequence(),
|
|
1003
|
+
job_context_->snapshot_checker,
|
|
1004
|
+
mutable_cf_options_.paranoid_file_checks, cfd_->internal_stats(),
|
|
1005
|
+
&io_s, io_tracer_, BlobFileCreationReason::kFlush,
|
|
1006
|
+
seqno_to_time_mapping_.get(), event_logger_, job_context_->job_id,
|
|
1007
|
+
&table_properties_, write_hint, full_history_ts_low, blob_callback_,
|
|
1008
|
+
base_, &memtable_payload_bytes, &memtable_garbage_bytes,
|
|
1009
|
+
&flush_stats);
|
|
1016
1010
|
TEST_SYNC_POINT_CALLBACK("FlushJob::WriteLevel0Table:s", &s);
|
|
1017
1011
|
// TODO: Cleanup io_status in BuildTable and table builders
|
|
1018
1012
|
assert(!s.ok() || io_s.ok());
|
|
1019
1013
|
io_s.PermitUncheckedError();
|
|
1020
|
-
if (
|
|
1021
|
-
std::string msg = "Expected " +
|
|
1014
|
+
if (s.ok() && total_num_input_entries != flush_stats.num_input_records) {
|
|
1015
|
+
std::string msg = "Expected " +
|
|
1016
|
+
std::to_string(total_num_input_entries) +
|
|
1022
1017
|
" entries in memtables, but read " +
|
|
1023
|
-
std::to_string(
|
|
1018
|
+
std::to_string(flush_stats.num_input_records);
|
|
1019
|
+
ROCKS_LOG_WARN(db_options_.info_log, "[%s] [JOB %d] Level-0 flush %s",
|
|
1020
|
+
cfd_->GetName().c_str(), job_context_->job_id,
|
|
1021
|
+
msg.c_str());
|
|
1022
|
+
if (db_options_.flush_verify_memtable_count) {
|
|
1023
|
+
s = Status::Corruption(msg);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
// Only verify on table with format collects table properties
|
|
1028
|
+
if (s.ok() &&
|
|
1029
|
+
(mutable_cf_options_.table_factory->IsInstanceOf(
|
|
1030
|
+
TableFactory::kBlockBasedTableName()) ||
|
|
1031
|
+
mutable_cf_options_.table_factory->IsInstanceOf(
|
|
1032
|
+
TableFactory::kPlainTableName())) &&
|
|
1033
|
+
flush_stats.num_output_records != table_properties_.num_entries) {
|
|
1034
|
+
std::string msg =
|
|
1035
|
+
"Number of keys in flush output SST files does not match "
|
|
1036
|
+
"number of keys added to the table. Expected " +
|
|
1037
|
+
std::to_string(flush_stats.num_output_records) + " but there are " +
|
|
1038
|
+
std::to_string(table_properties_.num_entries) +
|
|
1039
|
+
" in output SST files";
|
|
1024
1040
|
ROCKS_LOG_WARN(db_options_.info_log, "[%s] [JOB %d] Level-0 flush %s",
|
|
1025
1041
|
cfd_->GetName().c_str(), job_context_->job_id,
|
|
1026
1042
|
msg.c_str());
|
|
@@ -1086,12 +1102,10 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
1086
1102
|
// Piggyback FlushJobInfo on the first first flushed memtable.
|
|
1087
1103
|
mems_[0]->SetFlushJobInfo(GetFlushJobInfo());
|
|
1088
1104
|
|
|
1089
|
-
// Note that here we treat flush as level 0 compaction in internal stats
|
|
1090
|
-
InternalStats::CompactionStats stats(CompactionReason::kFlush, 1);
|
|
1091
1105
|
const uint64_t micros = clock_->NowMicros() - start_micros;
|
|
1092
1106
|
const uint64_t cpu_micros = clock_->CPUMicros() - start_cpu_micros;
|
|
1093
|
-
|
|
1094
|
-
|
|
1107
|
+
flush_stats.micros = micros;
|
|
1108
|
+
flush_stats.cpu_micros = cpu_micros;
|
|
1095
1109
|
|
|
1096
1110
|
ROCKS_LOG_INFO(db_options_.info_log,
|
|
1097
1111
|
"[%s] [JOB %d] Flush lasted %" PRIu64
|
|
@@ -1100,22 +1114,23 @@ Status FlushJob::WriteLevel0Table() {
|
|
|
1100
1114
|
cpu_micros);
|
|
1101
1115
|
|
|
1102
1116
|
if (has_output) {
|
|
1103
|
-
|
|
1104
|
-
|
|
1117
|
+
flush_stats.bytes_written = meta_.fd.GetFileSize();
|
|
1118
|
+
flush_stats.num_output_files = 1;
|
|
1105
1119
|
}
|
|
1106
1120
|
|
|
1107
1121
|
const auto& blobs = edit_->GetBlobFileAdditions();
|
|
1108
1122
|
for (const auto& blob : blobs) {
|
|
1109
|
-
|
|
1123
|
+
flush_stats.bytes_written_blob += blob.GetTotalBlobBytes();
|
|
1110
1124
|
}
|
|
1111
1125
|
|
|
1112
|
-
|
|
1126
|
+
flush_stats.num_output_files_blob = static_cast<int>(blobs.size());
|
|
1113
1127
|
|
|
1114
|
-
RecordTimeToHistogram(stats_, FLUSH_TIME,
|
|
1115
|
-
cfd_->internal_stats()->AddCompactionStats(0 /* level */, thread_pri_,
|
|
1128
|
+
RecordTimeToHistogram(stats_, FLUSH_TIME, flush_stats.micros);
|
|
1129
|
+
cfd_->internal_stats()->AddCompactionStats(0 /* level */, thread_pri_,
|
|
1130
|
+
flush_stats);
|
|
1116
1131
|
cfd_->internal_stats()->AddCFStats(
|
|
1117
1132
|
InternalStats::BYTES_FLUSHED,
|
|
1118
|
-
|
|
1133
|
+
flush_stats.bytes_written + flush_stats.bytes_written_blob);
|
|
1119
1134
|
RecordFlushIOStats();
|
|
1120
1135
|
|
|
1121
1136
|
return s;
|
|
@@ -1142,7 +1157,7 @@ std::unique_ptr<FlushJobInfo> FlushJob::GetFlushJobInfo() const {
|
|
|
1142
1157
|
|
|
1143
1158
|
const uint64_t file_number = meta_.fd.GetNumber();
|
|
1144
1159
|
info->file_path =
|
|
1145
|
-
MakeTableFileName(cfd_->ioptions()
|
|
1160
|
+
MakeTableFileName(cfd_->ioptions().cf_paths[0].path, file_number);
|
|
1146
1161
|
info->file_number = file_number;
|
|
1147
1162
|
info->oldest_blob_file_number = meta_.oldest_blob_file_number;
|
|
1148
1163
|
info->thread_id = db_options_.env->GetThreadID();
|
|
@@ -1156,7 +1171,7 @@ std::unique_ptr<FlushJobInfo> FlushJob::GetFlushJobInfo() const {
|
|
|
1156
1171
|
// Update BlobFilesInfo.
|
|
1157
1172
|
for (const auto& blob_file : edit_->GetBlobFileAdditions()) {
|
|
1158
1173
|
BlobFileAdditionInfo blob_file_addition_info(
|
|
1159
|
-
BlobFileName(cfd_->ioptions()
|
|
1174
|
+
BlobFileName(cfd_->ioptions().cf_paths.front().path,
|
|
1160
1175
|
blob_file.GetBlobFileNumber()) /*blob_file_path*/,
|
|
1161
1176
|
blob_file.GetBlobFileNumber(), blob_file.GetTotalBlobCount(),
|
|
1162
1177
|
blob_file.GetTotalBlobBytes());
|
|
@@ -1173,7 +1188,7 @@ void FlushJob::GetEffectiveCutoffUDTForPickedMemTables() {
|
|
|
1173
1188
|
assert(ucmp);
|
|
1174
1189
|
const size_t ts_sz = ucmp->timestamp_size();
|
|
1175
1190
|
if (db_options_.atomic_flush || ts_sz == 0 ||
|
|
1176
|
-
cfd_->ioptions()
|
|
1191
|
+
cfd_->ioptions().persist_user_defined_timestamps) {
|
|
1177
1192
|
return;
|
|
1178
1193
|
}
|
|
1179
1194
|
// Find the newest user-defined timestamps from all the flushed memtables.
|
|
@@ -1198,6 +1213,9 @@ void FlushJob::GetPrecludeLastLevelMinSeqno() {
|
|
|
1198
1213
|
if (mutable_cf_options_.preclude_last_level_data_seconds == 0) {
|
|
1199
1214
|
return;
|
|
1200
1215
|
}
|
|
1216
|
+
// SuperVersion should guarantee this
|
|
1217
|
+
assert(seqno_to_time_mapping_);
|
|
1218
|
+
assert(!seqno_to_time_mapping_->Empty());
|
|
1201
1219
|
int64_t current_time = 0;
|
|
1202
1220
|
Status s = db_options_.clock->GetCurrentTime(¤t_time);
|
|
1203
1221
|
if (!s.ok()) {
|
|
@@ -1236,8 +1254,7 @@ Status FlushJob::MaybeIncreaseFullHistoryTsLowToAboveCutoffUDT() {
|
|
|
1236
1254
|
VersionEdit edit;
|
|
1237
1255
|
edit.SetColumnFamily(cfd_->GetID());
|
|
1238
1256
|
edit.SetFullHistoryTsLow(new_full_history_ts_low);
|
|
1239
|
-
return versions_->LogAndApply(cfd_,
|
|
1240
|
-
ReadOptions(Env::IOActivity::kFlush),
|
|
1257
|
+
return versions_->LogAndApply(cfd_, ReadOptions(Env::IOActivity::kFlush),
|
|
1241
1258
|
WriteOptions(Env::IOActivity::kFlush), &edit,
|
|
1242
1259
|
db_mutex_, output_file_directory_);
|
|
1243
1260
|
}
|
|
@@ -63,11 +63,9 @@ class FlushJob {
|
|
|
63
63
|
const MutableCFOptions& mutable_cf_options, uint64_t max_memtable_id,
|
|
64
64
|
const FileOptions& file_options, VersionSet* versions,
|
|
65
65
|
InstrumentedMutex* db_mutex, std::atomic<bool>* shutting_down,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
FlushReason flush_reason, LogBuffer* log_buffer,
|
|
70
|
-
FSDirectory* db_directory, FSDirectory* output_file_directory,
|
|
66
|
+
JobContext* job_context, FlushReason flush_reason,
|
|
67
|
+
LogBuffer* log_buffer, FSDirectory* db_directory,
|
|
68
|
+
FSDirectory* output_file_directory,
|
|
71
69
|
CompressionType output_compression, Statistics* stats,
|
|
72
70
|
EventLogger* event_logger, bool measure_io_stats,
|
|
73
71
|
const bool sync_output_directory, const bool write_manifest,
|
|
@@ -167,10 +165,7 @@ class FlushJob {
|
|
|
167
165
|
VersionSet* versions_;
|
|
168
166
|
InstrumentedMutex* db_mutex_;
|
|
169
167
|
std::atomic<bool>* shutting_down_;
|
|
170
|
-
std::vector<SequenceNumber> existing_snapshots_;
|
|
171
168
|
SequenceNumber earliest_snapshot_;
|
|
172
|
-
SequenceNumber earliest_write_conflict_snapshot_;
|
|
173
|
-
SnapshotChecker* snapshot_checker_;
|
|
174
169
|
JobContext* job_context_;
|
|
175
170
|
FlushReason flush_reason_;
|
|
176
171
|
LogBuffer* log_buffer_;
|
|
@@ -234,7 +229,7 @@ class FlushJob {
|
|
|
234
229
|
|
|
235
230
|
// The current minimum seqno that compaction jobs will preclude the data from
|
|
236
231
|
// the last level. Data with seqnos larger than this or larger than
|
|
237
|
-
// `earliest_snapshot_` will be output to the
|
|
232
|
+
// `earliest_snapshot_` will be output to the proximal level had it gone
|
|
238
233
|
// through a compaction to the last level.
|
|
239
234
|
SequenceNumber preclude_last_level_min_seqno_ = kMaxSequenceNumber;
|
|
240
235
|
};
|