@nxtedition/rocksdb 8.2.8 → 9.0.1
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 +0 -21
- package/deps/rocksdb/rocksdb/CMakeLists.txt +20 -10
- package/deps/rocksdb/rocksdb/Makefile +37 -25
- package/deps/rocksdb/rocksdb/README.md +29 -0
- package/deps/rocksdb/rocksdb/TARGETS +25 -2
- package/deps/rocksdb/rocksdb/cache/cache.cc +35 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +229 -74
- package/deps/rocksdb/rocksdb/cache/cache_helpers.cc +2 -1
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +4 -3
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +58 -95
- package/deps/rocksdb/rocksdb/cache/charged_cache.cc +4 -2
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +5 -3
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +2683 -496
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +580 -159
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +145 -42
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +20 -1
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +391 -17
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +7 -5
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +309 -212
- package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +0 -32
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +439 -12
- package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.h +44 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +11 -1
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +16 -3
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +119 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +155 -0
- package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +711 -0
- package/deps/rocksdb/rocksdb/cache/typed_cache.h +17 -11
- package/deps/rocksdb/rocksdb/crash_test.mk +14 -0
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +28 -12
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +1 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +2 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +20 -22
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +1 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +8 -0
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -3
- package/deps/rocksdb/rocksdb/db/builder.cc +35 -10
- package/deps/rocksdb/rocksdb/db/c.cc +233 -6
- package/deps/rocksdb/rocksdb/db/c_test.c +140 -6
- package/deps/rocksdb/rocksdb/db/column_family.cc +110 -51
- package/deps/rocksdb/rocksdb/db/column_family.h +34 -2
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +314 -7
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +106 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +47 -9
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +10 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +148 -60
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +22 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +33 -23
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +14 -5
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +3 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +90 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +170 -95
- package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +3 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +32 -58
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +20 -3
- package/deps/rocksdb/rocksdb/db/convenience_impl.h +15 -0
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +17 -0
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +46 -10
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +13 -3
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +74 -15
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +27 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +850 -44
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +2 -29
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +275 -1
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +52 -19
- package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +6 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +733 -320
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +155 -66
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +516 -155
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +2 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +17 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +100 -35
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +95 -50
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +13 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +136 -79
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +6 -95
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +31 -22
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +6 -0
- package/deps/rocksdb/rocksdb/db/db_iter.cc +85 -57
- package/deps/rocksdb/rocksdb/db/db_iter.h +11 -2
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +29 -0
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +276 -21
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +35 -0
- package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +4 -11
- package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +193 -7
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +294 -26
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +26 -36
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +364 -0
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +13 -3
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +52 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +74 -1
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +22 -4
- package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +282 -167
- package/deps/rocksdb/rocksdb/db/db_test.cc +180 -49
- package/deps/rocksdb/rocksdb/db/db_test2.cc +84 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +25 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.h +45 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +14 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +245 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +480 -1
- package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/dbformat.cc +36 -0
- package/deps/rocksdb/rocksdb/db/dbformat.h +169 -20
- package/deps/rocksdb/rocksdb/db/dbformat_test.cc +129 -0
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/error_handler.cc +67 -34
- package/deps/rocksdb/rocksdb/db/error_handler.h +13 -9
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +4 -0
- package/deps/rocksdb/rocksdb/db/experimental.cc +2 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +4 -4
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +17 -8
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +144 -4
- package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/file_indexer.cc +2 -4
- package/deps/rocksdb/rocksdb/db/flush_job.cc +105 -17
- package/deps/rocksdb/rocksdb/db/flush_job.h +27 -4
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +90 -12
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +2 -3
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +159 -91
- package/deps/rocksdb/rocksdb/db/import_column_family_job.h +19 -10
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +143 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -1
- package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
- package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/log_reader.h +3 -2
- package/deps/rocksdb/rocksdb/db/log_test.cc +17 -21
- package/deps/rocksdb/rocksdb/db/log_writer.cc +1 -1
- package/deps/rocksdb/rocksdb/db/log_writer.h +3 -2
- package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +70 -83
- package/deps/rocksdb/rocksdb/db/memtable.h +45 -1
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +45 -11
- package/deps/rocksdb/rocksdb/db/memtable_list.h +43 -2
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +91 -5
- package/deps/rocksdb/rocksdb/db/merge_helper.cc +330 -115
- package/deps/rocksdb/rocksdb/db/merge_helper.h +100 -12
- package/deps/rocksdb/rocksdb/db/merge_operator.cc +82 -0
- package/deps/rocksdb/rocksdb/db/merge_test.cc +267 -0
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +5 -2
- package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +4 -4
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +3 -0
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -0
- package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +4 -0
- package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +4 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +25 -7
- package/deps/rocksdb/rocksdb/db/repair_test.cc +143 -2
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +459 -74
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +105 -69
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +83 -46
- package/deps/rocksdb/rocksdb/db/table_cache.cc +76 -54
- package/deps/rocksdb/rocksdb/db/table_cache.h +18 -12
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -2
- package/deps/rocksdb/rocksdb/db/version_builder.cc +0 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +236 -204
- package/deps/rocksdb/rocksdb/db/version_edit.cc +66 -4
- package/deps/rocksdb/rocksdb/db/version_edit.h +58 -10
- package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +80 -8
- package/deps/rocksdb/rocksdb/db/version_edit_handler.h +12 -0
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +86 -17
- package/deps/rocksdb/rocksdb/db/version_set.cc +207 -110
- package/deps/rocksdb/rocksdb/db/version_set.h +36 -15
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +2 -5
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +47 -26
- package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +525 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +6 -22
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +0 -20
- package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +0 -29
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.cc +46 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.h +40 -0
- package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper_test.cc +39 -0
- package/deps/rocksdb/rocksdb/db/write_batch.cc +55 -20
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +3 -0
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +16 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +4 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +4 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +88 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +37 -13
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +110 -58
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +42 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +68 -17
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +34 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +8 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +429 -237
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +13 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +21 -14
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.cc +51 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.h +27 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +3 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +29 -38
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +302 -101
- package/deps/rocksdb/rocksdb/env/env.cc +6 -2
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +11 -165
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +0 -17
- package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +86 -2
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +6 -4
- package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +79 -0
- package/deps/rocksdb/rocksdb/env/unique_id_gen.h +34 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -0
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +15 -4
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +100 -70
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +64 -18
- package/deps/rocksdb/rocksdb/file/file_util.cc +10 -5
- package/deps/rocksdb/rocksdb/file/file_util.h +13 -1
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +1225 -97
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +72 -33
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -16
- package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +23 -12
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +40 -14
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +163 -91
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +112 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +108 -16
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +11 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +42 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +92 -12
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +34 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +9 -109
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +91 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +8 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +10 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +55 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +130 -22
- package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +92 -9
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +5 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +37 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/status.h +35 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +15 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +7 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +20 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/types.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +6 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +33 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +42 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +53 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +3 -2
- package/deps/rocksdb/rocksdb/memory/arena_test.cc +18 -11
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +4 -3
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +1 -1
- package/deps/rocksdb/rocksdb/microbench/README.md +60 -0
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +69 -34
- package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +22 -1
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +18 -7
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -0
- package/deps/rocksdb/rocksdb/options/cf_options.cc +19 -0
- package/deps/rocksdb/rocksdb/options/cf_options.h +10 -2
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +6 -1
- package/deps/rocksdb/rocksdb/options/db_options.cc +54 -2
- package/deps/rocksdb/rocksdb/options/db_options.h +4 -0
- package/deps/rocksdb/rocksdb/options/options.cc +15 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +18 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +14 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +14 -1
- package/deps/rocksdb/rocksdb/plugin/README.md +43 -0
- package/deps/rocksdb/rocksdb/port/README +10 -0
- package/deps/rocksdb/rocksdb/port/mmap.h +20 -0
- package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.cc +1 -1
- package/deps/rocksdb/rocksdb/port/port_posix.h +7 -4
- package/deps/rocksdb/rocksdb/port/stack_trace.cc +32 -12
- package/deps/rocksdb/rocksdb/port/win/env_win.h +1 -1
- package/deps/rocksdb/rocksdb/port/win/port_win.h +5 -2
- package/deps/rocksdb/rocksdb/src.mk +10 -1
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +48 -22
- package/deps/rocksdb/rocksdb/table/block_based/block.h +60 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +116 -43
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +9 -6
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +321 -49
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +98 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +233 -98
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +58 -23
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +12 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +52 -24
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +219 -51
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +41 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +26 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +50 -18
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +20 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +232 -71
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -6
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +44 -26
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +31 -16
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +97 -58
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +6 -0
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +36 -19
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +3 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +114 -70
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +11 -7
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +15 -3
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +6 -3
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +14 -13
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +4 -0
- package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +9 -2
- package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +1 -0
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +6 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +1 -2
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +2 -3
- package/deps/rocksdb/rocksdb/table/format.cc +175 -33
- package/deps/rocksdb/rocksdb/table/format.h +63 -10
- package/deps/rocksdb/rocksdb/table/get_context.cc +52 -89
- package/deps/rocksdb/rocksdb/table/get_context.h +12 -3
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +11 -0
- package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +29 -1
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +22 -2
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +12 -4
- package/deps/rocksdb/rocksdb/table/meta_blocks.h +1 -0
- package/deps/rocksdb/rocksdb/table/mock_table.cc +8 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +10 -5
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +10 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -2
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +3 -3
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +45 -9
- package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +1 -0
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +24 -1
- package/deps/rocksdb/rocksdb/table/table_builder.h +6 -2
- package/deps/rocksdb/rocksdb/table/table_properties.cc +6 -0
- package/deps/rocksdb/rocksdb/table/table_reader.h +6 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +52 -22
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +31 -0
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -1
- package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +19 -7
- package/deps/rocksdb/rocksdb/test_util/sync_point.h +3 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +29 -0
- package/deps/rocksdb/rocksdb/test_util/testutil.h +19 -0
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +87 -65
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +221 -33
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +36 -0
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +33 -11
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +4 -0
- package/deps/rocksdb/rocksdb/unreleased_history/README.txt +73 -0
- package/deps/rocksdb/rocksdb/unreleased_history/add.sh +27 -0
- package/deps/rocksdb/rocksdb/unreleased_history/behavior_changes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/bug_fixes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/new_features/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/performance_improvements/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/public_api_changes/.gitkeep +0 -0
- package/deps/rocksdb/rocksdb/unreleased_history/release.sh +104 -0
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +5 -0
- package/deps/rocksdb/rocksdb/util/bloom_impl.h +3 -3
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +32 -11
- package/deps/rocksdb/rocksdb/util/cast_util.h +24 -0
- package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +2 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +55 -8
- package/deps/rocksdb/rocksdb/util/compression.cc +4 -4
- package/deps/rocksdb/rocksdb/util/compression.h +119 -35
- package/deps/rocksdb/rocksdb/util/core_local.h +2 -1
- package/deps/rocksdb/rocksdb/util/crc32c.cc +7 -1
- package/deps/rocksdb/rocksdb/util/distributed_mutex.h +1 -1
- package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +4 -4
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +3 -0
- package/deps/rocksdb/rocksdb/util/hash.h +7 -3
- package/deps/rocksdb/rocksdb/util/hash_test.cc +44 -0
- package/deps/rocksdb/rocksdb/util/math.h +58 -6
- package/deps/rocksdb/rocksdb/util/math128.h +29 -7
- package/deps/rocksdb/rocksdb/util/mutexlock.h +35 -27
- package/deps/rocksdb/rocksdb/util/overload.h +23 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +53 -18
- package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +6 -1
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +90 -19
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +1 -0
- package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -0
- package/deps/rocksdb/rocksdb/util/status.cc +1 -0
- package/deps/rocksdb/rocksdb/util/stop_watch.h +1 -1
- package/deps/rocksdb/rocksdb/util/string_util.cc +39 -0
- package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
- package/deps/rocksdb/rocksdb/util/thread_operation.h +10 -1
- package/deps/rocksdb/rocksdb/util/udt_util.cc +385 -0
- package/deps/rocksdb/rocksdb/util/udt_util.h +192 -1
- package/deps/rocksdb/rocksdb/util/udt_util_test.cc +461 -0
- package/deps/rocksdb/rocksdb/util/write_batch_util.cc +25 -0
- package/deps/rocksdb/rocksdb/util/write_batch_util.h +80 -0
- package/deps/rocksdb/rocksdb/util/xxhash.h +0 -3
- package/deps/rocksdb/rocksdb/util/xxph3.h +0 -4
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -4
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +71 -26
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +7 -6
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +6 -11
- package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +1 -2
- package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +4 -5
- package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +1 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +20 -16
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +11 -7
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +7 -1
- package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +3 -0
- package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +12 -3
- package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +7 -4
- package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +2 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +13 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +23 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +9 -6
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +37 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +272 -33
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +15 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +4 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +76 -20
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +18 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +195 -23
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +19 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +88 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +43 -17
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +73 -24
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +19 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +60 -107
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +41 -12
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +6 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +15 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +10 -5
- package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
- package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +59 -28
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +127 -120
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +129 -59
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +111 -14
- package/deps/rocksdb/rocksdb.gyp +6 -2
- package/index.js +0 -8
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +0 -7
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +0 -33
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +0 -26
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +0 -29
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +0 -10
|
@@ -77,6 +77,7 @@ using ROCKSDB_NAMESPACE::EnvOptions;
|
|
|
77
77
|
using ROCKSDB_NAMESPACE::FileLock;
|
|
78
78
|
using ROCKSDB_NAMESPACE::FilterPolicy;
|
|
79
79
|
using ROCKSDB_NAMESPACE::FlushOptions;
|
|
80
|
+
using ROCKSDB_NAMESPACE::HistogramData;
|
|
80
81
|
using ROCKSDB_NAMESPACE::HyperClockCacheOptions;
|
|
81
82
|
using ROCKSDB_NAMESPACE::InfoLogLevel;
|
|
82
83
|
using ROCKSDB_NAMESPACE::IngestExternalFileOptions;
|
|
@@ -119,6 +120,7 @@ using ROCKSDB_NAMESPACE::TransactionDB;
|
|
|
119
120
|
using ROCKSDB_NAMESPACE::TransactionDBOptions;
|
|
120
121
|
using ROCKSDB_NAMESPACE::TransactionLogIterator;
|
|
121
122
|
using ROCKSDB_NAMESPACE::TransactionOptions;
|
|
123
|
+
using ROCKSDB_NAMESPACE::WaitForCompactOptions;
|
|
122
124
|
using ROCKSDB_NAMESPACE::WALRecoveryMode;
|
|
123
125
|
using ROCKSDB_NAMESPACE::WritableFile;
|
|
124
126
|
using ROCKSDB_NAMESPACE::WriteBatch;
|
|
@@ -274,11 +276,19 @@ struct rocksdb_optimistictransactiondb_t {
|
|
|
274
276
|
struct rocksdb_optimistictransaction_options_t {
|
|
275
277
|
OptimisticTransactionOptions rep;
|
|
276
278
|
};
|
|
279
|
+
struct rocksdb_wait_for_compact_options_t {
|
|
280
|
+
WaitForCompactOptions rep;
|
|
281
|
+
};
|
|
277
282
|
|
|
278
283
|
struct rocksdb_compactionfiltercontext_t {
|
|
279
284
|
CompactionFilter::Context rep;
|
|
280
285
|
};
|
|
281
286
|
|
|
287
|
+
struct rocksdb_statistics_histogram_data_t {
|
|
288
|
+
rocksdb_statistics_histogram_data_t() : rep() {}
|
|
289
|
+
HistogramData rep;
|
|
290
|
+
};
|
|
291
|
+
|
|
282
292
|
struct rocksdb_compactionfilter_t : public CompactionFilter {
|
|
283
293
|
void* state_;
|
|
284
294
|
void (*destructor_)(void*);
|
|
@@ -1057,6 +1067,36 @@ rocksdb_column_family_handle_t* rocksdb_create_column_family(
|
|
|
1057
1067
|
return handle;
|
|
1058
1068
|
}
|
|
1059
1069
|
|
|
1070
|
+
rocksdb_column_family_handle_t** rocksdb_create_column_families(
|
|
1071
|
+
rocksdb_t* db, const rocksdb_options_t* column_family_options,
|
|
1072
|
+
int num_column_families, const char* const* column_family_names,
|
|
1073
|
+
size_t* lencfs, char** errptr) {
|
|
1074
|
+
std::vector<ColumnFamilyHandle*> handles;
|
|
1075
|
+
std::vector<std::string> names;
|
|
1076
|
+
for (int i = 0; i != num_column_families; ++i) {
|
|
1077
|
+
names.push_back(std::string(column_family_names[i]));
|
|
1078
|
+
}
|
|
1079
|
+
SaveError(errptr, db->rep->CreateColumnFamilies(
|
|
1080
|
+
ColumnFamilyOptions(column_family_options->rep), names,
|
|
1081
|
+
&handles));
|
|
1082
|
+
|
|
1083
|
+
*lencfs = handles.size();
|
|
1084
|
+
rocksdb_column_family_handle_t** c_handles =
|
|
1085
|
+
static_cast<rocksdb_column_family_handle_t**>(
|
|
1086
|
+
malloc(sizeof(rocksdb_column_family_handle_t*) * handles.size()));
|
|
1087
|
+
for (size_t i = 0; i != handles.size(); ++i) {
|
|
1088
|
+
c_handles[i] = new rocksdb_column_family_handle_t;
|
|
1089
|
+
c_handles[i]->rep = handles[i];
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
return c_handles;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
void rocksdb_create_column_families_destroy(
|
|
1096
|
+
rocksdb_column_family_handle_t** list) {
|
|
1097
|
+
free(list);
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1060
1100
|
rocksdb_column_family_handle_t* rocksdb_create_column_family_with_ttl(
|
|
1061
1101
|
rocksdb_t* db, const rocksdb_options_t* column_family_options,
|
|
1062
1102
|
const char* column_family_name, int ttl, char** errptr) {
|
|
@@ -2993,6 +3033,29 @@ void rocksdb_options_enable_statistics(rocksdb_options_t* opt) {
|
|
|
2993
3033
|
opt->rep.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
|
|
2994
3034
|
}
|
|
2995
3035
|
|
|
3036
|
+
void rocksdb_options_set_statistics_level(rocksdb_options_t* opt, int level) {
|
|
3037
|
+
if (!opt->rep.statistics) {
|
|
3038
|
+
return;
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
if (level < rocksdb_statistics_level_disable_all) {
|
|
3042
|
+
level = rocksdb_statistics_level_disable_all;
|
|
3043
|
+
}
|
|
3044
|
+
if (level > rocksdb_statistics_level_all) {
|
|
3045
|
+
level = rocksdb_statistics_level_all;
|
|
3046
|
+
}
|
|
3047
|
+
opt->rep.statistics->set_stats_level(
|
|
3048
|
+
static_cast<ROCKSDB_NAMESPACE::StatsLevel>(level));
|
|
3049
|
+
}
|
|
3050
|
+
|
|
3051
|
+
int rocksdb_options_get_statistics_level(rocksdb_options_t* opt) {
|
|
3052
|
+
if (!opt->rep.statistics) {
|
|
3053
|
+
return ROCKSDB_NAMESPACE::StatsLevel::kDisableAll;
|
|
3054
|
+
}
|
|
3055
|
+
|
|
3056
|
+
return static_cast<int>(opt->rep.statistics->get_stats_level());
|
|
3057
|
+
}
|
|
3058
|
+
|
|
2996
3059
|
void rocksdb_options_set_skip_stats_update_on_db_open(rocksdb_options_t* opt,
|
|
2997
3060
|
unsigned char val) {
|
|
2998
3061
|
opt->rep.skip_stats_update_on_db_open = val;
|
|
@@ -3740,16 +3803,21 @@ void rocksdb_options_set_hash_link_list_rep(rocksdb_options_t* opt,
|
|
|
3740
3803
|
ROCKSDB_NAMESPACE::NewHashLinkListRepFactory(bucket_count));
|
|
3741
3804
|
}
|
|
3742
3805
|
|
|
3743
|
-
void rocksdb_options_set_plain_table_factory(
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3806
|
+
void rocksdb_options_set_plain_table_factory(
|
|
3807
|
+
rocksdb_options_t* opt, uint32_t user_key_len, int bloom_bits_per_key,
|
|
3808
|
+
double hash_table_ratio, size_t index_sparseness, size_t huge_page_tlb_size,
|
|
3809
|
+
char encoding_type, unsigned char full_scan_mode,
|
|
3810
|
+
unsigned char store_index_in_file) {
|
|
3748
3811
|
ROCKSDB_NAMESPACE::PlainTableOptions options;
|
|
3749
3812
|
options.user_key_len = user_key_len;
|
|
3750
3813
|
options.bloom_bits_per_key = bloom_bits_per_key;
|
|
3751
3814
|
options.hash_table_ratio = hash_table_ratio;
|
|
3752
3815
|
options.index_sparseness = index_sparseness;
|
|
3816
|
+
options.huge_page_tlb_size = huge_page_tlb_size;
|
|
3817
|
+
options.encoding_type =
|
|
3818
|
+
static_cast<ROCKSDB_NAMESPACE::EncodingType>(encoding_type);
|
|
3819
|
+
options.full_scan_mode = full_scan_mode;
|
|
3820
|
+
options.store_index_in_file = store_index_in_file;
|
|
3753
3821
|
|
|
3754
3822
|
ROCKSDB_NAMESPACE::TableFactory* factory =
|
|
3755
3823
|
ROCKSDB_NAMESPACE::NewPlainTableFactory(options);
|
|
@@ -3827,6 +3895,26 @@ char* rocksdb_options_statistics_get_string(rocksdb_options_t* opt) {
|
|
|
3827
3895
|
return nullptr;
|
|
3828
3896
|
}
|
|
3829
3897
|
|
|
3898
|
+
uint64_t rocksdb_options_statistics_get_ticker_count(rocksdb_options_t* opt,
|
|
3899
|
+
uint32_t ticker_type) {
|
|
3900
|
+
ROCKSDB_NAMESPACE::Statistics* statistics = opt->rep.statistics.get();
|
|
3901
|
+
if (statistics) {
|
|
3902
|
+
return statistics->getTickerCount(ticker_type);
|
|
3903
|
+
}
|
|
3904
|
+
return 0;
|
|
3905
|
+
}
|
|
3906
|
+
|
|
3907
|
+
void rocksdb_options_statistics_get_histogram_data(
|
|
3908
|
+
rocksdb_options_t* opt, uint32_t type,
|
|
3909
|
+
rocksdb_statistics_histogram_data_t* const data) {
|
|
3910
|
+
ROCKSDB_NAMESPACE::Statistics* statistics = opt->rep.statistics.get();
|
|
3911
|
+
if (statistics) {
|
|
3912
|
+
statistics->histogramData(type, &data->rep);
|
|
3913
|
+
} else {
|
|
3914
|
+
*data = rocksdb_statistics_histogram_data_t{};
|
|
3915
|
+
}
|
|
3916
|
+
}
|
|
3917
|
+
|
|
3830
3918
|
void rocksdb_options_set_ratelimiter(rocksdb_options_t* opt,
|
|
3831
3919
|
rocksdb_ratelimiter_t* limiter) {
|
|
3832
3920
|
if (limiter) {
|
|
@@ -3888,6 +3976,15 @@ void rocksdb_options_add_compact_on_deletion_collector_factory(
|
|
|
3888
3976
|
opt->rep.table_properties_collector_factories.emplace_back(compact_on_del);
|
|
3889
3977
|
}
|
|
3890
3978
|
|
|
3979
|
+
void rocksdb_options_add_compact_on_deletion_collector_factory_del_ratio(
|
|
3980
|
+
rocksdb_options_t* opt, size_t window_size, size_t num_dels_trigger,
|
|
3981
|
+
double deletion_ratio) {
|
|
3982
|
+
std::shared_ptr<ROCKSDB_NAMESPACE::TablePropertiesCollectorFactory>
|
|
3983
|
+
compact_on_del = NewCompactOnDeletionCollectorFactory(
|
|
3984
|
+
window_size, num_dels_trigger, deletion_ratio);
|
|
3985
|
+
opt->rep.table_properties_collector_factories.emplace_back(compact_on_del);
|
|
3986
|
+
}
|
|
3987
|
+
|
|
3891
3988
|
void rocksdb_set_perf_level(int v) {
|
|
3892
3989
|
PerfLevel level = static_cast<PerfLevel>(v);
|
|
3893
3990
|
SetPerfLevel(level);
|
|
@@ -4492,6 +4589,11 @@ void rocksdb_readoptions_set_iter_start_ts(rocksdb_readoptions_t* opt,
|
|
|
4492
4589
|
}
|
|
4493
4590
|
}
|
|
4494
4591
|
|
|
4592
|
+
void rocksdb_readoptions_set_auto_readahead_size(rocksdb_readoptions_t* opt,
|
|
4593
|
+
unsigned char v) {
|
|
4594
|
+
opt->rep.auto_readahead_size = v;
|
|
4595
|
+
}
|
|
4596
|
+
|
|
4495
4597
|
rocksdb_writeoptions_t* rocksdb_writeoptions_create() {
|
|
4496
4598
|
return new rocksdb_writeoptions_t;
|
|
4497
4599
|
}
|
|
@@ -5150,7 +5252,8 @@ rocksdb_fifo_compaction_options_t* rocksdb_fifo_compaction_options_create() {
|
|
|
5150
5252
|
}
|
|
5151
5253
|
|
|
5152
5254
|
void rocksdb_fifo_compaction_options_set_allow_compaction(
|
|
5153
|
-
rocksdb_fifo_compaction_options_t* fifo_opts,
|
|
5255
|
+
rocksdb_fifo_compaction_options_t* fifo_opts,
|
|
5256
|
+
unsigned char allow_compaction) {
|
|
5154
5257
|
fifo_opts->rep.allow_compaction = allow_compaction;
|
|
5155
5258
|
}
|
|
5156
5259
|
|
|
@@ -5579,6 +5682,20 @@ int rocksdb_transactiondb_property_int(rocksdb_transactiondb_t* db,
|
|
|
5579
5682
|
}
|
|
5580
5683
|
}
|
|
5581
5684
|
|
|
5685
|
+
rocksdb_t* rocksdb_transactiondb_get_base_db(rocksdb_transactiondb_t* txn_db) {
|
|
5686
|
+
DB* base_db = txn_db->rep->GetBaseDB();
|
|
5687
|
+
|
|
5688
|
+
if (base_db != nullptr) {
|
|
5689
|
+
rocksdb_t* result = new rocksdb_t;
|
|
5690
|
+
result->rep = base_db;
|
|
5691
|
+
return result;
|
|
5692
|
+
}
|
|
5693
|
+
|
|
5694
|
+
return nullptr;
|
|
5695
|
+
}
|
|
5696
|
+
|
|
5697
|
+
void rocksdb_transactiondb_close_base_db(rocksdb_t* base_db) { delete base_db; }
|
|
5698
|
+
|
|
5582
5699
|
rocksdb_transaction_t* rocksdb_transaction_begin(
|
|
5583
5700
|
rocksdb_transactiondb_t* txn_db,
|
|
5584
5701
|
const rocksdb_writeoptions_t* write_options,
|
|
@@ -6556,4 +6673,114 @@ void rocksdb_enable_manual_compaction(rocksdb_t* db) {
|
|
|
6556
6673
|
db->rep->EnableManualCompaction();
|
|
6557
6674
|
}
|
|
6558
6675
|
|
|
6676
|
+
rocksdb_statistics_histogram_data_t*
|
|
6677
|
+
rocksdb_statistics_histogram_data_create() {
|
|
6678
|
+
return new rocksdb_statistics_histogram_data_t{};
|
|
6679
|
+
}
|
|
6680
|
+
|
|
6681
|
+
void rocksdb_statistics_histogram_data_destroy(
|
|
6682
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6683
|
+
delete data;
|
|
6684
|
+
}
|
|
6685
|
+
|
|
6686
|
+
double rocksdb_statistics_histogram_data_get_median(
|
|
6687
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6688
|
+
return data->rep.median;
|
|
6689
|
+
}
|
|
6690
|
+
|
|
6691
|
+
double rocksdb_statistics_histogram_data_get_p95(
|
|
6692
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6693
|
+
return data->rep.percentile95;
|
|
6694
|
+
}
|
|
6695
|
+
|
|
6696
|
+
double rocksdb_statistics_histogram_data_get_p99(
|
|
6697
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6698
|
+
return data->rep.percentile99;
|
|
6699
|
+
}
|
|
6700
|
+
|
|
6701
|
+
double rocksdb_statistics_histogram_data_get_average(
|
|
6702
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6703
|
+
return data->rep.average;
|
|
6704
|
+
}
|
|
6705
|
+
|
|
6706
|
+
double rocksdb_statistics_histogram_data_get_std_dev(
|
|
6707
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6708
|
+
return data->rep.standard_deviation;
|
|
6709
|
+
}
|
|
6710
|
+
|
|
6711
|
+
double rocksdb_statistics_histogram_data_get_max(
|
|
6712
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6713
|
+
return data->rep.max;
|
|
6714
|
+
}
|
|
6715
|
+
|
|
6716
|
+
uint64_t rocksdb_statistics_histogram_data_get_count(
|
|
6717
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6718
|
+
return data->rep.count;
|
|
6719
|
+
}
|
|
6720
|
+
|
|
6721
|
+
uint64_t rocksdb_statistics_histogram_data_get_sum(
|
|
6722
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6723
|
+
return data->rep.sum;
|
|
6724
|
+
}
|
|
6725
|
+
|
|
6726
|
+
double rocksdb_statistics_histogram_data_get_min(
|
|
6727
|
+
rocksdb_statistics_histogram_data_t* data) {
|
|
6728
|
+
return data->rep.min;
|
|
6729
|
+
}
|
|
6730
|
+
|
|
6731
|
+
void rocksdb_wait_for_compact(rocksdb_t* db,
|
|
6732
|
+
rocksdb_wait_for_compact_options_t* options,
|
|
6733
|
+
char** errptr) {
|
|
6734
|
+
SaveError(errptr, db->rep->WaitForCompact(options->rep));
|
|
6735
|
+
}
|
|
6736
|
+
|
|
6737
|
+
rocksdb_wait_for_compact_options_t* rocksdb_wait_for_compact_options_create() {
|
|
6738
|
+
return new rocksdb_wait_for_compact_options_t;
|
|
6739
|
+
}
|
|
6740
|
+
|
|
6741
|
+
void rocksdb_wait_for_compact_options_destroy(
|
|
6742
|
+
rocksdb_wait_for_compact_options_t* opt) {
|
|
6743
|
+
delete opt;
|
|
6744
|
+
}
|
|
6745
|
+
|
|
6746
|
+
void rocksdb_wait_for_compact_options_set_abort_on_pause(
|
|
6747
|
+
rocksdb_wait_for_compact_options_t* opt, unsigned char v) {
|
|
6748
|
+
opt->rep.abort_on_pause = v;
|
|
6749
|
+
}
|
|
6750
|
+
|
|
6751
|
+
unsigned char rocksdb_wait_for_compact_options_get_abort_on_pause(
|
|
6752
|
+
rocksdb_wait_for_compact_options_t* opt) {
|
|
6753
|
+
return opt->rep.abort_on_pause;
|
|
6754
|
+
}
|
|
6755
|
+
|
|
6756
|
+
void rocksdb_wait_for_compact_options_set_flush(
|
|
6757
|
+
rocksdb_wait_for_compact_options_t* opt, unsigned char v) {
|
|
6758
|
+
opt->rep.flush = v;
|
|
6759
|
+
}
|
|
6760
|
+
|
|
6761
|
+
unsigned char rocksdb_wait_for_compact_options_get_flush(
|
|
6762
|
+
rocksdb_wait_for_compact_options_t* opt) {
|
|
6763
|
+
return opt->rep.flush;
|
|
6764
|
+
}
|
|
6765
|
+
|
|
6766
|
+
void rocksdb_wait_for_compact_options_set_close_db(
|
|
6767
|
+
rocksdb_wait_for_compact_options_t* opt, unsigned char v) {
|
|
6768
|
+
opt->rep.close_db = v;
|
|
6769
|
+
}
|
|
6770
|
+
|
|
6771
|
+
unsigned char rocksdb_wait_for_compact_options_get_close_db(
|
|
6772
|
+
rocksdb_wait_for_compact_options_t* opt) {
|
|
6773
|
+
return opt->rep.close_db;
|
|
6774
|
+
}
|
|
6775
|
+
|
|
6776
|
+
void rocksdb_wait_for_compact_options_set_timeout(
|
|
6777
|
+
rocksdb_wait_for_compact_options_t* opt, uint64_t microseconds) {
|
|
6778
|
+
opt->rep.timeout = std::chrono::microseconds(microseconds);
|
|
6779
|
+
}
|
|
6780
|
+
|
|
6781
|
+
uint64_t rocksdb_wait_for_compact_options_get_timeout(
|
|
6782
|
+
rocksdb_wait_for_compact_options_t* opt) {
|
|
6783
|
+
return opt->rep.timeout.count();
|
|
6784
|
+
}
|
|
6785
|
+
|
|
6559
6786
|
} // end extern "C"
|
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
found in the LICENSE file. See the AUTHORS file for names of contributors. */
|
|
4
4
|
// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
5
5
|
|
|
6
|
-
#include
|
|
6
|
+
#include "rocksdb/c.h"
|
|
7
7
|
|
|
8
8
|
#include <assert.h>
|
|
9
9
|
#include <stddef.h>
|
|
10
|
+
#include <stdio.h>
|
|
10
11
|
#include <stdlib.h>
|
|
11
12
|
#include <string.h>
|
|
12
13
|
#include <sys/types.h>
|
|
13
|
-
|
|
14
|
-
#include "rocksdb/c.h"
|
|
15
14
|
#ifndef OS_WIN
|
|
16
15
|
#include <unistd.h>
|
|
17
16
|
#endif
|
|
@@ -376,6 +375,11 @@ static rocksdb_t* CheckCompaction(rocksdb_t* db, rocksdb_options_t* options,
|
|
|
376
375
|
|
|
377
376
|
// Force compaction
|
|
378
377
|
rocksdb_compact_range(db, NULL, 0, NULL, 0);
|
|
378
|
+
rocksdb_wait_for_compact_options_t* wco;
|
|
379
|
+
wco = rocksdb_wait_for_compact_options_create();
|
|
380
|
+
rocksdb_wait_for_compact(db, wco, &err);
|
|
381
|
+
CheckNoError(err);
|
|
382
|
+
rocksdb_wait_for_compact_options_destroy(wco);
|
|
379
383
|
// should have filtered bar, but not foo
|
|
380
384
|
CheckGet(db, roptions, "foo", "foovalue");
|
|
381
385
|
CheckGet(db, roptions, "bar", NULL);
|
|
@@ -721,6 +725,8 @@ int main(int argc, char** argv) {
|
|
|
721
725
|
|
|
722
726
|
rocksdb_options_add_compact_on_deletion_collector_factory(options, 10000,
|
|
723
727
|
10001);
|
|
728
|
+
rocksdb_options_add_compact_on_deletion_collector_factory_del_ratio(
|
|
729
|
+
options, 10000, 10001, 0.0);
|
|
724
730
|
|
|
725
731
|
StartPhase("destroy");
|
|
726
732
|
rocksdb_destroy_db(options, dbname, &err);
|
|
@@ -1672,7 +1678,8 @@ int main(int argc, char** argv) {
|
|
|
1672
1678
|
rocksdb_options_set_prefix_extractor(
|
|
1673
1679
|
options, rocksdb_slicetransform_create_fixed_prefix(3));
|
|
1674
1680
|
rocksdb_options_set_hash_skip_list_rep(options, 5000, 4, 4);
|
|
1675
|
-
rocksdb_options_set_plain_table_factory(options, 4, 10, 0.75, 16
|
|
1681
|
+
rocksdb_options_set_plain_table_factory(options, 4, 10, 0.75, 16, 0, 0, 0,
|
|
1682
|
+
0);
|
|
1676
1683
|
rocksdb_options_set_allow_concurrent_memtable_write(options, 0);
|
|
1677
1684
|
|
|
1678
1685
|
db = rocksdb_open(options, dbname, &err);
|
|
@@ -2058,6 +2065,15 @@ int main(int argc, char** argv) {
|
|
|
2058
2065
|
CheckCondition(29.0 ==
|
|
2059
2066
|
rocksdb_options_get_experimental_mempurge_threshold(o));
|
|
2060
2067
|
|
|
2068
|
+
CheckCondition(rocksdb_statistics_level_disable_all ==
|
|
2069
|
+
rocksdb_options_get_statistics_level(o));
|
|
2070
|
+
rocksdb_options_enable_statistics(o);
|
|
2071
|
+
CheckCondition(rocksdb_statistics_level_disable_all !=
|
|
2072
|
+
rocksdb_options_get_statistics_level(o));
|
|
2073
|
+
rocksdb_options_set_statistics_level(o, rocksdb_statistics_level_all);
|
|
2074
|
+
CheckCondition(rocksdb_statistics_level_all ==
|
|
2075
|
+
rocksdb_options_get_statistics_level(o));
|
|
2076
|
+
|
|
2061
2077
|
/* Blob Options */
|
|
2062
2078
|
rocksdb_options_set_enable_blob_files(o, 1);
|
|
2063
2079
|
CheckCondition(1 == rocksdb_options_get_enable_blob_files(o));
|
|
@@ -3119,6 +3135,17 @@ int main(int argc, char** argv) {
|
|
|
3119
3135
|
CheckTxnDBGetCF(txn_db, roptions, cfh, "cf_foo", NULL);
|
|
3120
3136
|
CheckTxnDBPinGetCF(txn_db, roptions, cfh, "cf_foo", NULL);
|
|
3121
3137
|
|
|
3138
|
+
// memory usage
|
|
3139
|
+
rocksdb_t* base_db = rocksdb_transactiondb_get_base_db(txn_db);
|
|
3140
|
+
rocksdb_memory_consumers_t* consumers = rocksdb_memory_consumers_create();
|
|
3141
|
+
rocksdb_memory_consumers_add_db(consumers, base_db);
|
|
3142
|
+
rocksdb_memory_usage_t* usage =
|
|
3143
|
+
rocksdb_approximate_memory_usage_create(consumers, &err);
|
|
3144
|
+
CheckNoError(err);
|
|
3145
|
+
rocksdb_approximate_memory_usage_destroy(usage);
|
|
3146
|
+
rocksdb_memory_consumers_destroy(consumers);
|
|
3147
|
+
rocksdb_transactiondb_close_base_db(base_db);
|
|
3148
|
+
|
|
3122
3149
|
// flush
|
|
3123
3150
|
rocksdb_flushoptions_t* flush_options = rocksdb_flushoptions_create();
|
|
3124
3151
|
rocksdb_flushoptions_set_wait(flush_options, 1);
|
|
@@ -3374,8 +3401,19 @@ int main(int argc, char** argv) {
|
|
|
3374
3401
|
rocksdb_put(db, woptions, "key", 3, "value", 5, &err);
|
|
3375
3402
|
CheckNoError(err);
|
|
3376
3403
|
rocksdb_column_family_handle_t *cfh1, *cfh2;
|
|
3377
|
-
|
|
3378
|
-
|
|
3404
|
+
char** list_const_cf_names = (char**)malloc(2 * sizeof(char*));
|
|
3405
|
+
list_const_cf_names[0] = "txn_db_cf1";
|
|
3406
|
+
list_const_cf_names[1] = "txn_db_cf2";
|
|
3407
|
+
size_t cflen;
|
|
3408
|
+
rocksdb_column_family_handle_t** list_cfh = rocksdb_create_column_families(
|
|
3409
|
+
db, db_options, 2, (const char* const*)list_const_cf_names, &cflen,
|
|
3410
|
+
&err);
|
|
3411
|
+
free(list_const_cf_names);
|
|
3412
|
+
CheckNoError(err);
|
|
3413
|
+
assert(cflen == 2);
|
|
3414
|
+
cfh1 = list_cfh[0];
|
|
3415
|
+
cfh2 = list_cfh[1];
|
|
3416
|
+
rocksdb_create_column_families_destroy(list_cfh);
|
|
3379
3417
|
txn = rocksdb_optimistictransaction_begin(otxn_db, woptions, otxn_options,
|
|
3380
3418
|
NULL);
|
|
3381
3419
|
rocksdb_transaction_put_cf(txn, cfh1, "key_cf1", 7, "val_cf1", 7, &err);
|
|
@@ -3589,6 +3627,102 @@ int main(int argc, char** argv) {
|
|
|
3589
3627
|
rocksdb_readoptions_destroy(ropts);
|
|
3590
3628
|
}
|
|
3591
3629
|
|
|
3630
|
+
StartPhase("statistics");
|
|
3631
|
+
{
|
|
3632
|
+
const uint32_t BYTES_WRITTEN_TICKER = 40;
|
|
3633
|
+
const uint32_t DB_WRITE_HIST = 1;
|
|
3634
|
+
|
|
3635
|
+
rocksdb_statistics_histogram_data_t* hist =
|
|
3636
|
+
rocksdb_statistics_histogram_data_create();
|
|
3637
|
+
{
|
|
3638
|
+
// zero by default
|
|
3639
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_median(hist));
|
|
3640
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_p95(hist));
|
|
3641
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_p99(hist));
|
|
3642
|
+
CheckCondition(0.0 ==
|
|
3643
|
+
rocksdb_statistics_histogram_data_get_average(hist));
|
|
3644
|
+
CheckCondition(0.0 ==
|
|
3645
|
+
rocksdb_statistics_histogram_data_get_std_dev(hist));
|
|
3646
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_max(hist));
|
|
3647
|
+
CheckCondition(0 == rocksdb_statistics_histogram_data_get_count(hist));
|
|
3648
|
+
CheckCondition(0 == rocksdb_statistics_histogram_data_get_sum(hist));
|
|
3649
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_min(hist));
|
|
3650
|
+
}
|
|
3651
|
+
|
|
3652
|
+
rocksdb_close(db);
|
|
3653
|
+
rocksdb_destroy_db(options, dbname, &err);
|
|
3654
|
+
CheckNoError(err);
|
|
3655
|
+
|
|
3656
|
+
rocksdb_options_enable_statistics(options);
|
|
3657
|
+
rocksdb_options_set_statistics_level(options, rocksdb_statistics_level_all);
|
|
3658
|
+
|
|
3659
|
+
db = rocksdb_open(options, dbname, &err);
|
|
3660
|
+
CheckNoError(err);
|
|
3661
|
+
|
|
3662
|
+
CheckCondition(0 == rocksdb_options_statistics_get_ticker_count(
|
|
3663
|
+
options, BYTES_WRITTEN_TICKER));
|
|
3664
|
+
rocksdb_options_statistics_get_histogram_data(options, DB_WRITE_HIST, hist);
|
|
3665
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_median(hist));
|
|
3666
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_p95(hist));
|
|
3667
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_p99(hist));
|
|
3668
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_average(hist));
|
|
3669
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_std_dev(hist));
|
|
3670
|
+
CheckCondition(0.0 == rocksdb_statistics_histogram_data_get_max(hist));
|
|
3671
|
+
CheckCondition(0 == rocksdb_statistics_histogram_data_get_count(hist));
|
|
3672
|
+
CheckCondition(0 == rocksdb_statistics_histogram_data_get_sum(hist));
|
|
3673
|
+
|
|
3674
|
+
int i;
|
|
3675
|
+
for (i = 0; i < 10; ++i) {
|
|
3676
|
+
char key = '0' + (char)i;
|
|
3677
|
+
rocksdb_put(db, woptions, &key, 1, "", 1, &err);
|
|
3678
|
+
CheckNoError(err);
|
|
3679
|
+
}
|
|
3680
|
+
CheckCondition(0 != rocksdb_options_statistics_get_ticker_count(
|
|
3681
|
+
options, BYTES_WRITTEN_TICKER));
|
|
3682
|
+
rocksdb_options_statistics_get_histogram_data(options, DB_WRITE_HIST, hist);
|
|
3683
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_median(hist));
|
|
3684
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_p95(hist));
|
|
3685
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_p99(hist));
|
|
3686
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_average(hist));
|
|
3687
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_std_dev(hist));
|
|
3688
|
+
CheckCondition(0.0 != rocksdb_statistics_histogram_data_get_max(hist));
|
|
3689
|
+
CheckCondition(0 != rocksdb_statistics_histogram_data_get_count(hist));
|
|
3690
|
+
CheckCondition(0 != rocksdb_statistics_histogram_data_get_sum(hist));
|
|
3691
|
+
|
|
3692
|
+
rocksdb_statistics_histogram_data_destroy(hist);
|
|
3693
|
+
}
|
|
3694
|
+
|
|
3695
|
+
StartPhase("wait_for_compact_options");
|
|
3696
|
+
{
|
|
3697
|
+
rocksdb_wait_for_compact_options_t* wco;
|
|
3698
|
+
wco = rocksdb_wait_for_compact_options_create();
|
|
3699
|
+
|
|
3700
|
+
rocksdb_wait_for_compact_options_set_abort_on_pause(wco, 1);
|
|
3701
|
+
CheckCondition(1 ==
|
|
3702
|
+
rocksdb_wait_for_compact_options_get_abort_on_pause(wco));
|
|
3703
|
+
|
|
3704
|
+
rocksdb_wait_for_compact_options_set_flush(wco, 1);
|
|
3705
|
+
CheckCondition(1 == rocksdb_wait_for_compact_options_get_flush(wco));
|
|
3706
|
+
|
|
3707
|
+
rocksdb_wait_for_compact_options_set_close_db(wco, 1);
|
|
3708
|
+
CheckCondition(1 == rocksdb_wait_for_compact_options_get_close_db(wco));
|
|
3709
|
+
|
|
3710
|
+
rocksdb_wait_for_compact_options_set_timeout(wco, 342);
|
|
3711
|
+
CheckCondition(342 == rocksdb_wait_for_compact_options_get_timeout(wco));
|
|
3712
|
+
|
|
3713
|
+
rocksdb_wait_for_compact_options_destroy(wco);
|
|
3714
|
+
}
|
|
3715
|
+
StartPhase("wait_for_compact");
|
|
3716
|
+
{
|
|
3717
|
+
rocksdb_wait_for_compact_options_t* wco;
|
|
3718
|
+
wco = rocksdb_wait_for_compact_options_create();
|
|
3719
|
+
rocksdb_wait_for_compact_options_set_flush(wco, 1);
|
|
3720
|
+
|
|
3721
|
+
rocksdb_wait_for_compact(db, wco, &err);
|
|
3722
|
+
CheckNoError(err);
|
|
3723
|
+
rocksdb_wait_for_compact_options_destroy(wco);
|
|
3724
|
+
}
|
|
3725
|
+
|
|
3592
3726
|
StartPhase("cancel_all_background_work");
|
|
3593
3727
|
rocksdb_cancel_all_background_work(db, 1);
|
|
3594
3728
|
|