@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.checksum = rocksdb::kXXH3;
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
- uint32_t maxTotalWalSize = 0;
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;
@@ -93,10 +93,10 @@
93
93
  "USE_COROUTINES=1",
94
94
  "HAVE_UINT128_EXTENSION=1",
95
95
  "HAVE_ALIGNED_NEW=1",
96
- # "ROCKSDB_JEMALLOC=1",
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
- # "/usr/lib/x86_64-linux-gnu/libjemalloc.a"
111
+ "/usr/lib/x86_64-linux-gnu/libjemalloc.a"
112
112
  ],
113
113
  },
114
114
  "include_dirs": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "12.2.12",
3
+ "version": "13.0.1",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",