@nxtedition/rocksdb 8.1.7 → 8.1.8
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/deps/rocksdb/rocksdb/CMakeLists.txt +1 -6
- package/deps/rocksdb/rocksdb/Makefile +15 -49
- package/deps/rocksdb/rocksdb/TARGETS +2 -0
- package/deps/rocksdb/rocksdb/cache/cache.cc +1 -15
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -5
- package/deps/rocksdb/rocksdb/cache/cache_helpers.h +1 -1
- package/deps/rocksdb/rocksdb/cache/cache_key.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +1 -1
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +11 -7
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +3 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +94 -6
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +0 -39
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +1 -1
- package/deps/rocksdb/rocksdb/cache/typed_cache.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_completion_callback.h +0 -17
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +0 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +240 -8
- package/deps/rocksdb/rocksdb/db/blob/db_blob_compaction_test.cc +0 -14
- package/deps/rocksdb/rocksdb/db/blob/db_blob_corruption_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +0 -6
- package/deps/rocksdb/rocksdb/db/builder.cc +0 -2
- package/deps/rocksdb/rocksdb/db/c.cc +8 -14
- package/deps/rocksdb/rocksdb/db/c_test.c +0 -11
- package/deps/rocksdb/rocksdb/db/column_family.cc +0 -13
- package/deps/rocksdb/rocksdb/db/column_family.h +0 -2
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +0 -71
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +113 -43
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +0 -20
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +0 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +0 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/compaction/sst_partitioner.cc +1 -8
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +0 -2
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/convenience.cc +0 -2
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +53 -56
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +33 -48
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +15 -358
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +0 -24
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +0 -6
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +0 -33
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +0 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +150 -102
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +52 -48
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +0 -66
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +0 -6
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +0 -16
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +0 -17
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +0 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +0 -18
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +0 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +6 -9
- package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_iter.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_iter.h +0 -6
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +0 -12
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +0 -16
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +5 -5
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +0 -6
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -15
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -9
- package/deps/rocksdb/rocksdb/db/db_test.cc +2 -64
- package/deps/rocksdb/rocksdb/db/db_test2.cc +0 -138
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +0 -33
- package/deps/rocksdb/rocksdb/db/db_test_util.h +11 -94
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +18 -53
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +0 -6
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +115 -12
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/error_handler.cc +0 -27
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +0 -12
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +1 -49
- package/deps/rocksdb/rocksdb/db/event_helpers.h +0 -4
- package/deps/rocksdb/rocksdb/db/experimental.cc +0 -14
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +1 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +0 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +16 -27
- package/deps/rocksdb/rocksdb/db/flush_job.cc +0 -6
- package/deps/rocksdb/rocksdb/db/flush_job.h +0 -4
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +0 -2
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +0 -2
- package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +2 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +0 -2
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -12
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +0 -8
- package/deps/rocksdb/rocksdb/db/internal_stats.h +0 -151
- package/deps/rocksdb/rocksdb/db/job_context.h +4 -5
- package/deps/rocksdb/rocksdb/db/listener_test.cc +19 -16
- package/deps/rocksdb/rocksdb/db/malloc_stats.cc +0 -2
- package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/db/memtable.cc +12 -10
- package/deps/rocksdb/rocksdb/db/memtable.h +0 -4
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +0 -8
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +6 -5
- package/deps/rocksdb/rocksdb/db/merge_test.cc +0 -8
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/options_file_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +0 -2
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -12
- package/deps/rocksdb/rocksdb/db/repair.cc +0 -2
- package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -12
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +0 -2
- package/deps/rocksdb/rocksdb/db/table_cache.cc +0 -10
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +0 -4
- package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +0 -4
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +0 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +1 -1
- package/deps/rocksdb/rocksdb/db/version_set.cc +86 -47
- package/deps/rocksdb/rocksdb/db/version_set.h +10 -4
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +31 -11
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -2
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +388 -0
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +0 -2
- package/deps/rocksdb/rocksdb/db/write_callback_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/write_thread.cc +26 -0
- package/deps/rocksdb/rocksdb/db/write_thread.h +24 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +0 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +1 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +6 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +0 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +0 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +40 -131
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +2 -20
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +0 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +0 -61
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +0 -8
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +122 -54
- package/deps/rocksdb/rocksdb/env/composite_env.cc +0 -10
- package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +0 -2
- package/deps/rocksdb/rocksdb/env/env.cc +2 -33
- package/deps/rocksdb/rocksdb/env/env_basic_test.cc +0 -4
- package/deps/rocksdb/rocksdb/env/env_chroot.cc +2 -2
- package/deps/rocksdb/rocksdb/env/env_chroot.h +2 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +2 -7
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +0 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +2 -18
- package/deps/rocksdb/rocksdb/env/file_system.cc +1 -14
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +0 -18
- 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/mock_env.cc +0 -12
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -7
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +3 -2
- package/deps/rocksdb/rocksdb/file/file_util.cc +0 -9
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +86 -99
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +0 -18
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +0 -8
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +0 -2
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +0 -8
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +0 -10
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +0 -18
- package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +0 -36
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +0 -16
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +527 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +1 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +0 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +18 -432
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +49 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/configurable.h +0 -10
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +18 -77
- package/deps/rocksdb/rocksdb/include/rocksdb/customizable.h +0 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +154 -19
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +90 -37
- package/deps/rocksdb/rocksdb/include/rocksdb/db_dump_tool.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -20
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +0 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +0 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +44 -60
- package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +22 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +17 -64
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +0 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +4 -59
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/db_ttl.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +5 -29
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/replayer.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +4 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +18 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +0 -4
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +0 -2
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -11
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +0 -2
- package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +0 -11
- package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -4
- package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -2
- package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +0 -2
- package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +0 -2
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +0 -2
- package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +0 -2
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +0 -12
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -36
- package/deps/rocksdb/rocksdb/monitoring/statistics_test.cc +0 -4
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +0 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +1 -4
- package/deps/rocksdb/rocksdb/options/cf_options.h +0 -2
- package/deps/rocksdb/rocksdb/options/configurable.cc +0 -55
- package/deps/rocksdb/rocksdb/options/configurable_helper.h +0 -2
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +0 -20
- package/deps/rocksdb/rocksdb/options/configurable_test.h +0 -10
- package/deps/rocksdb/rocksdb/options/customizable.cc +0 -6
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +21 -161
- package/deps/rocksdb/rocksdb/options/db_options.cc +1 -8
- package/deps/rocksdb/rocksdb/options/db_options.h +0 -4
- package/deps/rocksdb/rocksdb/options/options.cc +0 -2
- package/deps/rocksdb/rocksdb/options/options_helper.cc +0 -58
- package/deps/rocksdb/rocksdb/options/options_helper.h +0 -6
- package/deps/rocksdb/rocksdb/options/options_parser.cc +0 -2
- package/deps/rocksdb/rocksdb/options/options_parser.h +0 -2
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +14 -8
- package/deps/rocksdb/rocksdb/options/options_test.cc +260 -298
- package/deps/rocksdb/rocksdb/port/port_posix.h +1 -1
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +87 -6
- package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
- package/deps/rocksdb/rocksdb/port/win/port_win.h +11 -10
- package/deps/rocksdb/rocksdb/src.mk +1 -0
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +0 -2
- package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/block_based/block.h +1 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -49
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +4 -103
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +20 -107
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +2 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +1 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +1 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +0 -4
- package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +1 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -7
- package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +8 -22
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +5 -0
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +1 -8
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -10
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.cc +0 -4
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +0 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -10
- package/deps/rocksdb/rocksdb/table/format.cc +0 -6
- package/deps/rocksdb/rocksdb/table/get_context.cc +22 -21
- package/deps/rocksdb/rocksdb/table/get_context.h +15 -1
- package/deps/rocksdb/rocksdb/table/multiget_context.h +6 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +0 -54
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +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 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +0 -2
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +0 -2
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -2
- package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -2
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -11
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -2
- package/deps/rocksdb/rocksdb/table/table_factory.cc +1 -14
- package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +0 -10
- package/deps/rocksdb/rocksdb/table/table_test.cc +2 -17
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +0 -16
- package/deps/rocksdb/rocksdb/test_util/testutil.h +0 -2
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -2
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
- package/deps/rocksdb/rocksdb/tools/blob_dump.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +0 -9
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +5 -131
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +12 -4
- package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +0 -4
- package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/dump/rocksdb_dump.cc +2 -5
- package/deps/rocksdb/rocksdb/tools/dump/rocksdb_undump.cc +2 -5
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/io_tracer_parser_tool.h +0 -2
- package/deps/rocksdb/rocksdb/tools/ldb.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +0 -10
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -10
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +0 -10
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +0 -2
- package/deps/rocksdb/rocksdb/tools/trace_analyzer.cc +0 -8
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -11
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +6 -2
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +6 -3
- package/deps/rocksdb/rocksdb/tools/write_stress.cc +0 -4
- package/deps/rocksdb/rocksdb/util/aligned_buffer.h +1 -0
- package/deps/rocksdb/rocksdb/util/autovector.h +0 -13
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +0 -7
- package/deps/rocksdb/rocksdb/util/build_version.cc.in +0 -2
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -8
- package/deps/rocksdb/rocksdb/util/comparator.cc +0 -8
- package/deps/rocksdb/rocksdb/util/core_local.h +1 -0
- package/deps/rocksdb/rocksdb/util/data_structure.cc +18 -0
- package/deps/rocksdb/rocksdb/util/distributed_mutex.h +2 -0
- package/deps/rocksdb/rocksdb/util/duplicate_detector.h +0 -2
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +1 -6
- package/deps/rocksdb/rocksdb/util/file_checksum_helper.h +1 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +0 -8
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +3 -3
- package/deps/rocksdb/rocksdb/util/mutexlock.h +1 -0
- package/deps/rocksdb/rocksdb/util/random.cc +1 -0
- package/deps/rocksdb/rocksdb/util/slice.cc +0 -38
- package/deps/rocksdb/rocksdb/util/slice_test.cc +63 -2
- package/deps/rocksdb/rocksdb/util/status.cc +4 -3
- package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +1 -2
- package/deps/rocksdb/rocksdb/util/thread_local_test.cc +0 -4
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_iterator.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +0 -4
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_options.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +24 -10
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/compaction_filters.cc +4 -8
- package/deps/rocksdb/rocksdb/utilities/debug.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -6
- package/deps/rocksdb/rocksdb/utilities/env_timed.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators/max.cc +38 -54
- package/deps/rocksdb/rocksdb/utilities/merge_operators/max_operator.h +35 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +41 -59
- package/deps/rocksdb/rocksdb/utilities/merge_operators/put_operator.h +56 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +0 -4
- package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +29 -48
- package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.h +35 -0
- package/deps/rocksdb/rocksdb/utilities/merge_operators.cc +35 -40
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -42
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +25 -37
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +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 -2
- 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_bench.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +0 -4
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +2 -51
- 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 -2
- 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 -2
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +26 -25
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +1 -7
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +0 -7
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_tracker.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +0 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +0 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +0 -16
- package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +0 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +0 -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 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +102 -11
- 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_committed_transaction_ts_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +0 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -10
- package/deps/rocksdb/rocksdb/utilities/wal_filter.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +0 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +0 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +0 -10
- package/package.json +1 -1
- package/{deps/rocksdb/rocksdb/prebuilds → prebuilds}/linux-x64/node.napi.node +0 -0
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// (found in the LICENSE.Apache file in the root directory).
|
|
5
5
|
|
|
6
6
|
#include <array>
|
|
7
|
+
#include <cctype>
|
|
7
8
|
#include <memory>
|
|
8
9
|
|
|
9
10
|
#include "db/db_test_util.h"
|
|
@@ -104,6 +105,26 @@ TEST_F(DBWideBasicTest, PutEntity) {
|
|
|
104
105
|
ASSERT_EQ(values[2], third_value);
|
|
105
106
|
}
|
|
106
107
|
|
|
108
|
+
{
|
|
109
|
+
constexpr size_t num_keys = 3;
|
|
110
|
+
|
|
111
|
+
std::array<Slice, num_keys> keys{{first_key, second_key, third_key}};
|
|
112
|
+
std::array<PinnableWideColumns, num_keys> results;
|
|
113
|
+
std::array<Status, num_keys> statuses;
|
|
114
|
+
|
|
115
|
+
db_->MultiGetEntity(ReadOptions(), db_->DefaultColumnFamily(), num_keys,
|
|
116
|
+
&keys[0], &results[0], &statuses[0]);
|
|
117
|
+
|
|
118
|
+
ASSERT_OK(statuses[0]);
|
|
119
|
+
ASSERT_EQ(results[0].columns(), first_columns);
|
|
120
|
+
|
|
121
|
+
ASSERT_OK(statuses[1]);
|
|
122
|
+
ASSERT_EQ(results[1].columns(), second_columns);
|
|
123
|
+
|
|
124
|
+
ASSERT_OK(statuses[2]);
|
|
125
|
+
ASSERT_EQ(results[2].columns(), expected_third_columns);
|
|
126
|
+
}
|
|
127
|
+
|
|
107
128
|
{
|
|
108
129
|
std::unique_ptr<Iterator> iter(db_->NewIterator(ReadOptions()));
|
|
109
130
|
|
|
@@ -209,6 +230,40 @@ TEST_F(DBWideBasicTest, PutEntityColumnFamily) {
|
|
|
209
230
|
ASSERT_OK(db_->Write(WriteOptions(), &batch));
|
|
210
231
|
}
|
|
211
232
|
|
|
233
|
+
TEST_F(DBWideBasicTest, MultiCFMultiGetEntity) {
|
|
234
|
+
Options options = GetDefaultOptions();
|
|
235
|
+
CreateAndReopenWithCF({"corinthian"}, options);
|
|
236
|
+
|
|
237
|
+
constexpr char first_key[] = "first";
|
|
238
|
+
WideColumns first_columns{{"attr_name1", "foo"}, {"attr_name2", "bar"}};
|
|
239
|
+
|
|
240
|
+
ASSERT_OK(db_->PutEntity(WriteOptions(), db_->DefaultColumnFamily(),
|
|
241
|
+
first_key, first_columns));
|
|
242
|
+
|
|
243
|
+
constexpr char second_key[] = "second";
|
|
244
|
+
WideColumns second_columns{{"attr_one", "two"}, {"attr_three", "four"}};
|
|
245
|
+
|
|
246
|
+
ASSERT_OK(
|
|
247
|
+
db_->PutEntity(WriteOptions(), handles_[1], second_key, second_columns));
|
|
248
|
+
|
|
249
|
+
constexpr size_t num_keys = 2;
|
|
250
|
+
|
|
251
|
+
std::array<ColumnFamilyHandle*, num_keys> column_families{
|
|
252
|
+
{db_->DefaultColumnFamily(), handles_[1]}};
|
|
253
|
+
std::array<Slice, num_keys> keys{{first_key, second_key}};
|
|
254
|
+
std::array<PinnableWideColumns, num_keys> results;
|
|
255
|
+
std::array<Status, num_keys> statuses;
|
|
256
|
+
|
|
257
|
+
db_->MultiGetEntity(ReadOptions(), num_keys, &column_families[0], &keys[0],
|
|
258
|
+
&results[0], &statuses[0]);
|
|
259
|
+
|
|
260
|
+
ASSERT_OK(statuses[0]);
|
|
261
|
+
ASSERT_EQ(results[0].columns(), first_columns);
|
|
262
|
+
|
|
263
|
+
ASSERT_OK(statuses[1]);
|
|
264
|
+
ASSERT_EQ(results[1].columns(), second_columns);
|
|
265
|
+
}
|
|
266
|
+
|
|
212
267
|
TEST_F(DBWideBasicTest, MergePlainKeyValue) {
|
|
213
268
|
Options options = GetDefaultOptions();
|
|
214
269
|
options.create_if_missing = true;
|
|
@@ -279,6 +334,26 @@ TEST_F(DBWideBasicTest, MergePlainKeyValue) {
|
|
|
279
334
|
ASSERT_EQ(result.columns(), expected_third_columns);
|
|
280
335
|
}
|
|
281
336
|
|
|
337
|
+
{
|
|
338
|
+
constexpr size_t num_keys = 3;
|
|
339
|
+
|
|
340
|
+
std::array<Slice, num_keys> keys{{first_key, second_key, third_key}};
|
|
341
|
+
std::array<PinnableWideColumns, num_keys> results;
|
|
342
|
+
std::array<Status, num_keys> statuses;
|
|
343
|
+
|
|
344
|
+
db_->MultiGetEntity(ReadOptions(), db_->DefaultColumnFamily(), num_keys,
|
|
345
|
+
&keys[0], &results[0], &statuses[0]);
|
|
346
|
+
|
|
347
|
+
ASSERT_OK(statuses[0]);
|
|
348
|
+
ASSERT_EQ(results[0].columns(), expected_first_columns);
|
|
349
|
+
|
|
350
|
+
ASSERT_OK(statuses[1]);
|
|
351
|
+
ASSERT_EQ(results[1].columns(), expected_second_columns);
|
|
352
|
+
|
|
353
|
+
ASSERT_OK(statuses[2]);
|
|
354
|
+
ASSERT_EQ(results[2].columns(), expected_third_columns);
|
|
355
|
+
}
|
|
356
|
+
|
|
282
357
|
{
|
|
283
358
|
std::unique_ptr<Iterator> iter(db_->NewIterator(ReadOptions()));
|
|
284
359
|
|
|
@@ -456,6 +531,23 @@ TEST_F(DBWideBasicTest, MergeEntity) {
|
|
|
456
531
|
ASSERT_OK(statuses[1]);
|
|
457
532
|
}
|
|
458
533
|
|
|
534
|
+
{
|
|
535
|
+
constexpr size_t num_keys = 2;
|
|
536
|
+
|
|
537
|
+
std::array<Slice, num_keys> keys{{first_key, second_key}};
|
|
538
|
+
std::array<PinnableWideColumns, num_keys> results;
|
|
539
|
+
std::array<Status, num_keys> statuses;
|
|
540
|
+
|
|
541
|
+
db_->MultiGetEntity(ReadOptions(), db_->DefaultColumnFamily(), num_keys,
|
|
542
|
+
&keys[0], &results[0], &statuses[0]);
|
|
543
|
+
|
|
544
|
+
ASSERT_OK(statuses[0]);
|
|
545
|
+
ASSERT_EQ(results[0].columns(), first_expected_columns);
|
|
546
|
+
|
|
547
|
+
ASSERT_OK(statuses[1]);
|
|
548
|
+
ASSERT_EQ(results[1].columns(), second_expected_columns);
|
|
549
|
+
}
|
|
550
|
+
|
|
459
551
|
{
|
|
460
552
|
std::unique_ptr<Iterator> iter(db_->NewIterator(ReadOptions()));
|
|
461
553
|
|
|
@@ -593,6 +685,302 @@ TEST_F(DBWideBasicTest, MergeEntity) {
|
|
|
593
685
|
verify_merge_ops_post_compaction();
|
|
594
686
|
}
|
|
595
687
|
|
|
688
|
+
TEST_F(DBWideBasicTest, CompactionFilter) {
|
|
689
|
+
Options options = GetDefaultOptions();
|
|
690
|
+
options.create_if_missing = true;
|
|
691
|
+
|
|
692
|
+
// Wide-column entity with default column
|
|
693
|
+
constexpr char first_key[] = "first";
|
|
694
|
+
WideColumns first_columns{{kDefaultWideColumnName, "a"},
|
|
695
|
+
{"attr_name1", "foo"},
|
|
696
|
+
{"attr_name2", "bar"}};
|
|
697
|
+
WideColumns first_columns_uppercase{{kDefaultWideColumnName, "A"},
|
|
698
|
+
{"attr_name1", "FOO"},
|
|
699
|
+
{"attr_name2", "BAR"}};
|
|
700
|
+
|
|
701
|
+
// Wide-column entity without default column
|
|
702
|
+
constexpr char second_key[] = "second";
|
|
703
|
+
WideColumns second_columns{{"attr_one", "two"}, {"attr_three", "four"}};
|
|
704
|
+
WideColumns second_columns_uppercase{{"attr_one", "TWO"},
|
|
705
|
+
{"attr_three", "FOUR"}};
|
|
706
|
+
|
|
707
|
+
// Plain old key-value
|
|
708
|
+
constexpr char last_key[] = "last";
|
|
709
|
+
constexpr char last_value[] = "baz";
|
|
710
|
+
constexpr char last_value_uppercase[] = "BAZ";
|
|
711
|
+
|
|
712
|
+
auto write = [&] {
|
|
713
|
+
ASSERT_OK(db_->PutEntity(WriteOptions(), db_->DefaultColumnFamily(),
|
|
714
|
+
first_key, first_columns));
|
|
715
|
+
ASSERT_OK(db_->PutEntity(WriteOptions(), db_->DefaultColumnFamily(),
|
|
716
|
+
second_key, second_columns));
|
|
717
|
+
|
|
718
|
+
ASSERT_OK(Flush());
|
|
719
|
+
|
|
720
|
+
ASSERT_OK(db_->Put(WriteOptions(), db_->DefaultColumnFamily(), last_key,
|
|
721
|
+
last_value));
|
|
722
|
+
|
|
723
|
+
ASSERT_OK(Flush());
|
|
724
|
+
ASSERT_OK(db_->CompactRange(CompactRangeOptions(), /* begin */ nullptr,
|
|
725
|
+
/* end */ nullptr));
|
|
726
|
+
};
|
|
727
|
+
|
|
728
|
+
// Test a compaction filter that keeps all entries
|
|
729
|
+
{
|
|
730
|
+
class KeepFilter : public CompactionFilter {
|
|
731
|
+
public:
|
|
732
|
+
Decision FilterV3(
|
|
733
|
+
int /* level */, const Slice& /* key */, ValueType /* value_type */,
|
|
734
|
+
const Slice* /* existing_value */,
|
|
735
|
+
const WideColumns* /* existing_columns */,
|
|
736
|
+
std::string* /* new_value */,
|
|
737
|
+
std::vector<std::pair<std::string, std::string>>* /* new_columns */,
|
|
738
|
+
std::string* /* skip_until */) const override {
|
|
739
|
+
return Decision::kKeep;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
const char* Name() const override { return "KeepFilter"; }
|
|
743
|
+
};
|
|
744
|
+
|
|
745
|
+
KeepFilter filter;
|
|
746
|
+
options.compaction_filter = &filter;
|
|
747
|
+
|
|
748
|
+
DestroyAndReopen(options);
|
|
749
|
+
|
|
750
|
+
write();
|
|
751
|
+
|
|
752
|
+
{
|
|
753
|
+
PinnableWideColumns result;
|
|
754
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
755
|
+
first_key, &result));
|
|
756
|
+
ASSERT_EQ(result.columns(), first_columns);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
{
|
|
760
|
+
PinnableWideColumns result;
|
|
761
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
762
|
+
second_key, &result));
|
|
763
|
+
ASSERT_EQ(result.columns(), second_columns);
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
// Note: GetEntity should return an entity with a single default column,
|
|
767
|
+
// since last_key is a plain key-value
|
|
768
|
+
{
|
|
769
|
+
PinnableWideColumns result;
|
|
770
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
771
|
+
last_key, &result));
|
|
772
|
+
|
|
773
|
+
WideColumns expected_columns{{kDefaultWideColumnName, last_value}};
|
|
774
|
+
ASSERT_EQ(result.columns(), expected_columns);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
// Test a compaction filter that removes all entries
|
|
779
|
+
{
|
|
780
|
+
class RemoveFilter : public CompactionFilter {
|
|
781
|
+
public:
|
|
782
|
+
Decision FilterV3(
|
|
783
|
+
int /* level */, const Slice& /* key */, ValueType /* value_type */,
|
|
784
|
+
const Slice* /* existing_value */,
|
|
785
|
+
const WideColumns* /* existing_columns */,
|
|
786
|
+
std::string* /* new_value */,
|
|
787
|
+
std::vector<std::pair<std::string, std::string>>* /* new_columns */,
|
|
788
|
+
std::string* /* skip_until */) const override {
|
|
789
|
+
return Decision::kRemove;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
const char* Name() const override { return "RemoveFilter"; }
|
|
793
|
+
};
|
|
794
|
+
|
|
795
|
+
RemoveFilter filter;
|
|
796
|
+
options.compaction_filter = &filter;
|
|
797
|
+
|
|
798
|
+
DestroyAndReopen(options);
|
|
799
|
+
|
|
800
|
+
write();
|
|
801
|
+
|
|
802
|
+
{
|
|
803
|
+
PinnableWideColumns result;
|
|
804
|
+
ASSERT_TRUE(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
805
|
+
first_key, &result)
|
|
806
|
+
.IsNotFound());
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
{
|
|
810
|
+
PinnableWideColumns result;
|
|
811
|
+
ASSERT_TRUE(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
812
|
+
second_key, &result)
|
|
813
|
+
.IsNotFound());
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
{
|
|
817
|
+
PinnableWideColumns result;
|
|
818
|
+
ASSERT_TRUE(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
819
|
+
last_key, &result)
|
|
820
|
+
.IsNotFound());
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
// Test a compaction filter that changes the values of entries to uppercase.
|
|
825
|
+
// The new entry is always a plain key-value; if the existing entry is a
|
|
826
|
+
// wide-column entity, only the value of its first column is kept.
|
|
827
|
+
{
|
|
828
|
+
class ChangeValueFilter : public CompactionFilter {
|
|
829
|
+
public:
|
|
830
|
+
Decision FilterV3(
|
|
831
|
+
int /* level */, const Slice& /* key */, ValueType value_type,
|
|
832
|
+
const Slice* existing_value, const WideColumns* existing_columns,
|
|
833
|
+
std::string* new_value,
|
|
834
|
+
std::vector<std::pair<std::string, std::string>>* /* new_columns */,
|
|
835
|
+
std::string* /* skip_until */) const override {
|
|
836
|
+
assert(new_value);
|
|
837
|
+
|
|
838
|
+
auto upper = [](const std::string& str) {
|
|
839
|
+
std::string result(str);
|
|
840
|
+
|
|
841
|
+
for (char& c : result) {
|
|
842
|
+
c = static_cast<char>(std::toupper(static_cast<unsigned char>(c)));
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
return result;
|
|
846
|
+
};
|
|
847
|
+
|
|
848
|
+
if (value_type == ValueType::kWideColumnEntity) {
|
|
849
|
+
assert(existing_columns);
|
|
850
|
+
|
|
851
|
+
if (!existing_columns->empty()) {
|
|
852
|
+
*new_value = upper(existing_columns->front().value().ToString());
|
|
853
|
+
}
|
|
854
|
+
} else {
|
|
855
|
+
assert(existing_value);
|
|
856
|
+
|
|
857
|
+
*new_value = upper(existing_value->ToString());
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
return Decision::kChangeValue;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
const char* Name() const override { return "ChangeValueFilter"; }
|
|
864
|
+
};
|
|
865
|
+
|
|
866
|
+
ChangeValueFilter filter;
|
|
867
|
+
options.compaction_filter = &filter;
|
|
868
|
+
|
|
869
|
+
DestroyAndReopen(options);
|
|
870
|
+
|
|
871
|
+
write();
|
|
872
|
+
|
|
873
|
+
// Note: GetEntity should return entities with a single default column,
|
|
874
|
+
// since all entries are now plain key-values
|
|
875
|
+
{
|
|
876
|
+
PinnableWideColumns result;
|
|
877
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
878
|
+
first_key, &result));
|
|
879
|
+
|
|
880
|
+
WideColumns expected_columns{
|
|
881
|
+
{kDefaultWideColumnName, first_columns_uppercase[0].value()}};
|
|
882
|
+
ASSERT_EQ(result.columns(), expected_columns);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
{
|
|
886
|
+
PinnableWideColumns result;
|
|
887
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
888
|
+
second_key, &result));
|
|
889
|
+
|
|
890
|
+
WideColumns expected_columns{
|
|
891
|
+
{kDefaultWideColumnName, second_columns_uppercase[0].value()}};
|
|
892
|
+
ASSERT_EQ(result.columns(), expected_columns);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
{
|
|
896
|
+
PinnableWideColumns result;
|
|
897
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
898
|
+
last_key, &result));
|
|
899
|
+
|
|
900
|
+
WideColumns expected_columns{
|
|
901
|
+
{kDefaultWideColumnName, last_value_uppercase}};
|
|
902
|
+
ASSERT_EQ(result.columns(), expected_columns);
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
// Test a compaction filter that changes the column values of entries to
|
|
907
|
+
// uppercase. The new entry is always a wide-column entity; if the existing
|
|
908
|
+
// entry is a plain key-value, it is converted to a wide-column entity with a
|
|
909
|
+
// single default column.
|
|
910
|
+
{
|
|
911
|
+
class ChangeEntityFilter : public CompactionFilter {
|
|
912
|
+
public:
|
|
913
|
+
Decision FilterV3(
|
|
914
|
+
int /* level */, const Slice& /* key */, ValueType value_type,
|
|
915
|
+
const Slice* existing_value, const WideColumns* existing_columns,
|
|
916
|
+
std::string* /* new_value */,
|
|
917
|
+
std::vector<std::pair<std::string, std::string>>* new_columns,
|
|
918
|
+
std::string* /* skip_until */) const override {
|
|
919
|
+
assert(new_columns);
|
|
920
|
+
|
|
921
|
+
auto upper = [](const std::string& str) {
|
|
922
|
+
std::string result(str);
|
|
923
|
+
|
|
924
|
+
for (char& c : result) {
|
|
925
|
+
c = static_cast<char>(std::toupper(static_cast<unsigned char>(c)));
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
return result;
|
|
929
|
+
};
|
|
930
|
+
|
|
931
|
+
if (value_type == ValueType::kWideColumnEntity) {
|
|
932
|
+
assert(existing_columns);
|
|
933
|
+
|
|
934
|
+
for (const auto& column : *existing_columns) {
|
|
935
|
+
new_columns->emplace_back(column.name().ToString(),
|
|
936
|
+
upper(column.value().ToString()));
|
|
937
|
+
}
|
|
938
|
+
} else {
|
|
939
|
+
assert(existing_value);
|
|
940
|
+
|
|
941
|
+
new_columns->emplace_back(kDefaultWideColumnName.ToString(),
|
|
942
|
+
upper(existing_value->ToString()));
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
return Decision::kChangeWideColumnEntity;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
const char* Name() const override { return "ChangeEntityFilter"; }
|
|
949
|
+
};
|
|
950
|
+
|
|
951
|
+
ChangeEntityFilter filter;
|
|
952
|
+
options.compaction_filter = &filter;
|
|
953
|
+
|
|
954
|
+
DestroyAndReopen(options);
|
|
955
|
+
|
|
956
|
+
write();
|
|
957
|
+
|
|
958
|
+
{
|
|
959
|
+
PinnableWideColumns result;
|
|
960
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
961
|
+
first_key, &result));
|
|
962
|
+
ASSERT_EQ(result.columns(), first_columns_uppercase);
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
{
|
|
966
|
+
PinnableWideColumns result;
|
|
967
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
968
|
+
second_key, &result));
|
|
969
|
+
ASSERT_EQ(result.columns(), second_columns_uppercase);
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
{
|
|
973
|
+
PinnableWideColumns result;
|
|
974
|
+
ASSERT_OK(db_->GetEntity(ReadOptions(), db_->DefaultColumnFamily(),
|
|
975
|
+
last_key, &result));
|
|
976
|
+
|
|
977
|
+
WideColumns expected_columns{
|
|
978
|
+
{kDefaultWideColumnName, last_value_uppercase}};
|
|
979
|
+
ASSERT_EQ(result.columns(), expected_columns);
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
|
|
596
984
|
TEST_F(DBWideBasicTest, PutEntityTimestampError) {
|
|
597
985
|
// Note: timestamps are currently not supported
|
|
598
986
|
|
|
@@ -677,7 +677,6 @@ TEST_F(WriteBatchTest, ColumnFamiliesBatchTest) {
|
|
|
677
677
|
handler.seen);
|
|
678
678
|
}
|
|
679
679
|
|
|
680
|
-
#ifndef ROCKSDB_LITE
|
|
681
680
|
TEST_F(WriteBatchTest, ColumnFamiliesBatchWithIndexTest) {
|
|
682
681
|
WriteBatchWithIndex batch;
|
|
683
682
|
ColumnFamilyHandleImplDummy zero(0), two(2), three(3), eight(8);
|
|
@@ -779,7 +778,6 @@ TEST_F(WriteBatchTest, ColumnFamiliesBatchWithIndexTest) {
|
|
|
779
778
|
"Merge(omom, nom)",
|
|
780
779
|
handler.seen);
|
|
781
780
|
}
|
|
782
|
-
#endif // !ROCKSDB_LITE
|
|
783
781
|
|
|
784
782
|
TEST_F(WriteBatchTest, SavePointTest) {
|
|
785
783
|
Status s;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
4
|
// (found in the LICENSE.Apache file in the root directory).
|
|
5
5
|
|
|
6
|
-
#ifndef ROCKSDB_LITE
|
|
7
6
|
|
|
8
7
|
#include "db/write_callback.h"
|
|
9
8
|
|
|
@@ -453,13 +452,3 @@ int main(int argc, char** argv) {
|
|
|
453
452
|
return RUN_ALL_TESTS();
|
|
454
453
|
}
|
|
455
454
|
|
|
456
|
-
#else
|
|
457
|
-
#include <stdio.h>
|
|
458
|
-
|
|
459
|
-
int main(int /*argc*/, char** /*argv*/) {
|
|
460
|
-
fprintf(stderr,
|
|
461
|
-
"SKIPPED as WriteWithCallback is not supported in ROCKSDB_LITE\n");
|
|
462
|
-
return 0;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
#endif // !ROCKSDB_LITE
|
|
@@ -228,6 +228,7 @@ bool WriteThread::LinkOne(Writer* w, std::atomic<Writer*>* newest_writer) {
|
|
|
228
228
|
assert(w->state == STATE_INIT);
|
|
229
229
|
Writer* writers = newest_writer->load(std::memory_order_relaxed);
|
|
230
230
|
while (true) {
|
|
231
|
+
assert(writers != w);
|
|
231
232
|
// If write stall in effect, and w->no_slowdown is not true,
|
|
232
233
|
// block here until stall is cleared. If its true, then return
|
|
233
234
|
// immediately
|
|
@@ -325,6 +326,7 @@ void WriteThread::CompleteFollower(Writer* w, WriteGroup& write_group) {
|
|
|
325
326
|
}
|
|
326
327
|
|
|
327
328
|
void WriteThread::BeginWriteStall() {
|
|
329
|
+
++stall_begun_count_;
|
|
328
330
|
LinkOne(&write_stall_dummy_, &newest_writer_);
|
|
329
331
|
|
|
330
332
|
// Walk writer list until w->write_group != nullptr. The current write group
|
|
@@ -367,10 +369,34 @@ void WriteThread::EndWriteStall() {
|
|
|
367
369
|
}
|
|
368
370
|
newest_writer_.exchange(write_stall_dummy_.link_older);
|
|
369
371
|
|
|
372
|
+
++stall_ended_count_;
|
|
373
|
+
|
|
370
374
|
// Wake up writers
|
|
371
375
|
stall_cv_.SignalAll();
|
|
372
376
|
}
|
|
373
377
|
|
|
378
|
+
uint64_t WriteThread::GetBegunCountOfOutstandingStall() {
|
|
379
|
+
if (stall_begun_count_ > stall_ended_count_) {
|
|
380
|
+
// Oustanding stall in queue
|
|
381
|
+
assert(newest_writer_.load(std::memory_order_relaxed) ==
|
|
382
|
+
&write_stall_dummy_);
|
|
383
|
+
return stall_begun_count_;
|
|
384
|
+
} else {
|
|
385
|
+
// No stall in queue
|
|
386
|
+
assert(newest_writer_.load(std::memory_order_relaxed) !=
|
|
387
|
+
&write_stall_dummy_);
|
|
388
|
+
return 0;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
void WriteThread::WaitForStallEndedCount(uint64_t stall_count) {
|
|
393
|
+
MutexLock lock(&stall_mu_);
|
|
394
|
+
|
|
395
|
+
while (stall_ended_count_ < stall_count) {
|
|
396
|
+
stall_cv_.Wait();
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
374
400
|
static WriteThread::AdaptationContext jbg_ctx("JoinBatchGroup");
|
|
375
401
|
void WriteThread::JoinBatchGroup(Writer* w) {
|
|
376
402
|
TEST_SYNC_POINT_CALLBACK("WriteThread::JoinBatchGroup:Start", w);
|
|
@@ -357,11 +357,23 @@ class WriteThread {
|
|
|
357
357
|
|
|
358
358
|
// Insert a dummy writer at the tail of the write queue to indicate a write
|
|
359
359
|
// stall, and fail any writers in the queue with no_slowdown set to true
|
|
360
|
+
// REQUIRES: db mutex held, no other stall on this queue outstanding
|
|
360
361
|
void BeginWriteStall();
|
|
361
362
|
|
|
362
363
|
// Remove the dummy writer and wake up waiting writers
|
|
364
|
+
// REQUIRES: db mutex held
|
|
363
365
|
void EndWriteStall();
|
|
364
366
|
|
|
367
|
+
// Number of BeginWriteStall(), or 0 if there is no active stall in the
|
|
368
|
+
// write queue.
|
|
369
|
+
// REQUIRES: db mutex held
|
|
370
|
+
uint64_t GetBegunCountOfOutstandingStall();
|
|
371
|
+
|
|
372
|
+
// Wait for number of completed EndWriteStall() to reach >= `stall_count`,
|
|
373
|
+
// which will generally have come from GetBegunCountOfOutstandingStall().
|
|
374
|
+
// (Does not require db mutex held)
|
|
375
|
+
void WaitForStallEndedCount(uint64_t stall_count);
|
|
376
|
+
|
|
365
377
|
private:
|
|
366
378
|
// See AwaitState.
|
|
367
379
|
const uint64_t max_yield_usec_;
|
|
@@ -401,6 +413,18 @@ class WriteThread {
|
|
|
401
413
|
port::Mutex stall_mu_;
|
|
402
414
|
port::CondVar stall_cv_;
|
|
403
415
|
|
|
416
|
+
// Count the number of stalls begun, so that we can check whether
|
|
417
|
+
// a particular stall has cleared (even if caught in another stall).
|
|
418
|
+
// Controlled by DB mutex.
|
|
419
|
+
// Because of the contract on BeginWriteStall() / EndWriteStall(),
|
|
420
|
+
// stall_ended_count_ <= stall_begun_count_ <= stall_ended_count_ + 1.
|
|
421
|
+
uint64_t stall_begun_count_ = 0;
|
|
422
|
+
// Count the number of stalls ended, so that we can check whether
|
|
423
|
+
// a particular stall has cleared (even if caught in another stall).
|
|
424
|
+
// Writes controlled by DB mutex + stall_mu_, signalled by stall_cv_.
|
|
425
|
+
// Read with stall_mu or DB mutex.
|
|
426
|
+
uint64_t stall_ended_count_ = 0;
|
|
427
|
+
|
|
404
428
|
// Waits for w->state & goal_mask using w->StateMutex(). Returns
|
|
405
429
|
// the state that satisfies goal_mask.
|
|
406
430
|
uint8_t BlockingAwaitState(Writer* w, uint8_t goal_mask);
|
|
@@ -466,7 +466,6 @@ class CfConsistencyStressTest : public StressTest {
|
|
|
466
466
|
iters[i]->key().ToString(true /* hex */).c_str(),
|
|
467
467
|
iters[i]->value().ToString(true /* hex */).c_str());
|
|
468
468
|
|
|
469
|
-
#ifndef ROCKSDB_LITE
|
|
470
469
|
Slice begin_key;
|
|
471
470
|
Slice end_key;
|
|
472
471
|
if (cmp < 0) {
|
|
@@ -509,7 +508,6 @@ class CfConsistencyStressTest : public StressTest {
|
|
|
509
508
|
}
|
|
510
509
|
|
|
511
510
|
print_key_versions(column_families_[i]);
|
|
512
|
-
#endif // ROCKSDB_LITE
|
|
513
511
|
|
|
514
512
|
shared->SetVerificationFailure();
|
|
515
513
|
}
|
|
@@ -524,7 +522,6 @@ class CfConsistencyStressTest : public StressTest {
|
|
|
524
522
|
} while (true);
|
|
525
523
|
}
|
|
526
524
|
|
|
527
|
-
#ifndef ROCKSDB_LITE
|
|
528
525
|
void ContinuouslyVerifyDb(ThreadState* thread) const override {
|
|
529
526
|
assert(thread);
|
|
530
527
|
Status status;
|
|
@@ -614,9 +611,6 @@ class CfConsistencyStressTest : public StressTest {
|
|
|
614
611
|
}
|
|
615
612
|
}
|
|
616
613
|
}
|
|
617
|
-
#else // ROCKSDB_LITE
|
|
618
|
-
void ContinuouslyVerifyDb(ThreadState* /*thread*/) const override {}
|
|
619
|
-
#endif // !ROCKSDB_LITE
|
|
620
614
|
|
|
621
615
|
std::vector<int> GenerateColumnFamilies(
|
|
622
616
|
const int /* num_column_families */,
|
|
@@ -87,6 +87,7 @@ DECLARE_int64(active_width);
|
|
|
87
87
|
DECLARE_bool(test_batches_snapshots);
|
|
88
88
|
DECLARE_bool(atomic_flush);
|
|
89
89
|
DECLARE_int32(manual_wal_flush_one_in);
|
|
90
|
+
DECLARE_int32(lock_wal_one_in);
|
|
90
91
|
DECLARE_bool(test_cf_consistency);
|
|
91
92
|
DECLARE_bool(test_multi_ops_txns);
|
|
92
93
|
DECLARE_int32(threads);
|
|
@@ -252,7 +253,6 @@ DECLARE_int32(continuous_verification_interval);
|
|
|
252
253
|
DECLARE_int32(get_property_one_in);
|
|
253
254
|
DECLARE_string(file_checksum_impl);
|
|
254
255
|
|
|
255
|
-
#ifndef ROCKSDB_LITE
|
|
256
256
|
// Options for StackableDB-based BlobDB
|
|
257
257
|
DECLARE_bool(use_blob_db);
|
|
258
258
|
DECLARE_uint64(blob_db_min_blob_size);
|
|
@@ -260,7 +260,6 @@ DECLARE_uint64(blob_db_bytes_per_sync);
|
|
|
260
260
|
DECLARE_uint64(blob_db_file_size);
|
|
261
261
|
DECLARE_bool(blob_db_enable_gc);
|
|
262
262
|
DECLARE_double(blob_db_gc_cutoff);
|
|
263
|
-
#endif // !ROCKSDB_LITE
|
|
264
263
|
|
|
265
264
|
// Options for integrated BlobDB
|
|
266
265
|
DECLARE_bool(allow_setting_blob_options_dynamically);
|
|
@@ -297,11 +296,9 @@ DECLARE_int32(secondary_cache_fault_one_in);
|
|
|
297
296
|
DECLARE_int32(prepopulate_block_cache);
|
|
298
297
|
|
|
299
298
|
DECLARE_bool(two_write_queues);
|
|
300
|
-
#ifndef ROCKSDB_LITE
|
|
301
299
|
DECLARE_bool(use_only_the_last_commit_time_batch_for_recovery);
|
|
302
300
|
DECLARE_uint64(wp_snapshot_cache_bits);
|
|
303
301
|
DECLARE_uint64(wp_commit_cache_bits);
|
|
304
|
-
#endif // !ROCKSDB_LITE
|
|
305
302
|
|
|
306
303
|
DECLARE_bool(adaptive_readahead);
|
|
307
304
|
DECLARE_bool(async_io);
|
|
@@ -92,6 +92,10 @@ DEFINE_int32(
|
|
|
92
92
|
"on average. Setting `manual_wal_flush_one_in` to be greater than 0 "
|
|
93
93
|
"implies `Options::manual_wal_flush = true` is set.");
|
|
94
94
|
|
|
95
|
+
DEFINE_int32(lock_wal_one_in, 1000000,
|
|
96
|
+
"If non-zero, then `LockWAL()` + `UnlockWAL()` will be called in "
|
|
97
|
+
"db_stress once for every N ops on average.");
|
|
98
|
+
|
|
95
99
|
DEFINE_bool(test_cf_consistency, false,
|
|
96
100
|
"If set, runs the stress test dedicated to verifying writes to "
|
|
97
101
|
"multiple column families are consistent. Setting this implies "
|
|
@@ -390,7 +394,6 @@ DEFINE_double(experimental_mempurge_threshold, 0.0,
|
|
|
390
394
|
DEFINE_bool(enable_write_thread_adaptive_yield, true,
|
|
391
395
|
"Use a yielding spin loop for brief writer thread waits.");
|
|
392
396
|
|
|
393
|
-
#ifndef ROCKSDB_LITE
|
|
394
397
|
// Options for StackableDB-based BlobDB
|
|
395
398
|
DEFINE_bool(use_blob_db, false, "[Stacked BlobDB] Use BlobDB.");
|
|
396
399
|
|
|
@@ -418,7 +421,6 @@ DEFINE_double(
|
|
|
418
421
|
blob_db_gc_cutoff,
|
|
419
422
|
ROCKSDB_NAMESPACE::blob_db::BlobDBOptions().garbage_collection_cutoff,
|
|
420
423
|
"[Stacked BlobDB] Cutoff ratio for BlobDB garbage collection.");
|
|
421
|
-
#endif // !ROCKSDB_LITE
|
|
422
424
|
|
|
423
425
|
// Options for integrated BlobDB
|
|
424
426
|
DEFINE_bool(allow_setting_blob_options_dynamically, false,
|
|
@@ -983,13 +985,11 @@ DEFINE_int32(open_metadata_write_fault_one_in, 0,
|
|
|
983
985
|
"On non-zero, enables fault injection on file metadata write "
|
|
984
986
|
"during DB reopen.");
|
|
985
987
|
|
|
986
|
-
#ifndef ROCKSDB_LITE
|
|
987
988
|
DEFINE_string(secondary_cache_uri, "",
|
|
988
989
|
"Full URI for creating a customized secondary cache object");
|
|
989
990
|
DEFINE_int32(secondary_cache_fault_one_in, 0,
|
|
990
991
|
"On non-zero, enables fault injection in secondary cache inserts"
|
|
991
992
|
" and lookups");
|
|
992
|
-
#endif // ROCKSDB_LITE
|
|
993
993
|
DEFINE_int32(open_write_fault_one_in, 0,
|
|
994
994
|
"On non-zero, enables fault injection on file writes "
|
|
995
995
|
"during DB reopen.");
|
|
@@ -1008,7 +1008,6 @@ DEFINE_int32(prepopulate_block_cache,
|
|
|
1008
1008
|
|
|
1009
1009
|
DEFINE_bool(two_write_queues, false,
|
|
1010
1010
|
"Set to true to enable two write queues. Default: false");
|
|
1011
|
-
#ifndef ROCKSDB_LITE
|
|
1012
1011
|
|
|
1013
1012
|
DEFINE_bool(use_only_the_last_commit_time_batch_for_recovery, false,
|
|
1014
1013
|
"If true, the commit-time write batch will not be immediately "
|
|
@@ -1022,7 +1021,6 @@ DEFINE_uint64(
|
|
|
1022
1021
|
DEFINE_uint64(wp_commit_cache_bits, 23ull,
|
|
1023
1022
|
"Number of bits to represent write-prepared transaction db's "
|
|
1024
1023
|
"commit cache. Default: 23 (8M entries)");
|
|
1025
|
-
#endif // !ROCKSDB_LITE
|
|
1026
1024
|
|
|
1027
1025
|
DEFINE_bool(adaptive_readahead, false,
|
|
1028
1026
|
"Carry forward internal auto readahead size from one file to next "
|
|
@@ -1075,4 +1073,6 @@ DEFINE_uint64(stats_dump_period_sec,
|
|
|
1075
1073
|
ROCKSDB_NAMESPACE::Options().stats_dump_period_sec,
|
|
1076
1074
|
"Gap between printing stats to log in seconds");
|
|
1077
1075
|
|
|
1076
|
+
extern "C" bool RocksDbIOUringEnable() { return true; }
|
|
1077
|
+
|
|
1078
1078
|
#endif // GFLAGS
|