@nxtedition/rocksdb 6.0.0 → 6.0.3
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/BUILDING.md +18 -0
- package/binding.cc +16 -17
- package/binding.gyp +2 -2
- package/deps/rocksdb/build_version.cc +4 -10
- package/deps/rocksdb/rocksdb/CMakeLists.txt +26 -3
- package/deps/rocksdb/rocksdb/Makefile +73 -91
- package/deps/rocksdb/rocksdb/TARGETS +27 -2
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +7 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +33 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +26 -0
- package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +29 -0
- package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +10 -0
- package/deps/rocksdb/rocksdb/common.mk +30 -0
- package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
- package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
- package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/builder.cc +22 -7
- package/deps/rocksdb/rocksdb/db/c.cc +71 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +28 -2
- package/deps/rocksdb/rocksdb/db/column_family.cc +12 -5
- package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +54 -16
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +14 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +85 -18
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +23 -22
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +151 -32
- package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
- package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +404 -32
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
- package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
- package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +11 -20
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +15 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +12 -9
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +42 -10
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +54 -23
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +3 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +14 -4
- package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
- package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
- package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +28 -12
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +11 -6
- package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
- package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
- package/deps/rocksdb/rocksdb/db/db_test.cc +60 -42
- package/deps/rocksdb/rocksdb/db/db_test2.cc +244 -111
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +101 -19
- package/deps/rocksdb/rocksdb/db/db_test_util.h +52 -2
- package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +5 -175
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.cc +96 -0
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_test_util.h +126 -0
- package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
- package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
- package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +91 -12
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
- package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
- package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
- package/deps/rocksdb/rocksdb/db/flush_job.cc +28 -15
- package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
- package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +14 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
- package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
- package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
- package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
- package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
- package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
- package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/repair.cc +13 -2
- package/deps/rocksdb/rocksdb/db/repair_test.cc +37 -15
- package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
- package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +20 -130
- package/deps/rocksdb/rocksdb/db/table_cache.h +3 -2
- package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +140 -0
- package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/db/version_builder_test.cc +133 -133
- package/deps/rocksdb/rocksdb/db/version_edit.cc +22 -2
- package/deps/rocksdb/rocksdb/db/version_edit.h +13 -4
- package/deps/rocksdb/rocksdb/db/version_edit_test.cc +14 -14
- package/deps/rocksdb/rocksdb/db/version_set.cc +207 -214
- package/deps/rocksdb/rocksdb/db/version_set.h +14 -3
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +154 -0
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +10 -9
- package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
- package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
- package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
- package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
- package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +44 -6
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +374 -275
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
- package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
- package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
- package/deps/rocksdb/rocksdb/env/env.cc +0 -60
- package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
- package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
- package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
- package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
- package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
- package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +44 -22
- package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
- package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +60 -40
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +49 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +45 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/snapshot.h +4 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +3 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
- package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +378 -103
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
- package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
- package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
- package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
- package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
- package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
- package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
- package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
- package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +7 -8
- package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
- package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
- package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
- package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
- package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
- package/deps/rocksdb/rocksdb/options/cf_options.cc +47 -38
- package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
- package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
- package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
- package/deps/rocksdb/rocksdb/options/db_options.cc +46 -17
- package/deps/rocksdb/rocksdb/options/db_options.h +2 -0
- package/deps/rocksdb/rocksdb/options/options.cc +7 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +86 -39
- package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +12 -7
- package/deps/rocksdb/rocksdb/options/options_test.cc +222 -68
- package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
- package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
- package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
- package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
- package/deps/rocksdb/rocksdb/src.mk +6 -1
- package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
- package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
- package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +23 -8
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +81 -7
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +8 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +94 -726
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +21 -15
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +9 -3
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +754 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -73
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +15 -5
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +2 -11
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +59 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +18 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +0 -61
- package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +0 -13
- package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +8 -4
- package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +65 -7
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
- package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
- package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
- package/deps/rocksdb/rocksdb/table/format.cc +22 -20
- package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
- package/deps/rocksdb/rocksdb/table/multiget_context.h +60 -13
- package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
- package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
- package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -1
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +1 -1
- package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
- package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
- package/deps/rocksdb/rocksdb/table/table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
- package/deps/rocksdb/rocksdb/table/unique_id.cc +84 -25
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +37 -4
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -1
- package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
- package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
- package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +277 -105
- package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
- package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
- package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
- package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +26 -4
- package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
- package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +72 -0
- package/deps/rocksdb/rocksdb/util/async_file_reader.h +144 -0
- package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
- package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
- package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
- package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
- package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
- package/deps/rocksdb/rocksdb/util/compression.h +56 -7
- package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
- package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
- package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
- package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
- package/deps/rocksdb/rocksdb/util/heap.h +5 -3
- package/deps/rocksdb/rocksdb/util/random.cc +1 -5
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
- package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
- package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
- package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
- package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
- package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
- package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
- package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
- package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
- package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
- package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
- package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
- package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
- package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
- package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
- package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
- package/deps/rocksdb/rocksdb.gyp +47 -37
- package/package-lock.json +23687 -0
- package/package.json +2 -30
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/deps/liburing/liburing/README +0 -46
- package/deps/liburing/liburing/test/232c93d07b74-test.c +0 -305
- package/deps/liburing/liburing/test/35fa71a030ca-test.c +0 -329
- package/deps/liburing/liburing/test/500f9fbadef8-test.c +0 -89
- package/deps/liburing/liburing/test/7ad0e4b2f83c-test.c +0 -93
- package/deps/liburing/liburing/test/8a9973408177-test.c +0 -106
- package/deps/liburing/liburing/test/917257daa0fe-test.c +0 -53
- package/deps/liburing/liburing/test/Makefile +0 -312
- package/deps/liburing/liburing/test/a0908ae19763-test.c +0 -58
- package/deps/liburing/liburing/test/a4c0b3decb33-test.c +0 -180
- package/deps/liburing/liburing/test/accept-link.c +0 -251
- package/deps/liburing/liburing/test/accept-reuse.c +0 -164
- package/deps/liburing/liburing/test/accept-test.c +0 -79
- package/deps/liburing/liburing/test/accept.c +0 -476
- package/deps/liburing/liburing/test/across-fork.c +0 -283
- package/deps/liburing/liburing/test/b19062a56726-test.c +0 -53
- package/deps/liburing/liburing/test/b5837bd5311d-test.c +0 -77
- package/deps/liburing/liburing/test/ce593a6c480a-test.c +0 -135
- package/deps/liburing/liburing/test/close-opath.c +0 -122
- package/deps/liburing/liburing/test/config +0 -10
- package/deps/liburing/liburing/test/connect.c +0 -398
- package/deps/liburing/liburing/test/cq-full.c +0 -96
- package/deps/liburing/liburing/test/cq-overflow.c +0 -294
- package/deps/liburing/liburing/test/cq-peek-batch.c +0 -102
- package/deps/liburing/liburing/test/cq-ready.c +0 -94
- package/deps/liburing/liburing/test/cq-size.c +0 -58
- package/deps/liburing/liburing/test/d4ae271dfaae-test.c +0 -96
- package/deps/liburing/liburing/test/d77a67ed5f27-test.c +0 -65
- package/deps/liburing/liburing/test/defer.c +0 -307
- package/deps/liburing/liburing/test/double-poll-crash.c +0 -186
- package/deps/liburing/liburing/test/eeed8b54e0df-test.c +0 -114
- package/deps/liburing/liburing/test/empty-eownerdead.c +0 -42
- package/deps/liburing/liburing/test/eventfd-disable.c +0 -151
- package/deps/liburing/liburing/test/eventfd-ring.c +0 -97
- package/deps/liburing/liburing/test/eventfd.c +0 -112
- package/deps/liburing/liburing/test/fadvise.c +0 -202
- package/deps/liburing/liburing/test/fallocate.c +0 -249
- package/deps/liburing/liburing/test/fc2a85cb02ef-test.c +0 -138
- package/deps/liburing/liburing/test/file-register.c +0 -843
- package/deps/liburing/liburing/test/file-update.c +0 -173
- package/deps/liburing/liburing/test/files-exit-hang-poll.c +0 -128
- package/deps/liburing/liburing/test/files-exit-hang-timeout.c +0 -134
- package/deps/liburing/liburing/test/fixed-link.c +0 -90
- package/deps/liburing/liburing/test/fsync.c +0 -224
- package/deps/liburing/liburing/test/hardlink.c +0 -136
- package/deps/liburing/liburing/test/helpers.c +0 -135
- package/deps/liburing/liburing/test/helpers.h +0 -67
- package/deps/liburing/liburing/test/io-cancel.c +0 -537
- package/deps/liburing/liburing/test/io_uring_enter.c +0 -296
- package/deps/liburing/liburing/test/io_uring_register.c +0 -664
- package/deps/liburing/liburing/test/io_uring_setup.c +0 -192
- package/deps/liburing/liburing/test/iopoll.c +0 -366
- package/deps/liburing/liburing/test/lfs-openat-write.c +0 -117
- package/deps/liburing/liburing/test/lfs-openat.c +0 -273
- package/deps/liburing/liburing/test/link-timeout.c +0 -1107
- package/deps/liburing/liburing/test/link.c +0 -496
- package/deps/liburing/liburing/test/link_drain.c +0 -229
- package/deps/liburing/liburing/test/madvise.c +0 -195
- package/deps/liburing/liburing/test/mkdir.c +0 -108
- package/deps/liburing/liburing/test/multicqes_drain.c +0 -383
- package/deps/liburing/liburing/test/nop-all-sizes.c +0 -107
- package/deps/liburing/liburing/test/nop.c +0 -115
- package/deps/liburing/liburing/test/open-close.c +0 -146
- package/deps/liburing/liburing/test/openat2.c +0 -240
- package/deps/liburing/liburing/test/personality.c +0 -204
- package/deps/liburing/liburing/test/pipe-eof.c +0 -81
- package/deps/liburing/liburing/test/pipe-reuse.c +0 -105
- package/deps/liburing/liburing/test/poll-cancel-ton.c +0 -139
- package/deps/liburing/liburing/test/poll-cancel.c +0 -135
- package/deps/liburing/liburing/test/poll-link.c +0 -227
- package/deps/liburing/liburing/test/poll-many.c +0 -208
- package/deps/liburing/liburing/test/poll-mshot-update.c +0 -273
- package/deps/liburing/liburing/test/poll-ring.c +0 -48
- package/deps/liburing/liburing/test/poll-v-poll.c +0 -353
- package/deps/liburing/liburing/test/poll.c +0 -109
- package/deps/liburing/liburing/test/probe.c +0 -137
- package/deps/liburing/liburing/test/read-write.c +0 -876
- package/deps/liburing/liburing/test/register-restrictions.c +0 -633
- package/deps/liburing/liburing/test/rename.c +0 -134
- package/deps/liburing/liburing/test/ring-leak.c +0 -173
- package/deps/liburing/liburing/test/ring-leak2.c +0 -249
- package/deps/liburing/liburing/test/rsrc_tags.c +0 -449
- package/deps/liburing/liburing/test/runtests-loop.sh +0 -16
- package/deps/liburing/liburing/test/runtests.sh +0 -170
- package/deps/liburing/liburing/test/rw_merge_test.c +0 -97
- package/deps/liburing/liburing/test/self.c +0 -91
- package/deps/liburing/liburing/test/send_recv.c +0 -291
- package/deps/liburing/liburing/test/send_recvmsg.c +0 -345
- package/deps/liburing/liburing/test/sendmsg_fs_cve.c +0 -198
- package/deps/liburing/liburing/test/shared-wq.c +0 -84
- package/deps/liburing/liburing/test/short-read.c +0 -75
- package/deps/liburing/liburing/test/shutdown.c +0 -163
- package/deps/liburing/liburing/test/sigfd-deadlock.c +0 -74
- package/deps/liburing/liburing/test/socket-rw-eagain.c +0 -156
- package/deps/liburing/liburing/test/socket-rw.c +0 -147
- package/deps/liburing/liburing/test/splice.c +0 -511
- package/deps/liburing/liburing/test/sq-full-cpp.cc +0 -45
- package/deps/liburing/liburing/test/sq-full.c +0 -45
- package/deps/liburing/liburing/test/sq-poll-dup.c +0 -200
- package/deps/liburing/liburing/test/sq-poll-kthread.c +0 -168
- package/deps/liburing/liburing/test/sq-poll-share.c +0 -137
- package/deps/liburing/liburing/test/sq-space_left.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-cancel-hang.c +0 -159
- package/deps/liburing/liburing/test/sqpoll-disable-exit.c +0 -195
- package/deps/liburing/liburing/test/sqpoll-exit-hang.c +0 -77
- package/deps/liburing/liburing/test/sqpoll-sleep.c +0 -68
- package/deps/liburing/liburing/test/statx.c +0 -172
- package/deps/liburing/liburing/test/stdout.c +0 -232
- package/deps/liburing/liburing/test/submit-link-fail.c +0 -154
- package/deps/liburing/liburing/test/submit-reuse.c +0 -239
- package/deps/liburing/liburing/test/symlink.c +0 -116
- package/deps/liburing/liburing/test/teardowns.c +0 -58
- package/deps/liburing/liburing/test/thread-exit.c +0 -131
- package/deps/liburing/liburing/test/timeout-new.c +0 -246
- package/deps/liburing/liburing/test/timeout-overflow.c +0 -204
- package/deps/liburing/liburing/test/timeout.c +0 -1354
- package/deps/liburing/liburing/test/unlink.c +0 -111
- package/deps/liburing/liburing/test/wakeup-hang.c +0 -162
- package/deps/rocksdb/rocksdb/README.md +0 -32
- package/deps/rocksdb/rocksdb/microbench/README.md +0 -60
- package/deps/rocksdb/rocksdb/plugin/README.md +0 -43
- package/deps/rocksdb/rocksdb/port/README +0 -10
- package/deps/rocksdb/rocksdb/python.mk +0 -9
- package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +0 -13
- package/prebuilds/linux-arm64/node.napi.node +0 -0
package/BUILDING.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# LINUX
|
|
2
|
+
|
|
3
|
+
- Run `./configure` in `deps/liburing`.
|
|
4
|
+
- Update package lib, `apt-get update`.
|
|
5
|
+
- Update gcc, `apt-get upgrade gcc`.
|
|
6
|
+
- Clone and build zstd with `CFLAGS="-O3 -fPIC" make -C lib libzstd.a`
|
|
7
|
+
- Copy `libzstd.a` to `/usr/lib/x86_64-linux-gnu`.
|
|
8
|
+
- Copy headers to `/usr/lib/x86_64-linux-gnu/include`.
|
|
9
|
+
- Clone and build folly with `python3 ./build/fbcode_builder/getdeps.py build --no-tests --extra-cmake-defines='{"CMAKE_CXX_FLAGS": "-fPIC"}'`
|
|
10
|
+
- Copy `libfolly.a` to `/usr/lib/x86_64-linux-gnu`.
|
|
11
|
+
- Copy headers to `/usr/lib/x86_64-linux-gnu/include`.
|
|
12
|
+
- Copy boost headers from folly scratchpad to `/usr/lib/x86_64-linux-gnu/include`.
|
|
13
|
+
- `npx prebuildify -t -t 17.8.0 --napi --strip --arch x64`
|
|
14
|
+
|
|
15
|
+
# OSX
|
|
16
|
+
|
|
17
|
+
- `brew install zstd`
|
|
18
|
+
- `npx prebuildify -t -t 17.8.0 --napi --strip --arch x64`
|
package/binding.cc
CHANGED
|
@@ -200,16 +200,7 @@ static void Finalize(napi_env env, void* data, void* hint) {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
napi_status Convert(napi_env env,
|
|
204
|
-
if (asBuffer) {
|
|
205
|
-
auto ptr = new std::string(std::move(s));
|
|
206
|
-
return napi_create_external_buffer(env, ptr->size(), ptr->data(), Finalize<std::string>, ptr, &result);
|
|
207
|
-
} else {
|
|
208
|
-
return napi_create_string_utf8(env, s.data(), s.size(), &result);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
napi_status Convert(napi_env env, rocksdb::PinnableSlice s, bool asBuffer, napi_value& result) {
|
|
203
|
+
napi_status Convert(napi_env env, rocksdb::PinnableSlice&& s, bool asBuffer, napi_value& result) {
|
|
213
204
|
if (asBuffer) {
|
|
214
205
|
auto ptr = new rocksdb::PinnableSlice(std::move(s));
|
|
215
206
|
return napi_create_external_buffer(env, ptr->size(), const_cast<char*>(ptr->data()),
|
|
@@ -455,6 +446,7 @@ struct BaseIterator {
|
|
|
455
446
|
}
|
|
456
447
|
options.fill_cache = fillCache_;
|
|
457
448
|
options.snapshot = snapshot_.get();
|
|
449
|
+
options.async_io = true;
|
|
458
450
|
|
|
459
451
|
iterator_.reset(database_->db_->NewIterator(options));
|
|
460
452
|
}
|
|
@@ -735,7 +727,7 @@ struct GetWorker final : public Worker {
|
|
|
735
727
|
options.fill_cache = fillCache_;
|
|
736
728
|
options.snapshot = snapshot_.get();
|
|
737
729
|
|
|
738
|
-
auto status = database.db_->Get(options, key_, &value_);
|
|
730
|
+
auto status = database.db_->Get(options, database.db_->DefaultColumnFamily(), key_, &value_);
|
|
739
731
|
|
|
740
732
|
key_.clear();
|
|
741
733
|
snapshot_ = nullptr;
|
|
@@ -757,7 +749,7 @@ struct GetWorker final : public Worker {
|
|
|
757
749
|
|
|
758
750
|
private:
|
|
759
751
|
std::string key_;
|
|
760
|
-
|
|
752
|
+
rocksdb::PinnableSlice value_;
|
|
761
753
|
const bool asBuffer_;
|
|
762
754
|
const bool fillCache_;
|
|
763
755
|
std::shared_ptr<const rocksdb::Snapshot> snapshot_;
|
|
@@ -799,6 +791,7 @@ struct GetManyWorker final : public Worker {
|
|
|
799
791
|
rocksdb::ReadOptions options;
|
|
800
792
|
options.fill_cache = fillCache_;
|
|
801
793
|
options.snapshot = snapshot_.get();
|
|
794
|
+
options.async_io = true;
|
|
802
795
|
|
|
803
796
|
const auto numKeys = keys_.size();
|
|
804
797
|
|
|
@@ -1080,18 +1073,24 @@ struct NextWorker final : public Worker {
|
|
|
1080
1073
|
if (iterator_->keys_ && iterator_->values_) {
|
|
1081
1074
|
auto k = iterator_->CurrentKey();
|
|
1082
1075
|
auto v = iterator_->CurrentValue();
|
|
1083
|
-
cache_.
|
|
1084
|
-
cache_.
|
|
1076
|
+
cache_.push_back({});
|
|
1077
|
+
cache_.back().PinSelf(k);
|
|
1078
|
+
cache_.push_back({});
|
|
1079
|
+
cache_.back().PinSelf(v);
|
|
1085
1080
|
bytesRead += k.size() + v.size();
|
|
1086
1081
|
} else if (iterator_->keys_) {
|
|
1087
1082
|
auto k = iterator_->CurrentKey();
|
|
1088
|
-
cache_.emplace_back(k.data(), k.size());
|
|
1089
1083
|
cache_.push_back({});
|
|
1084
|
+
cache_.back().PinSelf(k);
|
|
1085
|
+
cache_.push_back({});
|
|
1086
|
+
// no value
|
|
1090
1087
|
bytesRead += k.size();
|
|
1091
1088
|
} else if (iterator_->values_) {
|
|
1092
1089
|
auto v = iterator_->CurrentValue();
|
|
1093
1090
|
cache_.push_back({});
|
|
1094
|
-
|
|
1091
|
+
// no key
|
|
1092
|
+
cache_.push_back({});
|
|
1093
|
+
cache_.back().PinSelf(v);
|
|
1095
1094
|
bytesRead += v.size();
|
|
1096
1095
|
}
|
|
1097
1096
|
|
|
@@ -1130,7 +1129,7 @@ struct NextWorker final : public Worker {
|
|
|
1130
1129
|
}
|
|
1131
1130
|
|
|
1132
1131
|
private:
|
|
1133
|
-
std::vector<
|
|
1132
|
+
std::vector<rocksdb::PinnableSlice> cache_;
|
|
1134
1133
|
Iterator* iterator_ = nullptr;
|
|
1135
1134
|
uint32_t size_ = 0;
|
|
1136
1135
|
bool finished_ = false;
|
package/binding.gyp
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"-Wno-ignored-qualifiers"
|
|
62
62
|
],
|
|
63
63
|
"OTHER_CPLUSPLUSFLAGS": [
|
|
64
|
-
"-mmacosx-version-min=
|
|
64
|
+
"-mmacosx-version-min=12.2.1",
|
|
65
65
|
"-std=c++20",
|
|
66
66
|
"-fno-omit-frame-pointer",
|
|
67
67
|
"-momit-leaf-frame-pointer",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
],
|
|
71
71
|
"GCC_ENABLE_CPP_RTTI": "YES",
|
|
72
72
|
"GCC_ENABLE_CPP_EXCEPTIONS": "YES",
|
|
73
|
-
"MACOSX_DEPLOYMENT_TARGET": "
|
|
73
|
+
"MACOSX_DEPLOYMENT_TARGET": "12.2.1"
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
]
|
|
@@ -12,12 +12,7 @@ static const std::string rocksdb_build_git_sha = "rocksdb_build_git_sha:None";
|
|
|
12
12
|
static const std::string rocksdb_build_git_tag = "rocksdb_build_git_tag:None";
|
|
13
13
|
static const std::string rocksdb_build_date = "rocksdb_build_date:None";
|
|
14
14
|
|
|
15
|
-
#ifndef ROCKSDB_LITE
|
|
16
|
-
extern "C" {
|
|
17
|
-
} // extern "C"
|
|
18
|
-
|
|
19
15
|
std::unordered_map<std::string, ROCKSDB_NAMESPACE::RegistrarFunc> ROCKSDB_NAMESPACE::ObjectRegistry::builtins_ = {};
|
|
20
|
-
#endif //ROCKSDB_LITE
|
|
21
16
|
|
|
22
17
|
namespace ROCKSDB_NAMESPACE {
|
|
23
18
|
static void AddProperty(std::unordered_map<std::string, std::string> *props, const std::string& name) {
|
|
@@ -31,7 +26,7 @@ static void AddProperty(std::unordered_map<std::string, std::string> *props, con
|
|
|
31
26
|
}
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
|
-
|
|
29
|
+
|
|
35
30
|
static std::unordered_map<std::string, std::string>* LoadPropertiesSet() {
|
|
36
31
|
auto * properties = new std::unordered_map<std::string, std::string>();
|
|
37
32
|
AddProperty(properties, rocksdb_build_git_sha);
|
|
@@ -46,14 +41,14 @@ const std::unordered_map<std::string, std::string>& GetRocksBuildProperties() {
|
|
|
46
41
|
}
|
|
47
42
|
|
|
48
43
|
std::string GetRocksVersionAsString(bool with_patch) {
|
|
49
|
-
std::string version =
|
|
44
|
+
std::string version = std::to_string(ROCKSDB_MAJOR) + "." + std::to_string(ROCKSDB_MINOR);
|
|
50
45
|
if (with_patch) {
|
|
51
|
-
return version + "." +
|
|
46
|
+
return version + "." + std::to_string(ROCKSDB_PATCH);
|
|
52
47
|
} else {
|
|
53
48
|
return version;
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
|
-
|
|
51
|
+
|
|
57
52
|
std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose) {
|
|
58
53
|
std::string info = program + " (RocksDB) " + GetRocksVersionAsString(true);
|
|
59
54
|
if (verbose) {
|
|
@@ -67,4 +62,3 @@ std::string GetRocksBuildInfoAsString(const std::string& program, bool verbose)
|
|
|
67
62
|
return info;
|
|
68
63
|
}
|
|
69
64
|
} // namespace ROCKSDB_NAMESPACE
|
|
70
|
-
|
|
@@ -40,6 +40,8 @@ include(GoogleTest)
|
|
|
40
40
|
get_rocksdb_version(rocksdb_VERSION)
|
|
41
41
|
project(rocksdb
|
|
42
42
|
VERSION ${rocksdb_VERSION}
|
|
43
|
+
DESCRIPTION "An embeddable persistent key-value store for fast storage"
|
|
44
|
+
HOMEPAGE_URL https://rocksdb.org/
|
|
43
45
|
LANGUAGES CXX C ASM)
|
|
44
46
|
|
|
45
47
|
if(POLICY CMP0042)
|
|
@@ -335,9 +337,6 @@ endif()
|
|
|
335
337
|
# Reset the required flags
|
|
336
338
|
set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
|
|
337
339
|
|
|
338
|
-
# thread_local is part of C++11 and later (TODO: clean up this define)
|
|
339
|
-
add_definitions(-DROCKSDB_SUPPORT_THREAD_LOCAL)
|
|
340
|
-
|
|
341
340
|
option(WITH_IOSTATS_CONTEXT "Enable IO stats context" ON)
|
|
342
341
|
if (NOT WITH_IOSTATS_CONTEXT)
|
|
343
342
|
add_definitions(-DNIOSTATS_CONTEXT)
|
|
@@ -596,6 +595,7 @@ set(SOURCES
|
|
|
596
595
|
cache/cache_reservation_manager.cc
|
|
597
596
|
cache/clock_cache.cc
|
|
598
597
|
cache/compressed_secondary_cache.cc
|
|
598
|
+
cache/fast_lru_cache.cc
|
|
599
599
|
cache/lru_cache.cc
|
|
600
600
|
cache/sharded_cache.cc
|
|
601
601
|
db/arena_wrapped_db_iter.cc
|
|
@@ -796,6 +796,8 @@ set(SOURCES
|
|
|
796
796
|
trace_replay/trace_record_result.cc
|
|
797
797
|
trace_replay/trace_record.cc
|
|
798
798
|
trace_replay/trace_replay.cc
|
|
799
|
+
util/async_file_reader.cc
|
|
800
|
+
util/cleanable.cc
|
|
799
801
|
util/coding.cc
|
|
800
802
|
util/compaction_job_stats_impl.cc
|
|
801
803
|
util/comparator.cc
|
|
@@ -1119,8 +1121,20 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
|
|
1119
1121
|
COMPATIBILITY SameMajorVersion
|
|
1120
1122
|
)
|
|
1121
1123
|
|
|
1124
|
+
configure_file(
|
|
1125
|
+
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in
|
|
1126
|
+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
|
|
1127
|
+
@ONLY
|
|
1128
|
+
)
|
|
1129
|
+
|
|
1122
1130
|
install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
1123
1131
|
|
|
1132
|
+
foreach (plugin ${PLUGINS})
|
|
1133
|
+
foreach (header ${${plugin}_HEADERS})
|
|
1134
|
+
install(FILES plugin/${plugin}/${header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rocksdb/plugin/${plugin})
|
|
1135
|
+
endforeach()
|
|
1136
|
+
endforeach()
|
|
1137
|
+
|
|
1124
1138
|
install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination})
|
|
1125
1139
|
|
|
1126
1140
|
install(
|
|
@@ -1157,6 +1171,13 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
|
|
1157
1171
|
COMPONENT devel
|
|
1158
1172
|
DESTINATION ${package_config_destination}
|
|
1159
1173
|
)
|
|
1174
|
+
|
|
1175
|
+
install(
|
|
1176
|
+
FILES
|
|
1177
|
+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
|
|
1178
|
+
COMPONENT devel
|
|
1179
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
|
|
1180
|
+
)
|
|
1160
1181
|
endif()
|
|
1161
1182
|
|
|
1162
1183
|
option(WITH_ALL_TESTS "Build all test, rather than a small subset" ON)
|
|
@@ -1202,6 +1223,7 @@ if(WITH_TESTS)
|
|
|
1202
1223
|
db/comparator_db_test.cc
|
|
1203
1224
|
db/corruption_test.cc
|
|
1204
1225
|
db/cuckoo_table_db_test.cc
|
|
1226
|
+
db/db_readonly_with_timestamp_test.cc
|
|
1205
1227
|
db/db_with_timestamp_basic_test.cc
|
|
1206
1228
|
db/db_block_cache_test.cc
|
|
1207
1229
|
db/db_bloom_filter_test.cc
|
|
@@ -1370,6 +1392,7 @@ if(WITH_TESTS)
|
|
|
1370
1392
|
|
|
1371
1393
|
set(TESTUTIL_SOURCE
|
|
1372
1394
|
db/db_test_util.cc
|
|
1395
|
+
db/db_with_timestamp_test_util.cc
|
|
1373
1396
|
monitoring/thread_status_updater_debug.cc
|
|
1374
1397
|
table/mock_table.cc
|
|
1375
1398
|
utilities/agg_merge/test_agg_merge.cc
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
BASH_EXISTS := $(shell which bash)
|
|
10
10
|
SHELL := $(shell which bash)
|
|
11
|
-
include
|
|
11
|
+
include common.mk
|
|
12
12
|
|
|
13
13
|
CLEAN_FILES = # deliberately empty, so we can append below.
|
|
14
14
|
CFLAGS += ${EXTRA_CFLAGS}
|
|
@@ -136,6 +136,13 @@ CXXFLAGS += $(PLATFORM_SHARED_CFLAGS) -DROCKSDB_DLL
|
|
|
136
136
|
CFLAGS += $(PLATFORM_SHARED_CFLAGS) -DROCKSDB_DLL
|
|
137
137
|
endif
|
|
138
138
|
|
|
139
|
+
ifeq ($(USE_COROUTINES), 1)
|
|
140
|
+
USE_FOLLY = 1
|
|
141
|
+
OPT += -DUSE_COROUTINES
|
|
142
|
+
ROCKSDB_CXX_STANDARD = c++2a
|
|
143
|
+
USE_RTTI = 1
|
|
144
|
+
endif
|
|
145
|
+
|
|
139
146
|
# if we're compiling for release, compile without debug code (-DNDEBUG)
|
|
140
147
|
ifeq ($(DEBUG_LEVEL),0)
|
|
141
148
|
OPT += -DNDEBUG
|
|
@@ -226,6 +233,7 @@ dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \
|
|
|
226
233
|
export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \
|
|
227
234
|
export USE_CLANG="$(USE_CLANG)"; \
|
|
228
235
|
export LIB_MODE="$(LIB_MODE)"; \
|
|
236
|
+
export ROCKSDB_CXX_STANDARD="$(ROCKSDB_CXX_STANDARD)"; \
|
|
229
237
|
"$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk"))
|
|
230
238
|
# this file is generated by the previous line to set build flags and sources
|
|
231
239
|
include make_config.mk
|
|
@@ -340,6 +348,8 @@ endif
|
|
|
340
348
|
# ASAN doesn't work well with jemalloc. If we're compiling with ASAN, we should use regular malloc.
|
|
341
349
|
ifdef COMPILE_WITH_ASAN
|
|
342
350
|
DISABLE_JEMALLOC=1
|
|
351
|
+
ASAN_OPTIONS?=detect_stack_use_after_return=1
|
|
352
|
+
export ASAN_OPTIONS
|
|
343
353
|
EXEC_LDFLAGS += -fsanitize=address
|
|
344
354
|
PLATFORM_CCFLAGS += -fsanitize=address
|
|
345
355
|
PLATFORM_CXXFLAGS += -fsanitize=address
|
|
@@ -596,9 +606,6 @@ am__v_CCH_1 =
|
|
|
596
606
|
check-headers: $(HEADER_OK_FILES)
|
|
597
607
|
|
|
598
608
|
# options_settable_test doesn't pass with UBSAN as we use hack in the test
|
|
599
|
-
ifdef COMPILE_WITH_UBSAN
|
|
600
|
-
TESTS := $(shell echo $(TESTS) | sed 's/\boptions_settable_test\b//g')
|
|
601
|
-
endif
|
|
602
609
|
ifdef ASSERT_STATUS_CHECKED
|
|
603
610
|
# TODO: finish fixing all tests to pass this check
|
|
604
611
|
TESTS_FAILING_ASC = \
|
|
@@ -633,7 +640,6 @@ TESTS_PLATFORM_DEPENDENT := \
|
|
|
633
640
|
db_basic_test \
|
|
634
641
|
db_blob_basic_test \
|
|
635
642
|
db_encryption_test \
|
|
636
|
-
db_test2 \
|
|
637
643
|
external_sst_file_basic_test \
|
|
638
644
|
auto_roll_logger_test \
|
|
639
645
|
bloom_test \
|
|
@@ -655,7 +661,6 @@ TESTS_PLATFORM_DEPENDENT := \
|
|
|
655
661
|
rate_limiter_test \
|
|
656
662
|
perf_context_test \
|
|
657
663
|
iostats_context_test \
|
|
658
|
-
db_wal_test \
|
|
659
664
|
|
|
660
665
|
# Sort ROCKSDBTESTS_SUBSET for filtering, except db_test is special (expensive)
|
|
661
666
|
# so is placed first (out-of-order)
|
|
@@ -796,17 +801,10 @@ $(SHARED4): $(LIB_OBJECTS)
|
|
|
796
801
|
$(AM_V_CCLD) $(CXX) $(PLATFORM_SHARED_LDFLAGS)$(SHARED3) $(LIB_OBJECTS) $(LDFLAGS) -o $@
|
|
797
802
|
endif # PLATFORM_SHARED_EXT
|
|
798
803
|
|
|
799
|
-
.PHONY:
|
|
800
|
-
release tags tags0 valgrind_check
|
|
801
|
-
|
|
802
|
-
analyze tools tools_lib check-headers checkout_folly
|
|
803
|
-
blackbox_crash_test_with_atomic_flush whitebox_crash_test_with_atomic_flush \
|
|
804
|
-
blackbox_crash_test_with_txn whitebox_crash_test_with_txn \
|
|
805
|
-
blackbox_crash_test_with_best_efforts_recovery \
|
|
806
|
-
blackbox_crash_test_with_ts whitebox_crash_test_with_ts \
|
|
807
|
-
blackbox_crash_test_with_multiops_wc_txn \
|
|
808
|
-
blackbox_crash_test_with_multiops_wp_txn
|
|
809
|
-
|
|
804
|
+
.PHONY: check clean coverage ldb_tests package dbg gen-pc build_size \
|
|
805
|
+
release tags tags0 valgrind_check format static_lib shared_lib all \
|
|
806
|
+
rocksdbjavastatic rocksdbjava install install-static install-shared \
|
|
807
|
+
uninstall analyze tools tools_lib check-headers checkout_folly
|
|
810
808
|
|
|
811
809
|
all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(TESTS)
|
|
812
810
|
|
|
@@ -843,18 +841,6 @@ coverage: clean
|
|
|
843
841
|
# Delete intermediate files
|
|
844
842
|
$(FIND) . -type f \( -name "*.gcda" -o -name "*.gcno" \) -exec rm -f {} \;
|
|
845
843
|
|
|
846
|
-
ifneq (,$(filter check parallel_check,$(MAKECMDGOALS)),)
|
|
847
|
-
# Use /dev/shm if it has the sticky bit set (otherwise, /tmp),
|
|
848
|
-
# and create a randomly-named rocksdb.XXXX directory therein.
|
|
849
|
-
# We'll use that directory in the "make check" rules.
|
|
850
|
-
ifeq ($(TMPD),)
|
|
851
|
-
TMPDIR := $(shell echo $${TMPDIR:-/tmp})
|
|
852
|
-
TMPD := $(shell f=/dev/shm; test -k $$f || f=$(TMPDIR); \
|
|
853
|
-
perl -le 'use File::Temp "tempdir";' \
|
|
854
|
-
-e 'print tempdir("'$$f'/rocksdb.XXXX", CLEANUP => 0)')
|
|
855
|
-
endif
|
|
856
|
-
endif
|
|
857
|
-
|
|
858
844
|
# Run all tests in parallel, accumulating per-test logs in t/log-*.
|
|
859
845
|
#
|
|
860
846
|
# Each t/run-* file is a tiny generated bourne shell script that invokes one of
|
|
@@ -894,7 +880,7 @@ $(parallel_tests):
|
|
|
894
880
|
TEST_SCRIPT=t/run-$$TEST_BINARY-$${TEST_NAME//\//-}; \
|
|
895
881
|
printf '%s\n' \
|
|
896
882
|
'#!/bin/sh' \
|
|
897
|
-
"d=\$(
|
|
883
|
+
"d=\$(TEST_TMPDIR)$$TEST_SCRIPT" \
|
|
898
884
|
'mkdir -p $$d' \
|
|
899
885
|
"TEST_TMPDIR=\$$d $(DRIVER) ./$$TEST_BINARY --gtest_filter=$$TEST_NAME" \
|
|
900
886
|
> $$TEST_SCRIPT; \
|
|
@@ -954,7 +940,6 @@ endif
|
|
|
954
940
|
|
|
955
941
|
.PHONY: check_0
|
|
956
942
|
check_0:
|
|
957
|
-
$(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \
|
|
958
943
|
printf '%s\n' '' \
|
|
959
944
|
'To monitor subtest <duration,pass/fail,name>,' \
|
|
960
945
|
' run "make watch-log" in a separate window' ''; \
|
|
@@ -965,7 +950,8 @@ check_0:
|
|
|
965
950
|
| $(prioritize_long_running_tests) \
|
|
966
951
|
| grep -E '$(tests-regexp)' \
|
|
967
952
|
| grep -E -v '$(EXCLUDE_TESTS_REGEX)' \
|
|
968
|
-
| build_tools/gnu_parallel -j$(J) --plain --joblog=LOG --eta --gnu
|
|
953
|
+
| build_tools/gnu_parallel -j$(J) --plain --joblog=LOG --eta --gnu \
|
|
954
|
+
--tmpdir=$(TEST_TMPDIR) '{} $(parallel_redir)' ; \
|
|
969
955
|
parallel_retcode=$$? ; \
|
|
970
956
|
awk '{ if ($$7 != 0 || $$8 != 0) { if ($$7 == "Exitval") { h = $$0; } else { if (!f) print h; print; f = 1 } } } END { if(f) exit 1; }' < LOG ; \
|
|
971
957
|
awk_retcode=$$?; \
|
|
@@ -976,7 +962,6 @@ valgrind-exclude-regexp = InlineSkipTest.ConcurrentInsert|TransactionStressTest.
|
|
|
976
962
|
.PHONY: valgrind_check_0
|
|
977
963
|
valgrind_check_0: test_log_prefix := valgrind_
|
|
978
964
|
valgrind_check_0:
|
|
979
|
-
$(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \
|
|
980
965
|
printf '%s\n' '' \
|
|
981
966
|
'To monitor subtest <duration,pass/fail,name>,' \
|
|
982
967
|
' run "make watch-log" in a separate window' ''; \
|
|
@@ -988,10 +973,11 @@ valgrind_check_0:
|
|
|
988
973
|
| grep -E '$(tests-regexp)' \
|
|
989
974
|
| grep -E -v '$(valgrind-exclude-regexp)' \
|
|
990
975
|
| build_tools/gnu_parallel -j$(J) --plain --joblog=LOG --eta --gnu \
|
|
991
|
-
|
|
976
|
+
--tmpdir=$(TEST_TMPDIR) \
|
|
977
|
+
'(if [[ "{}" == "./"* ]] ; then $(DRIVER) {}; else {}; fi) \
|
|
992
978
|
$(parallel_redir)' \
|
|
993
979
|
|
|
994
|
-
CLEAN_FILES += t LOG $(
|
|
980
|
+
CLEAN_FILES += t LOG $(TEST_TMPDIR)
|
|
995
981
|
|
|
996
982
|
# When running parallel "make check", you can monitor its progress
|
|
997
983
|
# from another window.
|
|
@@ -1014,12 +1000,12 @@ check: all
|
|
|
1014
1000
|
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
|
|
1015
1001
|
grep -q 'GNU Parallel'; \
|
|
1016
1002
|
then \
|
|
1017
|
-
$(MAKE) T="$$t"
|
|
1003
|
+
$(MAKE) T="$$t" check_0; \
|
|
1018
1004
|
else \
|
|
1019
1005
|
for t in $(TESTS); do \
|
|
1020
1006
|
echo "===== Running $$t (`date`)"; ./$$t || exit 1; done; \
|
|
1021
1007
|
fi
|
|
1022
|
-
rm -rf $(
|
|
1008
|
+
rm -rf $(TEST_TMPDIR)
|
|
1023
1009
|
ifneq ($(PLATFORM), OS_AIX)
|
|
1024
1010
|
$(PYTHON) tools/check_all_python.py
|
|
1025
1011
|
ifeq ($(filter -DROCKSDB_LITE,$(OPT)),)
|
|
@@ -1046,31 +1032,31 @@ ldb_tests: ldb
|
|
|
1046
1032
|
include crash_test.mk
|
|
1047
1033
|
|
|
1048
1034
|
asan_check: clean
|
|
1049
|
-
|
|
1035
|
+
COMPILE_WITH_ASAN=1 $(MAKE) check -j32
|
|
1050
1036
|
$(MAKE) clean
|
|
1051
1037
|
|
|
1052
1038
|
asan_crash_test: clean
|
|
1053
|
-
|
|
1039
|
+
COMPILE_WITH_ASAN=1 $(MAKE) crash_test
|
|
1054
1040
|
$(MAKE) clean
|
|
1055
1041
|
|
|
1056
1042
|
whitebox_asan_crash_test: clean
|
|
1057
|
-
|
|
1043
|
+
COMPILE_WITH_ASAN=1 $(MAKE) whitebox_crash_test
|
|
1058
1044
|
$(MAKE) clean
|
|
1059
1045
|
|
|
1060
1046
|
blackbox_asan_crash_test: clean
|
|
1061
|
-
|
|
1047
|
+
COMPILE_WITH_ASAN=1 $(MAKE) blackbox_crash_test
|
|
1062
1048
|
$(MAKE) clean
|
|
1063
1049
|
|
|
1064
1050
|
asan_crash_test_with_atomic_flush: clean
|
|
1065
|
-
|
|
1051
|
+
COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_atomic_flush
|
|
1066
1052
|
$(MAKE) clean
|
|
1067
1053
|
|
|
1068
1054
|
asan_crash_test_with_txn: clean
|
|
1069
|
-
|
|
1055
|
+
COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_txn
|
|
1070
1056
|
$(MAKE) clean
|
|
1071
1057
|
|
|
1072
1058
|
asan_crash_test_with_best_efforts_recovery: clean
|
|
1073
|
-
|
|
1059
|
+
COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_best_efforts_recovery
|
|
1074
1060
|
$(MAKE) clean
|
|
1075
1061
|
|
|
1076
1062
|
ubsan_check: clean
|
|
@@ -1116,11 +1102,11 @@ valgrind_test_some:
|
|
|
1116
1102
|
valgrind_check: $(TESTS)
|
|
1117
1103
|
$(MAKE) DRIVER="$(VALGRIND_VER) $(VALGRIND_OPTS)" gen_parallel_tests
|
|
1118
1104
|
$(AM_V_GEN)if test "$(J)" != 1 \
|
|
1119
|
-
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) |
|
|
1105
|
+
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
|
|
1120
1106
|
grep -q 'GNU Parallel'; \
|
|
1121
1107
|
then \
|
|
1122
|
-
|
|
1123
|
-
|
|
1108
|
+
$(MAKE) \
|
|
1109
|
+
DRIVER="$(VALGRIND_VER) $(VALGRIND_OPTS)" valgrind_check_0; \
|
|
1124
1110
|
else \
|
|
1125
1111
|
for t in $(filter-out %skiplist_test options_settable_test,$(TESTS)); do \
|
|
1126
1112
|
$(VALGRIND_VER) $(VALGRIND_OPTS) ./$$t; \
|
|
@@ -1140,27 +1126,6 @@ valgrind_check_some: $(ROCKSDBTESTS_SUBSET)
|
|
|
1140
1126
|
fi; \
|
|
1141
1127
|
done
|
|
1142
1128
|
|
|
1143
|
-
ifneq ($(PAR_TEST),)
|
|
1144
|
-
parloop:
|
|
1145
|
-
ret_bad=0; \
|
|
1146
|
-
for t in $(PAR_TEST); do \
|
|
1147
|
-
echo "===== Running $$t in parallel $(NUM_PAR) (`date`)";\
|
|
1148
|
-
if [ $(db_test) -eq 1 ]; then \
|
|
1149
|
-
seq $(J) | v="$$t" build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{}; export TEST_TMPDIR=$$s;' \
|
|
1150
|
-
'timeout 2m ./db_test --gtest_filter=$$v >> $$s/log-{} 2>1'; \
|
|
1151
|
-
else\
|
|
1152
|
-
seq $(J) | v="./$$t" build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{};' \
|
|
1153
|
-
'export TEST_TMPDIR=$$s; timeout 10m $$v >> $$s/log-{} 2>1'; \
|
|
1154
|
-
fi; \
|
|
1155
|
-
ret_code=$$?; \
|
|
1156
|
-
if [ $$ret_code -ne 0 ]; then \
|
|
1157
|
-
ret_bad=$$ret_code; \
|
|
1158
|
-
echo $$t exited with $$ret_code; \
|
|
1159
|
-
fi; \
|
|
1160
|
-
done; \
|
|
1161
|
-
exit $$ret_bad;
|
|
1162
|
-
endif
|
|
1163
|
-
|
|
1164
1129
|
test_names = \
|
|
1165
1130
|
./db_test --gtest_list_tests \
|
|
1166
1131
|
| perl -n \
|
|
@@ -1168,24 +1133,6 @@ test_names = \
|
|
|
1168
1133
|
-e '/^(\s*)(\S+)/; !$$1 and do {$$p=$$2; break};' \
|
|
1169
1134
|
-e 'print qq! $$p$$2!'
|
|
1170
1135
|
|
|
1171
|
-
parallel_check: $(TESTS)
|
|
1172
|
-
$(AM_V_GEN)if test "$(J)" > 1 \
|
|
1173
|
-
&& (build_tools/gnu_parallel --gnu --help 2>/dev/null) | \
|
|
1174
|
-
grep -q 'GNU Parallel'; \
|
|
1175
|
-
then \
|
|
1176
|
-
echo Running in parallel $(J); \
|
|
1177
|
-
else \
|
|
1178
|
-
echo "Need to have GNU Parallel and J > 1"; exit 1; \
|
|
1179
|
-
fi; \
|
|
1180
|
-
ret_bad=0; \
|
|
1181
|
-
echo $(J);\
|
|
1182
|
-
echo Test Dir: $(TMPD); \
|
|
1183
|
-
seq $(J) | build_tools/gnu_parallel --gnu --plain 's=$(TMPD)/rdb-{}; rm -rf $$s; mkdir $$s'; \
|
|
1184
|
-
$(MAKE) PAR_TEST="$(shell $(test_names))" TMPD=$(TMPD) \
|
|
1185
|
-
J=$(J) db_test=1 parloop; \
|
|
1186
|
-
$(MAKE) PAR_TEST="$(filter-out db_test, $(TESTS))" \
|
|
1187
|
-
TMPD=$(TMPD) J=$(J) db_test=0 parloop;
|
|
1188
|
-
|
|
1189
1136
|
analyze: clean
|
|
1190
1137
|
USE_CLANG=1 $(MAKE) analyze_incremental
|
|
1191
1138
|
|
|
@@ -1431,6 +1378,9 @@ db_blob_basic_test: $(OBJ_DIR)/db/blob/db_blob_basic_test.o $(TEST_LIBRARY) $(LI
|
|
|
1431
1378
|
db_blob_compaction_test: $(OBJ_DIR)/db/blob/db_blob_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1432
1379
|
$(AM_LINK)
|
|
1433
1380
|
|
|
1381
|
+
db_readonly_with_timestamp_test: $(OBJ_DIR)/db/db_readonly_with_timestamp_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1382
|
+
$(AM_LINK)
|
|
1383
|
+
|
|
1434
1384
|
db_with_timestamp_basic_test: $(OBJ_DIR)/db/db_with_timestamp_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1435
1385
|
$(AM_LINK)
|
|
1436
1386
|
|
|
@@ -2114,6 +2064,7 @@ ifeq ($(PLATFORM), OS_OPENBSD)
|
|
|
2114
2064
|
ROCKSDBJNILIB = librocksdbjni-openbsd$(ARCH).so
|
|
2115
2065
|
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-openbsd$(ARCH).jar
|
|
2116
2066
|
endif
|
|
2067
|
+
export SHA256_CMD
|
|
2117
2068
|
|
|
2118
2069
|
zlib-$(ZLIB_VER).tar.gz:
|
|
2119
2070
|
curl --fail --output zlib-$(ZLIB_VER).tar.gz --location ${ZLIB_DOWNLOAD_BASE}/zlib-$(ZLIB_VER).tar.gz
|
|
@@ -2246,7 +2197,7 @@ JAR_CMD := jar
|
|
|
2246
2197
|
endif
|
|
2247
2198
|
endif
|
|
2248
2199
|
rocksdbjavastatic_javalib:
|
|
2249
|
-
cd java;
|
|
2200
|
+
cd java; $(MAKE) javalib
|
|
2250
2201
|
rm -f java/target/$(ROCKSDBJNILIB)
|
|
2251
2202
|
$(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC \
|
|
2252
2203
|
-o ./java/target/$(ROCKSDBJNILIB) $(ALL_JNI_NATIVE_SOURCES) \
|
|
@@ -2360,7 +2311,7 @@ rocksdbjava: $(LIB_OBJECTS)
|
|
|
2360
2311
|
ifeq ($(JAVA_HOME),)
|
|
2361
2312
|
$(error JAVA_HOME is not set)
|
|
2362
2313
|
endif
|
|
2363
|
-
$(AM_V_GEN)cd java;
|
|
2314
|
+
$(AM_V_GEN)cd java; $(MAKE) javalib;
|
|
2364
2315
|
$(AM_V_at)rm -f ./java/target/$(ROCKSDBJNILIB)
|
|
2365
2316
|
$(AM_V_at)$(CXX) $(CXXFLAGS) -I./java/. -I./java/rocksjni $(JAVA_INCLUDE) $(ROCKSDB_PLUGIN_JNI_CXX_INCLUDEFLAGS) -shared -fPIC -o ./java/target/$(ROCKSDBJNILIB) $(ALL_JNI_NATIVE_SOURCES) $(LIB_OBJECTS) $(JAVA_LDFLAGS) $(COVERAGEFLAGS)
|
|
2366
2317
|
$(AM_V_at)cd java; $(JAR_CMD) -cf target/$(ROCKSDB_JAR) HISTORY*.md
|
|
@@ -2372,14 +2323,13 @@ jclean:
|
|
|
2372
2323
|
cd java;$(MAKE) clean;
|
|
2373
2324
|
|
|
2374
2325
|
jtest_compile: rocksdbjava
|
|
2375
|
-
cd java
|
|
2326
|
+
cd java;$(MAKE) java_test
|
|
2376
2327
|
|
|
2377
2328
|
jtest_run:
|
|
2378
2329
|
cd java;$(MAKE) run_test
|
|
2379
2330
|
|
|
2380
2331
|
jtest: rocksdbjava
|
|
2381
|
-
cd java;$(MAKE) sample
|
|
2382
|
-
$(PYTHON) tools/check_all_python.py # TODO peterd: find a better place for this check in CI targets
|
|
2332
|
+
cd java;$(MAKE) sample test
|
|
2383
2333
|
|
|
2384
2334
|
jdb_bench:
|
|
2385
2335
|
cd java;$(MAKE) db_bench;
|
|
@@ -2405,6 +2355,38 @@ checkout_folly:
|
|
|
2405
2355
|
@# NOTE: this hack is not needed if using FBCODE compiler config
|
|
2406
2356
|
perl -pi -e 's/^(#include <boost)/\/\/$$1/' third-party/folly/folly/functional/Invoke.h
|
|
2407
2357
|
|
|
2358
|
+
# ---------------------------------------------------------------------------
|
|
2359
|
+
# Build size testing
|
|
2360
|
+
# ---------------------------------------------------------------------------
|
|
2361
|
+
|
|
2362
|
+
REPORT_BUILD_STATISTIC?=echo STATISTIC:
|
|
2363
|
+
|
|
2364
|
+
build_size:
|
|
2365
|
+
# === normal build, static ===
|
|
2366
|
+
$(MAKE) clean
|
|
2367
|
+
$(MAKE) static_lib
|
|
2368
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.static_lib $$(stat --printf="%s" librocksdb.a)
|
|
2369
|
+
strip librocksdb.a
|
|
2370
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.static_lib_stripped $$(stat --printf="%s" librocksdb.a)
|
|
2371
|
+
# === normal build, shared ===
|
|
2372
|
+
$(MAKE) clean
|
|
2373
|
+
$(MAKE) shared_lib
|
|
2374
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.shared_lib $$(stat --printf="%s" `readlink -f librocksdb.so`)
|
|
2375
|
+
strip `readlink -f librocksdb.so`
|
|
2376
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.shared_lib_stripped $$(stat --printf="%s" `readlink -f librocksdb.so`)
|
|
2377
|
+
# === lite build, static ===
|
|
2378
|
+
$(MAKE) clean
|
|
2379
|
+
$(MAKE) LITE=1 static_lib
|
|
2380
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.static_lib_lite $$(stat --printf="%s" librocksdb.a)
|
|
2381
|
+
strip librocksdb.a
|
|
2382
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.static_lib_lite_stripped $$(stat --printf="%s" librocksdb.a)
|
|
2383
|
+
# === lite build, shared ===
|
|
2384
|
+
$(MAKE) clean
|
|
2385
|
+
$(MAKE) LITE=1 shared_lib
|
|
2386
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.shared_lib_lite $$(stat --printf="%s" `readlink -f librocksdb.so`)
|
|
2387
|
+
strip `readlink -f librocksdb.so`
|
|
2388
|
+
$(REPORT_BUILD_STATISTIC) rocksdb.build_size.shared_lib_lite_stripped $$(stat --printf="%s" `readlink -f librocksdb.so`)
|
|
2389
|
+
|
|
2408
2390
|
# ---------------------------------------------------------------------------
|
|
2409
2391
|
# Platform-specific compilation
|
|
2410
2392
|
# ---------------------------------------------------------------------------
|