@nxtedition/rocksdb 12.2.12 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/binding.cc
CHANGED
|
@@ -885,6 +885,10 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
885
885
|
}
|
|
886
886
|
}
|
|
887
887
|
|
|
888
|
+
columnOptions.optimize_filters_for_hits = false;
|
|
889
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "optimizeFiltersForHits", columnOptions.optimize_filters_for_hits));
|
|
890
|
+
|
|
891
|
+
|
|
888
892
|
uint32_t cacheSize = 8 << 20;
|
|
889
893
|
NAPI_STATUS_RETURN(GetProperty(env, options, "cacheSize", cacheSize));
|
|
890
894
|
|
|
@@ -892,11 +896,8 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
892
896
|
|
|
893
897
|
if (cacheSize) {
|
|
894
898
|
tableOptions.block_cache = rocksdb::HyperClockCacheOptions(cacheSize, 0).MakeSharedCache();
|
|
895
|
-
NAPI_STATUS_RETURN(
|
|
896
|
-
GetProperty(env, options, "cacheIndexAndFilterBlocks", tableOptions.cache_index_and_filter_blocks));
|
|
897
899
|
} else {
|
|
898
900
|
tableOptions.no_block_cache = true;
|
|
899
|
-
tableOptions.cache_index_and_filter_blocks = false;
|
|
900
901
|
}
|
|
901
902
|
|
|
902
903
|
std::string optimize = "";
|
|
@@ -922,11 +923,20 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
922
923
|
rocksdb::FilterPolicy::CreateFromString(configOptions, *filterPolicyOpt, &tableOptions.filter_policy));
|
|
923
924
|
}
|
|
924
925
|
|
|
926
|
+
tableOptions.block_size = 4 * 1024;
|
|
925
927
|
NAPI_STATUS_RETURN(GetProperty(env, options, "blockSize", tableOptions.block_size));
|
|
926
928
|
|
|
929
|
+
tableOptions.block_restart_interval = 16;
|
|
927
930
|
NAPI_STATUS_RETURN(GetProperty(env, options, "blockRestartInterval", tableOptions.block_restart_interval));
|
|
928
931
|
|
|
929
|
-
tableOptions.
|
|
932
|
+
tableOptions.block_align = false;
|
|
933
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "blockAlign", tableOptions.block_align));
|
|
934
|
+
|
|
935
|
+
tableOptions.cache_index_and_filter_blocks = true; // false
|
|
936
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "cacheIndexAndFilterBlocks", tableOptions.cache_index_and_filter_blocks));
|
|
937
|
+
|
|
938
|
+
tableOptions.cache_index_and_filter_blocks_with_high_priority = true;
|
|
939
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "cacheIndexAndFilterBlocksWithHighPriority", tableOptions.cache_index_and_filter_blocks_with_high_priority));
|
|
930
940
|
|
|
931
941
|
tableOptions.decouple_partitioned_filters = true;
|
|
932
942
|
NAPI_STATUS_RETURN(GetProperty(env, options, "decouplePartitionedFilters", tableOptions.block_restart_interval));
|
|
@@ -934,6 +944,13 @@ napi_status InitOptions(napi_env env, T& columnOptions, const U& options) {
|
|
|
934
944
|
tableOptions.optimize_filters_for_memory = true;
|
|
935
945
|
NAPI_STATUS_RETURN(GetProperty(env, options, "optimizeFiltersForMemory", tableOptions.optimize_filters_for_memory));
|
|
936
946
|
|
|
947
|
+
|
|
948
|
+
tableOptions.max_auto_readahead_size = 256 * 1024;
|
|
949
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "maxAutoReadaheadSize", tableOptions.max_auto_readahead_size));
|
|
950
|
+
|
|
951
|
+
tableOptions.num_file_reads_for_auto_readahead = 2;
|
|
952
|
+
NAPI_STATUS_RETURN(GetProperty(env, options, "numFileReadsForAutoReadahead", tableOptions.num_file_reads_for_auto_readahead));
|
|
953
|
+
|
|
937
954
|
columnOptions.table_factory.reset(rocksdb::NewBlockBasedTableFactory(tableOptions));
|
|
938
955
|
|
|
939
956
|
return napi_ok;
|
|
@@ -986,9 +1003,7 @@ NAPI_METHOD(db_open) {
|
|
|
986
1003
|
NAPI_STATUS_THROWS(GetProperty(env, options, "walSizeLimit", walSizeLimit));
|
|
987
1004
|
dbOptions.WAL_size_limit_MB = walSizeLimit / 1e6;
|
|
988
1005
|
|
|
989
|
-
|
|
990
|
-
NAPI_STATUS_THROWS(GetProperty(env, options, "walTotalSizeLimit", walSizeLimit));
|
|
991
|
-
dbOptions.max_total_wal_size = maxTotalWalSize / 1e6;
|
|
1006
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "maxTotalWalSize", dbOptions.max_total_wal_size));
|
|
992
1007
|
|
|
993
1008
|
bool walCompression = true;
|
|
994
1009
|
NAPI_STATUS_THROWS(GetProperty(env, options, "walCompression", walCompression));
|
|
@@ -996,15 +1011,44 @@ NAPI_METHOD(db_open) {
|
|
|
996
1011
|
walCompression ? rocksdb::CompressionType::kZSTD : rocksdb::CompressionType::kNoCompression;
|
|
997
1012
|
|
|
998
1013
|
dbOptions.avoid_unnecessary_blocking_io = true;
|
|
1014
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "avoidUnnecessaryBlockingIO", dbOptions.avoid_unnecessary_blocking_io));
|
|
1015
|
+
|
|
999
1016
|
dbOptions.write_dbid_to_manifest = true;
|
|
1017
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "writeDbIdToManifest", dbOptions.write_dbid_to_manifest));
|
|
1018
|
+
|
|
1000
1019
|
dbOptions.create_missing_column_families = true;
|
|
1020
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "createMissingColumnFamilies", dbOptions.create_missing_column_families));
|
|
1021
|
+
|
|
1001
1022
|
dbOptions.fail_if_options_file_error = true;
|
|
1023
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "failIfOptionsFileError", dbOptions.fail_if_options_file_error));
|
|
1024
|
+
|
|
1025
|
+
dbOptions.advise_random_on_open = true;
|
|
1026
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "adviseRandomOnOpen", dbOptions.advise_random_on_open));
|
|
1027
|
+
|
|
1028
|
+
dbOptions.bytes_per_sync = 1024 * 1024;
|
|
1029
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "bytesPerSync", dbOptions.bytes_per_sync));
|
|
1030
|
+
|
|
1031
|
+
dbOptions.wal_bytes_per_sync = 1024 * 1024;
|
|
1032
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "walBytesPerSync", dbOptions.wal_bytes_per_sync));
|
|
1033
|
+
|
|
1034
|
+
dbOptions.strict_bytes_per_sync = true;
|
|
1035
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "strictBytesPerSync", dbOptions.strict_bytes_per_sync));
|
|
1002
1036
|
|
|
1037
|
+
dbOptions.create_if_missing = false;
|
|
1003
1038
|
NAPI_STATUS_THROWS(GetProperty(env, options, "createIfMissing", dbOptions.create_if_missing));
|
|
1039
|
+
|
|
1040
|
+
dbOptions.error_if_exists = false;
|
|
1004
1041
|
NAPI_STATUS_THROWS(GetProperty(env, options, "errorIfExists", dbOptions.error_if_exists));
|
|
1042
|
+
|
|
1043
|
+
dbOptions.enable_pipelined_write = true;
|
|
1005
1044
|
NAPI_STATUS_THROWS(GetProperty(env, options, "pipelinedWrite", dbOptions.enable_pipelined_write));
|
|
1045
|
+
|
|
1046
|
+
dbOptions.daily_offpeak_time_utc = "";
|
|
1006
1047
|
NAPI_STATUS_THROWS(GetProperty(env, options, "dailyOffpeakTime", dbOptions.daily_offpeak_time_utc));
|
|
1007
1048
|
|
|
1049
|
+
dbOptions.unordered_write = false;
|
|
1050
|
+
NAPI_STATUS_THROWS(GetProperty(env, options, "unorderedWrite", dbOptions.unordered_write));
|
|
1051
|
+
|
|
1008
1052
|
// TODO (feat): dbOptions.listeners
|
|
1009
1053
|
|
|
1010
1054
|
std::string infoLogLevel;
|
package/deps/rocksdb/rocksdb.gyp
CHANGED
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"USE_COROUTINES=1",
|
|
94
94
|
"HAVE_UINT128_EXTENSION=1",
|
|
95
95
|
"HAVE_ALIGNED_NEW=1",
|
|
96
|
-
|
|
96
|
+
"ROCKSDB_JEMALLOC=1",
|
|
97
|
+
"JEMALLOC_NO_DEMANGLE=1"
|
|
97
98
|
# "HAVE_FULLFSYNC=1",
|
|
98
99
|
# "NUMA=1",
|
|
99
|
-
# "JEMALLOC_NO_DEMANGLE=1",
|
|
100
100
|
],
|
|
101
101
|
"direct_dependent_settings": {
|
|
102
102
|
"libraries": [
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"/usr/lib/x86_64-linux-gnu/libiberty.a",
|
|
109
109
|
"/usr/lib/x86_64-linux-gnu/libunwind.a",
|
|
110
110
|
"/usr/lib/x86_64-linux-gnu/libgflags.a",
|
|
111
|
-
|
|
111
|
+
"/usr/lib/x86_64-linux-gnu/libjemalloc.a"
|
|
112
112
|
],
|
|
113
113
|
},
|
|
114
114
|
"include_dirs": [
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|