@nxtedition/rocksdb 6.0.2 → 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 +12 -4
- package/binding.cc +2 -0
- package/deps/rocksdb/rocksdb/CMakeLists.txt +9 -0
- package/deps/rocksdb/rocksdb/Makefile +16 -5
- package/deps/rocksdb/rocksdb/TARGETS +23 -2
- 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/db/builder.cc +12 -4
- package/deps/rocksdb/rocksdb/db/c.cc +26 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +3 -0
- package/deps/rocksdb/rocksdb/db/column_family.cc +8 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +29 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +8 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +16 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +16 -0
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +402 -30
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +2 -12
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +14 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +7 -5
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +33 -7
- 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 +8 -1
- package/deps/rocksdb/rocksdb/db/db_options_test.cc +16 -0
- package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +14 -15
- package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +331 -0
- package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +5 -0
- package/deps/rocksdb/rocksdb/db/db_test.cc +16 -0
- package/deps/rocksdb/rocksdb/db/db_test2.cc +221 -92
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +6 -2
- package/deps/rocksdb/rocksdb/db/db_test_util.h +4 -2
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +1 -171
- 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/experimental.cc +1 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +57 -0
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +13 -2
- package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +2 -0
- package/deps/rocksdb/rocksdb/db/flush_job.cc +10 -11
- package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +11 -1
- package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +6 -0
- package/deps/rocksdb/rocksdb/db/repair.cc +12 -1
- package/deps/rocksdb/rocksdb/db/repair_test.cc +32 -10
- package/deps/rocksdb/rocksdb/db/snapshot_impl.h +3 -1
- package/deps/rocksdb/rocksdb/db/table_cache.cc +19 -127
- 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_test.cc +130 -128
- package/deps/rocksdb/rocksdb/db/version_edit.cc +20 -0
- 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 +205 -212
- package/deps/rocksdb/rocksdb/db/version_set.h +11 -0
- 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_stress_tool/db_stress_common.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +15 -0
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +159 -65
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +43 -21
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +142 -17
- package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +23 -27
- package/deps/rocksdb/rocksdb/file/writable_file_writer.h +2 -3
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +23 -5
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +17 -0
- 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/utilities/options_type.h +189 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -0
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
- package/deps/rocksdb/rocksdb/options/cf_options.cc +13 -0
- package/deps/rocksdb/rocksdb/options/db_options.cc +8 -0
- package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
- package/deps/rocksdb/rocksdb/options/options.cc +7 -0
- package/deps/rocksdb/rocksdb/options/options_helper.cc +4 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -4
- package/deps/rocksdb/rocksdb/options/options_test.cc +107 -9
- package/deps/rocksdb/rocksdb/src.mk +4 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +9 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +80 -6
- 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 +81 -757
- 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 +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +8 -0
- package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -10
- 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/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/index_reader_common.cc +1 -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 +2 -2
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +2 -1
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +60 -2
- package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -0
- package/deps/rocksdb/rocksdb/table/merging_iterator.cc +39 -0
- package/deps/rocksdb/rocksdb/table/multiget_context.h +46 -2
- 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/table_reader.h +13 -0
- package/deps/rocksdb/rocksdb/table/unique_id.cc +27 -0
- package/deps/rocksdb/rocksdb/table/unique_id_impl.h +3 -0
- package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -0
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +23 -7
- package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +9 -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/compression.h +49 -0
- package/deps/rocksdb/rocksdb/util/coro_utils.h +111 -0
- package/deps/rocksdb/rocksdb/util/single_thread_executor.h +55 -0
- package/deps/rocksdb/rocksdb.gyp +16 -15
- 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/utilities/transactions/lock/range/range_tree/lib/README +0 -13
package/BUILDING.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
# LINUX
|
|
2
2
|
|
|
3
3
|
- Run `./configure` in `deps/liburing`.
|
|
4
|
-
-
|
|
5
|
-
-
|
|
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`
|
|
6
14
|
|
|
7
15
|
# OSX
|
|
8
16
|
|
|
9
|
-
-
|
|
10
|
-
- `
|
|
17
|
+
- `brew install zstd`
|
|
18
|
+
- `npx prebuildify -t -t 17.8.0 --napi --strip --arch x64`
|
package/binding.cc
CHANGED
|
@@ -446,6 +446,7 @@ struct BaseIterator {
|
|
|
446
446
|
}
|
|
447
447
|
options.fill_cache = fillCache_;
|
|
448
448
|
options.snapshot = snapshot_.get();
|
|
449
|
+
options.async_io = true;
|
|
449
450
|
|
|
450
451
|
iterator_.reset(database_->db_->NewIterator(options));
|
|
451
452
|
}
|
|
@@ -790,6 +791,7 @@ struct GetManyWorker final : public Worker {
|
|
|
790
791
|
rocksdb::ReadOptions options;
|
|
791
792
|
options.fill_cache = fillCache_;
|
|
792
793
|
options.snapshot = snapshot_.get();
|
|
794
|
+
options.async_io = true;
|
|
793
795
|
|
|
794
796
|
const auto numKeys = keys_.size();
|
|
795
797
|
|
|
@@ -796,6 +796,7 @@ 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
|
|
799
800
|
util/cleanable.cc
|
|
800
801
|
util/coding.cc
|
|
801
802
|
util/compaction_job_stats_impl.cc
|
|
@@ -1128,6 +1129,12 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
|
|
1128
1129
|
|
|
1129
1130
|
install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
1130
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
|
+
|
|
1131
1138
|
install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination})
|
|
1132
1139
|
|
|
1133
1140
|
install(
|
|
@@ -1216,6 +1223,7 @@ if(WITH_TESTS)
|
|
|
1216
1223
|
db/comparator_db_test.cc
|
|
1217
1224
|
db/corruption_test.cc
|
|
1218
1225
|
db/cuckoo_table_db_test.cc
|
|
1226
|
+
db/db_readonly_with_timestamp_test.cc
|
|
1219
1227
|
db/db_with_timestamp_basic_test.cc
|
|
1220
1228
|
db/db_block_cache_test.cc
|
|
1221
1229
|
db/db_bloom_filter_test.cc
|
|
@@ -1384,6 +1392,7 @@ if(WITH_TESTS)
|
|
|
1384
1392
|
|
|
1385
1393
|
set(TESTUTIL_SOURCE
|
|
1386
1394
|
db/db_test_util.cc
|
|
1395
|
+
db/db_with_timestamp_test_util.cc
|
|
1387
1396
|
monitoring/thread_status_updater_debug.cc
|
|
1388
1397
|
table/mock_table.cc
|
|
1389
1398
|
utilities/agg_merge/test_agg_merge.cc
|
|
@@ -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
|
|
@@ -1370,6 +1378,9 @@ db_blob_basic_test: $(OBJ_DIR)/db/blob/db_blob_basic_test.o $(TEST_LIBRARY) $(LI
|
|
|
1370
1378
|
db_blob_compaction_test: $(OBJ_DIR)/db/blob/db_blob_compaction_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1371
1379
|
$(AM_LINK)
|
|
1372
1380
|
|
|
1381
|
+
db_readonly_with_timestamp_test: $(OBJ_DIR)/db/db_readonly_with_timestamp_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1382
|
+
$(AM_LINK)
|
|
1383
|
+
|
|
1373
1384
|
db_with_timestamp_basic_test: $(OBJ_DIR)/db/db_with_timestamp_basic_test.o $(TEST_LIBRARY) $(LIBRARY)
|
|
1374
1385
|
$(AM_LINK)
|
|
1375
1386
|
|
|
@@ -2053,6 +2064,7 @@ ifeq ($(PLATFORM), OS_OPENBSD)
|
|
|
2053
2064
|
ROCKSDBJNILIB = librocksdbjni-openbsd$(ARCH).so
|
|
2054
2065
|
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_JAVA_VERSION)-openbsd$(ARCH).jar
|
|
2055
2066
|
endif
|
|
2067
|
+
export SHA256_CMD
|
|
2056
2068
|
|
|
2057
2069
|
zlib-$(ZLIB_VER).tar.gz:
|
|
2058
2070
|
curl --fail --output zlib-$(ZLIB_VER).tar.gz --location ${ZLIB_DOWNLOAD_BASE}/zlib-$(ZLIB_VER).tar.gz
|
|
@@ -2185,7 +2197,7 @@ JAR_CMD := jar
|
|
|
2185
2197
|
endif
|
|
2186
2198
|
endif
|
|
2187
2199
|
rocksdbjavastatic_javalib:
|
|
2188
|
-
cd java;
|
|
2200
|
+
cd java; $(MAKE) javalib
|
|
2189
2201
|
rm -f java/target/$(ROCKSDBJNILIB)
|
|
2190
2202
|
$(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC \
|
|
2191
2203
|
-o ./java/target/$(ROCKSDBJNILIB) $(ALL_JNI_NATIVE_SOURCES) \
|
|
@@ -2299,7 +2311,7 @@ rocksdbjava: $(LIB_OBJECTS)
|
|
|
2299
2311
|
ifeq ($(JAVA_HOME),)
|
|
2300
2312
|
$(error JAVA_HOME is not set)
|
|
2301
2313
|
endif
|
|
2302
|
-
$(AM_V_GEN)cd java;
|
|
2314
|
+
$(AM_V_GEN)cd java; $(MAKE) javalib;
|
|
2303
2315
|
$(AM_V_at)rm -f ./java/target/$(ROCKSDBJNILIB)
|
|
2304
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)
|
|
2305
2317
|
$(AM_V_at)cd java; $(JAR_CMD) -cf target/$(ROCKSDB_JAR) HISTORY*.md
|
|
@@ -2311,14 +2323,13 @@ jclean:
|
|
|
2311
2323
|
cd java;$(MAKE) clean;
|
|
2312
2324
|
|
|
2313
2325
|
jtest_compile: rocksdbjava
|
|
2314
|
-
cd java
|
|
2326
|
+
cd java;$(MAKE) java_test
|
|
2315
2327
|
|
|
2316
2328
|
jtest_run:
|
|
2317
2329
|
cd java;$(MAKE) run_test
|
|
2318
2330
|
|
|
2319
2331
|
jtest: rocksdbjava
|
|
2320
|
-
cd java;$(MAKE) sample
|
|
2321
|
-
$(PYTHON) tools/check_all_python.py # TODO peterd: find a better place for this check in CI targets
|
|
2332
|
+
cd java;$(MAKE) sample test
|
|
2322
2333
|
|
|
2323
2334
|
jdb_bench:
|
|
2324
2335
|
cd java;$(MAKE) db_bench;
|
|
@@ -224,6 +224,7 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
224
224
|
"trace_replay/trace_record_handler.cc",
|
|
225
225
|
"trace_replay/trace_record_result.cc",
|
|
226
226
|
"trace_replay/trace_replay.cc",
|
|
227
|
+
"util/async_file_reader.cc",
|
|
227
228
|
"util/build_version.cc",
|
|
228
229
|
"util/cleanable.cc",
|
|
229
230
|
"util/coding.cc",
|
|
@@ -327,7 +328,13 @@ cpp_library_wrapper(name="rocksdb_lib", srcs=[
|
|
|
327
328
|
"utilities/wal_filter.cc",
|
|
328
329
|
"utilities/write_batch_with_index/write_batch_with_index.cc",
|
|
329
330
|
"utilities/write_batch_with_index/write_batch_with_index_internal.cc",
|
|
330
|
-
], deps=[
|
|
331
|
+
], deps=[
|
|
332
|
+
"//folly/container:f14_hash",
|
|
333
|
+
"//folly/experimental/coro:blocking_wait",
|
|
334
|
+
"//folly/experimental/coro:collect",
|
|
335
|
+
"//folly/experimental/coro:coroutine",
|
|
336
|
+
"//folly/experimental/coro:task",
|
|
337
|
+
], headers=None, link_whole=False, extra_test_libs=False)
|
|
331
338
|
|
|
332
339
|
cpp_library_wrapper(name="rocksdb_whole_archive_lib", srcs=[
|
|
333
340
|
"cache/cache.cc",
|
|
@@ -545,6 +552,7 @@ cpp_library_wrapper(name="rocksdb_whole_archive_lib", srcs=[
|
|
|
545
552
|
"trace_replay/trace_record_handler.cc",
|
|
546
553
|
"trace_replay/trace_record_result.cc",
|
|
547
554
|
"trace_replay/trace_replay.cc",
|
|
555
|
+
"util/async_file_reader.cc",
|
|
548
556
|
"util/build_version.cc",
|
|
549
557
|
"util/cleanable.cc",
|
|
550
558
|
"util/coding.cc",
|
|
@@ -648,10 +656,17 @@ cpp_library_wrapper(name="rocksdb_whole_archive_lib", srcs=[
|
|
|
648
656
|
"utilities/wal_filter.cc",
|
|
649
657
|
"utilities/write_batch_with_index/write_batch_with_index.cc",
|
|
650
658
|
"utilities/write_batch_with_index/write_batch_with_index_internal.cc",
|
|
651
|
-
], deps=[
|
|
659
|
+
], deps=[
|
|
660
|
+
"//folly/container:f14_hash",
|
|
661
|
+
"//folly/experimental/coro:blocking_wait",
|
|
662
|
+
"//folly/experimental/coro:collect",
|
|
663
|
+
"//folly/experimental/coro:coroutine",
|
|
664
|
+
"//folly/experimental/coro:task",
|
|
665
|
+
], headers=None, link_whole=True, extra_test_libs=False)
|
|
652
666
|
|
|
653
667
|
cpp_library_wrapper(name="rocksdb_test_lib", srcs=[
|
|
654
668
|
"db/db_test_util.cc",
|
|
669
|
+
"db/db_with_timestamp_test_util.cc",
|
|
655
670
|
"table/mock_table.cc",
|
|
656
671
|
"test_util/mock_time_env.cc",
|
|
657
672
|
"test_util/testharness.cc",
|
|
@@ -5161,6 +5176,12 @@ cpp_unittest_wrapper(name="db_rate_limiter_test",
|
|
|
5161
5176
|
extra_compiler_flags=[])
|
|
5162
5177
|
|
|
5163
5178
|
|
|
5179
|
+
cpp_unittest_wrapper(name="db_readonly_with_timestamp_test",
|
|
5180
|
+
srcs=["db/db_readonly_with_timestamp_test.cc"],
|
|
5181
|
+
deps=[":rocksdb_test_lib"],
|
|
5182
|
+
extra_compiler_flags=[])
|
|
5183
|
+
|
|
5184
|
+
|
|
5164
5185
|
cpp_unittest_wrapper(name="db_secondary_test",
|
|
5165
5186
|
srcs=["db/db_secondary_test.cc"],
|
|
5166
5187
|
deps=[":rocksdb_test_lib"],
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
macro(get_cxx_std_flags FLAGS_VARIABLE)
|
|
2
|
+
if( CMAKE_CXX_STANDARD_REQUIRED )
|
|
3
|
+
set(${FLAGS_VARIABLE} ${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION})
|
|
4
|
+
else()
|
|
5
|
+
set(${FLAGS_VARIABLE} ${CMAKE_CXX${CMAKE_CXX_STANDARD}_EXTENSION_COMPILE_OPTION})
|
|
6
|
+
endif()
|
|
7
|
+
endmacro()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find JeMalloc library
|
|
2
|
+
# Find the native JeMalloc includes and library
|
|
3
|
+
#
|
|
4
|
+
# JeMalloc_INCLUDE_DIRS - where to find jemalloc.h, etc.
|
|
5
|
+
# JeMalloc_LIBRARIES - List of libraries when using jemalloc.
|
|
6
|
+
# JeMalloc_FOUND - True if jemalloc found.
|
|
7
|
+
|
|
8
|
+
find_path(JeMalloc_INCLUDE_DIRS
|
|
9
|
+
NAMES jemalloc/jemalloc.h
|
|
10
|
+
HINTS ${JEMALLOC_ROOT_DIR}/include)
|
|
11
|
+
|
|
12
|
+
find_library(JeMalloc_LIBRARIES
|
|
13
|
+
NAMES jemalloc
|
|
14
|
+
HINTS ${JEMALLOC_ROOT_DIR}/lib)
|
|
15
|
+
|
|
16
|
+
include(FindPackageHandleStandardArgs)
|
|
17
|
+
find_package_handle_standard_args(JeMalloc DEFAULT_MSG JeMalloc_LIBRARIES JeMalloc_INCLUDE_DIRS)
|
|
18
|
+
|
|
19
|
+
mark_as_advanced(
|
|
20
|
+
JeMalloc_LIBRARIES
|
|
21
|
+
JeMalloc_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
if(JeMalloc_FOUND AND NOT (TARGET JeMalloc::JeMalloc))
|
|
24
|
+
add_library (JeMalloc::JeMalloc UNKNOWN IMPORTED)
|
|
25
|
+
set_target_properties(JeMalloc::JeMalloc
|
|
26
|
+
PROPERTIES
|
|
27
|
+
IMPORTED_LOCATION ${JeMalloc_LIBRARIES}
|
|
28
|
+
INTERFACE_INCLUDE_DIRECTORIES ${JeMalloc_INCLUDE_DIRS})
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find NUMA
|
|
2
|
+
# Find the NUMA library and includes
|
|
3
|
+
#
|
|
4
|
+
# NUMA_INCLUDE_DIRS - where to find numa.h, etc.
|
|
5
|
+
# NUMA_LIBRARIES - List of libraries when using NUMA.
|
|
6
|
+
# NUMA_FOUND - True if NUMA found.
|
|
7
|
+
|
|
8
|
+
find_path(NUMA_INCLUDE_DIRS
|
|
9
|
+
NAMES numa.h numaif.h
|
|
10
|
+
HINTS ${NUMA_ROOT_DIR}/include)
|
|
11
|
+
|
|
12
|
+
find_library(NUMA_LIBRARIES
|
|
13
|
+
NAMES numa
|
|
14
|
+
HINTS ${NUMA_ROOT_DIR}/lib)
|
|
15
|
+
|
|
16
|
+
include(FindPackageHandleStandardArgs)
|
|
17
|
+
find_package_handle_standard_args(NUMA DEFAULT_MSG NUMA_LIBRARIES NUMA_INCLUDE_DIRS)
|
|
18
|
+
|
|
19
|
+
mark_as_advanced(
|
|
20
|
+
NUMA_LIBRARIES
|
|
21
|
+
NUMA_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
if(NUMA_FOUND AND NOT (TARGET NUMA::NUMA))
|
|
24
|
+
add_library (NUMA::NUMA UNKNOWN IMPORTED)
|
|
25
|
+
set_target_properties(NUMA::NUMA
|
|
26
|
+
PROPERTIES
|
|
27
|
+
IMPORTED_LOCATION ${NUMA_LIBRARIES}
|
|
28
|
+
INTERFACE_INCLUDE_DIRECTORIES ${NUMA_INCLUDE_DIRS})
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find Snappy
|
|
2
|
+
# Find the snappy compression library and includes
|
|
3
|
+
#
|
|
4
|
+
# Snappy_INCLUDE_DIRS - where to find snappy.h, etc.
|
|
5
|
+
# Snappy_LIBRARIES - List of libraries when using snappy.
|
|
6
|
+
# Snappy_FOUND - True if snappy found.
|
|
7
|
+
|
|
8
|
+
find_path(Snappy_INCLUDE_DIRS
|
|
9
|
+
NAMES snappy.h
|
|
10
|
+
HINTS ${snappy_ROOT_DIR}/include)
|
|
11
|
+
|
|
12
|
+
find_library(Snappy_LIBRARIES
|
|
13
|
+
NAMES snappy
|
|
14
|
+
HINTS ${snappy_ROOT_DIR}/lib)
|
|
15
|
+
|
|
16
|
+
include(FindPackageHandleStandardArgs)
|
|
17
|
+
find_package_handle_standard_args(Snappy DEFAULT_MSG Snappy_LIBRARIES Snappy_INCLUDE_DIRS)
|
|
18
|
+
|
|
19
|
+
mark_as_advanced(
|
|
20
|
+
Snappy_LIBRARIES
|
|
21
|
+
Snappy_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
if(Snappy_FOUND AND NOT (TARGET Snappy::snappy))
|
|
24
|
+
add_library (Snappy::snappy UNKNOWN IMPORTED)
|
|
25
|
+
set_target_properties(Snappy::snappy
|
|
26
|
+
PROPERTIES
|
|
27
|
+
IMPORTED_LOCATION ${Snappy_LIBRARIES}
|
|
28
|
+
INTERFACE_INCLUDE_DIRECTORIES ${Snappy_INCLUDE_DIRS})
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# - Find TBB
|
|
2
|
+
# Find the Thread Building Blocks library and includes
|
|
3
|
+
#
|
|
4
|
+
# TBB_INCLUDE_DIRS - where to find tbb.h, etc.
|
|
5
|
+
# TBB_LIBRARIES - List of libraries when using TBB.
|
|
6
|
+
# TBB_FOUND - True if TBB found.
|
|
7
|
+
|
|
8
|
+
if(NOT DEFINED TBB_ROOT_DIR)
|
|
9
|
+
set(TBB_ROOT_DIR "$ENV{TBBROOT}")
|
|
10
|
+
endif()
|
|
11
|
+
|
|
12
|
+
find_path(TBB_INCLUDE_DIRS
|
|
13
|
+
NAMES tbb/tbb.h
|
|
14
|
+
HINTS ${TBB_ROOT_DIR}/include)
|
|
15
|
+
|
|
16
|
+
find_library(TBB_LIBRARIES
|
|
17
|
+
NAMES tbb
|
|
18
|
+
HINTS ${TBB_ROOT_DIR}/lib ENV LIBRARY_PATH)
|
|
19
|
+
|
|
20
|
+
include(FindPackageHandleStandardArgs)
|
|
21
|
+
find_package_handle_standard_args(TBB DEFAULT_MSG TBB_LIBRARIES TBB_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
mark_as_advanced(
|
|
24
|
+
TBB_LIBRARIES
|
|
25
|
+
TBB_INCLUDE_DIRS)
|
|
26
|
+
|
|
27
|
+
if(TBB_FOUND AND NOT (TARGET TBB::TBB))
|
|
28
|
+
add_library (TBB::TBB UNKNOWN IMPORTED)
|
|
29
|
+
set_target_properties(TBB::TBB
|
|
30
|
+
PROPERTIES
|
|
31
|
+
IMPORTED_LOCATION ${TBB_LIBRARIES}
|
|
32
|
+
INTERFACE_INCLUDE_DIRECTORIES ${TBB_INCLUDE_DIRS})
|
|
33
|
+
endif()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find gflags library
|
|
2
|
+
# Find the gflags includes and library
|
|
3
|
+
#
|
|
4
|
+
# GFLAGS_INCLUDE_DIR - where to find gflags.h.
|
|
5
|
+
# GFLAGS_LIBRARIES - List of libraries when using gflags.
|
|
6
|
+
# gflags_FOUND - True if gflags found.
|
|
7
|
+
|
|
8
|
+
find_path(GFLAGS_INCLUDE_DIR
|
|
9
|
+
NAMES gflags/gflags.h)
|
|
10
|
+
|
|
11
|
+
find_library(GFLAGS_LIBRARIES
|
|
12
|
+
NAMES gflags)
|
|
13
|
+
|
|
14
|
+
include(FindPackageHandleStandardArgs)
|
|
15
|
+
find_package_handle_standard_args(gflags
|
|
16
|
+
DEFAULT_MSG GFLAGS_LIBRARIES GFLAGS_INCLUDE_DIR)
|
|
17
|
+
|
|
18
|
+
mark_as_advanced(
|
|
19
|
+
GFLAGS_LIBRARIES
|
|
20
|
+
GFLAGS_INCLUDE_DIR)
|
|
21
|
+
|
|
22
|
+
if(gflags_FOUND AND NOT (TARGET gflags::gflags))
|
|
23
|
+
add_library(gflags::gflags UNKNOWN IMPORTED)
|
|
24
|
+
set_target_properties(gflags::gflags
|
|
25
|
+
PROPERTIES
|
|
26
|
+
IMPORTED_LOCATION ${GFLAGS_LIBRARIES}
|
|
27
|
+
INTERFACE_INCLUDE_DIRECTORIES ${GFLAGS_INCLUDE_DIR}
|
|
28
|
+
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find Lz4
|
|
2
|
+
# Find the lz4 compression library and includes
|
|
3
|
+
#
|
|
4
|
+
# lz4_INCLUDE_DIRS - where to find lz4.h, etc.
|
|
5
|
+
# lz4_LIBRARIES - List of libraries when using lz4.
|
|
6
|
+
# lz4_FOUND - True if lz4 found.
|
|
7
|
+
|
|
8
|
+
find_path(lz4_INCLUDE_DIRS
|
|
9
|
+
NAMES lz4.h
|
|
10
|
+
HINTS ${lz4_ROOT_DIR}/include)
|
|
11
|
+
|
|
12
|
+
find_library(lz4_LIBRARIES
|
|
13
|
+
NAMES lz4
|
|
14
|
+
HINTS ${lz4_ROOT_DIR}/lib)
|
|
15
|
+
|
|
16
|
+
include(FindPackageHandleStandardArgs)
|
|
17
|
+
find_package_handle_standard_args(lz4 DEFAULT_MSG lz4_LIBRARIES lz4_INCLUDE_DIRS)
|
|
18
|
+
|
|
19
|
+
mark_as_advanced(
|
|
20
|
+
lz4_LIBRARIES
|
|
21
|
+
lz4_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
if(lz4_FOUND AND NOT (TARGET lz4::lz4))
|
|
24
|
+
add_library(lz4::lz4 UNKNOWN IMPORTED)
|
|
25
|
+
set_target_properties(lz4::lz4
|
|
26
|
+
PROPERTIES
|
|
27
|
+
IMPORTED_LOCATION ${lz4_LIBRARIES}
|
|
28
|
+
INTERFACE_INCLUDE_DIRECTORIES ${lz4_INCLUDE_DIRS})
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# - Find liburing
|
|
2
|
+
#
|
|
3
|
+
# uring_INCLUDE_DIR - Where to find liburing.h
|
|
4
|
+
# uring_LIBRARIES - List of libraries when using uring.
|
|
5
|
+
# uring_FOUND - True if uring found.
|
|
6
|
+
|
|
7
|
+
find_path(uring_INCLUDE_DIR
|
|
8
|
+
NAMES liburing.h)
|
|
9
|
+
find_library(uring_LIBRARIES
|
|
10
|
+
NAMES liburing.a liburing)
|
|
11
|
+
|
|
12
|
+
include(FindPackageHandleStandardArgs)
|
|
13
|
+
find_package_handle_standard_args(uring
|
|
14
|
+
DEFAULT_MSG uring_LIBRARIES uring_INCLUDE_DIR)
|
|
15
|
+
|
|
16
|
+
mark_as_advanced(
|
|
17
|
+
uring_INCLUDE_DIR
|
|
18
|
+
uring_LIBRARIES)
|
|
19
|
+
|
|
20
|
+
if(uring_FOUND AND NOT TARGET uring::uring)
|
|
21
|
+
add_library(uring::uring UNKNOWN IMPORTED)
|
|
22
|
+
set_target_properties(uring::uring PROPERTIES
|
|
23
|
+
INTERFACE_INCLUDE_DIRECTORIES "${uring_INCLUDE_DIR}"
|
|
24
|
+
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
25
|
+
IMPORTED_LOCATION "${uring_LIBRARIES}")
|
|
26
|
+
endif()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# - Find zstd
|
|
2
|
+
# Find the zstd compression library and includes
|
|
3
|
+
#
|
|
4
|
+
# zstd_INCLUDE_DIRS - where to find zstd.h, etc.
|
|
5
|
+
# zstd_LIBRARIES - List of libraries when using zstd.
|
|
6
|
+
# zstd_FOUND - True if zstd found.
|
|
7
|
+
|
|
8
|
+
find_path(zstd_INCLUDE_DIRS
|
|
9
|
+
NAMES zstd.h
|
|
10
|
+
HINTS ${zstd_ROOT_DIR}/include)
|
|
11
|
+
|
|
12
|
+
find_library(zstd_LIBRARIES
|
|
13
|
+
NAMES zstd
|
|
14
|
+
HINTS ${zstd_ROOT_DIR}/lib)
|
|
15
|
+
|
|
16
|
+
include(FindPackageHandleStandardArgs)
|
|
17
|
+
find_package_handle_standard_args(zstd DEFAULT_MSG zstd_LIBRARIES zstd_INCLUDE_DIRS)
|
|
18
|
+
|
|
19
|
+
mark_as_advanced(
|
|
20
|
+
zstd_LIBRARIES
|
|
21
|
+
zstd_INCLUDE_DIRS)
|
|
22
|
+
|
|
23
|
+
if(zstd_FOUND AND NOT (TARGET zstd::zstd))
|
|
24
|
+
add_library (zstd::zstd UNKNOWN IMPORTED)
|
|
25
|
+
set_target_properties(zstd::zstd
|
|
26
|
+
PROPERTIES
|
|
27
|
+
IMPORTED_LOCATION ${zstd_LIBRARIES}
|
|
28
|
+
INTERFACE_INCLUDE_DIRECTORIES ${zstd_INCLUDE_DIRS})
|
|
29
|
+
endif()
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Read rocksdb version from version.h header file.
|
|
2
|
+
|
|
3
|
+
function(get_rocksdb_version version_var)
|
|
4
|
+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/include/rocksdb/version.h" version_header_file)
|
|
5
|
+
foreach(component MAJOR MINOR PATCH)
|
|
6
|
+
string(REGEX MATCH "#define ROCKSDB_${component} ([0-9]+)" _ ${version_header_file})
|
|
7
|
+
set(ROCKSDB_VERSION_${component} ${CMAKE_MATCH_1})
|
|
8
|
+
endforeach()
|
|
9
|
+
set(${version_var} "${ROCKSDB_VERSION_MAJOR}.${ROCKSDB_VERSION_MINOR}.${ROCKSDB_VERSION_PATCH}" PARENT_SCOPE)
|
|
10
|
+
endfunction()
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
#include "table/block_based/block_based_table_builder.h"
|
|
38
38
|
#include "table/format.h"
|
|
39
39
|
#include "table/internal_iterator.h"
|
|
40
|
+
#include "table/unique_id_impl.h"
|
|
40
41
|
#include "test_util/sync_point.h"
|
|
41
42
|
#include "util/stop_watch.h"
|
|
42
43
|
|
|
@@ -310,6 +311,15 @@ Status BuildTable(
|
|
|
310
311
|
meta->file_checksum_func_name = file_writer->GetFileChecksumFuncName();
|
|
311
312
|
file_checksum = meta->file_checksum;
|
|
312
313
|
file_checksum_func_name = meta->file_checksum_func_name;
|
|
314
|
+
// Set unique_id only if db_id and db_session_id exist
|
|
315
|
+
if (!tboptions.db_id.empty() && !tboptions.db_session_id.empty()) {
|
|
316
|
+
if (!GetSstInternalUniqueId(tboptions.db_id, tboptions.db_session_id,
|
|
317
|
+
meta->fd.GetNumber(), &(meta->unique_id))
|
|
318
|
+
.ok()) {
|
|
319
|
+
// if failed to get unique id, just set it Null
|
|
320
|
+
meta->unique_id = kNullUniqueId64x2;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
313
323
|
}
|
|
314
324
|
|
|
315
325
|
if (s.ok()) {
|
|
@@ -331,12 +341,10 @@ Status BuildTable(
|
|
|
331
341
|
if (s.ok() && !empty) {
|
|
332
342
|
// Verify that the table is usable
|
|
333
343
|
// We set for_compaction to false and don't OptimizeForCompactionTableRead
|
|
334
|
-
// here because this is a special case after we finish the table building
|
|
344
|
+
// here because this is a special case after we finish the table building.
|
|
335
345
|
// No matter whether use_direct_io_for_flush_and_compaction is true,
|
|
336
|
-
//
|
|
337
|
-
// to cache it here for further user reads
|
|
346
|
+
// the goal is to cache it here for further user reads.
|
|
338
347
|
ReadOptions read_options;
|
|
339
|
-
read_options.rate_limiter_priority = Env::IO_USER;
|
|
340
348
|
std::unique_ptr<InternalIterator> it(table_cache->NewIterator(
|
|
341
349
|
read_options, file_options, tboptions.internal_comparator, *meta,
|
|
342
350
|
nullptr /* range_del_agg */, mutable_cf_options.prefix_extractor,
|
|
@@ -2855,6 +2855,20 @@ void rocksdb_options_set_bottommost_compression_options_zstd_max_train_bytes(
|
|
|
2855
2855
|
opt->rep.bottommost_compression_opts.enabled = enabled;
|
|
2856
2856
|
}
|
|
2857
2857
|
|
|
2858
|
+
void rocksdb_options_set_bottommost_compression_options_use_zstd_dict_trainer(
|
|
2859
|
+
rocksdb_options_t* opt, unsigned char use_zstd_dict_trainer,
|
|
2860
|
+
unsigned char enabled) {
|
|
2861
|
+
opt->rep.bottommost_compression_opts.use_zstd_dict_trainer =
|
|
2862
|
+
use_zstd_dict_trainer;
|
|
2863
|
+
opt->rep.bottommost_compression_opts.enabled = enabled;
|
|
2864
|
+
}
|
|
2865
|
+
|
|
2866
|
+
unsigned char
|
|
2867
|
+
rocksdb_options_get_bottommost_compression_options_use_zstd_dict_trainer(
|
|
2868
|
+
rocksdb_options_t* opt) {
|
|
2869
|
+
return opt->rep.bottommost_compression_opts.use_zstd_dict_trainer;
|
|
2870
|
+
}
|
|
2871
|
+
|
|
2858
2872
|
void rocksdb_options_set_bottommost_compression_options_max_dict_buffer_bytes(
|
|
2859
2873
|
rocksdb_options_t* opt, uint64_t max_dict_buffer_bytes,
|
|
2860
2874
|
unsigned char enabled) {
|
|
@@ -2882,6 +2896,16 @@ int rocksdb_options_get_compression_options_zstd_max_train_bytes(
|
|
|
2882
2896
|
return opt->rep.compression_opts.zstd_max_train_bytes;
|
|
2883
2897
|
}
|
|
2884
2898
|
|
|
2899
|
+
void rocksdb_options_set_compression_options_use_zstd_dict_trainer(
|
|
2900
|
+
rocksdb_options_t* opt, unsigned char use_zstd_dict_trainer) {
|
|
2901
|
+
opt->rep.compression_opts.use_zstd_dict_trainer = use_zstd_dict_trainer;
|
|
2902
|
+
}
|
|
2903
|
+
|
|
2904
|
+
unsigned char rocksdb_options_get_compression_options_use_zstd_dict_trainer(
|
|
2905
|
+
rocksdb_options_t* opt) {
|
|
2906
|
+
return opt->rep.compression_opts.use_zstd_dict_trainer;
|
|
2907
|
+
}
|
|
2908
|
+
|
|
2885
2909
|
void rocksdb_options_set_compression_options_parallel_threads(
|
|
2886
2910
|
rocksdb_options_t* opt, int value) {
|
|
2887
2911
|
opt->rep.compression_opts.parallel_threads = value;
|
|
@@ -3673,6 +3697,8 @@ uint64_t rocksdb_perfcontext_metric(rocksdb_perfcontext_t* context,
|
|
|
3673
3697
|
return rep->env_unlock_file_nanos;
|
|
3674
3698
|
case rocksdb_env_new_logger_nanos:
|
|
3675
3699
|
return rep->env_new_logger_nanos;
|
|
3700
|
+
case rocksdb_number_async_seek:
|
|
3701
|
+
return rep->number_async_seek;
|
|
3676
3702
|
default:
|
|
3677
3703
|
break;
|
|
3678
3704
|
}
|
|
@@ -2539,6 +2539,9 @@ int main(int argc, char** argv) {
|
|
|
2539
2539
|
200 ==
|
|
2540
2540
|
rocksdb_options_get_compression_options_max_dict_buffer_bytes(co));
|
|
2541
2541
|
|
|
2542
|
+
rocksdb_options_set_compression_options_use_zstd_dict_trainer(co, 0);
|
|
2543
|
+
CheckCondition(
|
|
2544
|
+
0 == rocksdb_options_get_compression_options_use_zstd_dict_trainer(co));
|
|
2542
2545
|
rocksdb_options_destroy(co);
|
|
2543
2546
|
}
|
|
2544
2547
|
|
|
@@ -136,9 +136,15 @@ Status CheckCompressionSupported(const ColumnFamilyOptions& cf_options) {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
if (cf_options.compression_opts.zstd_max_train_bytes > 0) {
|
|
139
|
-
if (
|
|
139
|
+
if (cf_options.compression_opts.use_zstd_dict_trainer) {
|
|
140
|
+
if (!ZSTD_TrainDictionarySupported()) {
|
|
141
|
+
return Status::InvalidArgument(
|
|
142
|
+
"zstd dictionary trainer cannot be used because ZSTD 1.1.3+ "
|
|
143
|
+
"is not linked with the binary.");
|
|
144
|
+
}
|
|
145
|
+
} else if (!ZSTD_FinalizeDictionarySupported()) {
|
|
140
146
|
return Status::InvalidArgument(
|
|
141
|
-
"zstd
|
|
147
|
+
"zstd finalizeDictionary cannot be used because ZSTD 1.4.5+ "
|
|
142
148
|
"is not linked with the binary.");
|
|
143
149
|
}
|
|
144
150
|
if (cf_options.compression_opts.max_dict_bytes == 0) {
|