@nxtedition/rocksdb 7.0.12 → 7.0.13

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.
Files changed (105) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +1 -0
  2. package/deps/rocksdb/rocksdb/Makefile +3 -0
  3. package/deps/rocksdb/rocksdb/TARGETS +6 -0
  4. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +12 -7
  5. package/deps/rocksdb/rocksdb/cache/cache_key.h +2 -0
  6. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +18 -6
  7. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +13 -5
  8. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +89 -0
  9. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +18 -28
  10. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +147 -2
  11. package/deps/rocksdb/rocksdb/db/blob/blob_source.h +30 -0
  12. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +403 -30
  13. package/deps/rocksdb/rocksdb/db/c.cc +159 -5
  14. package/deps/rocksdb/rocksdb/db/c_test.c +108 -0
  15. package/deps/rocksdb/rocksdb/db/column_family.cc +2 -1
  16. package/deps/rocksdb/rocksdb/db/column_family.h +7 -5
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +22 -0
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +8 -0
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +6 -3
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +15 -0
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +35 -2
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +55 -0
  23. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +21 -19
  24. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +60 -1
  25. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +247 -6
  26. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +10 -0
  27. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +6 -33
  28. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +10 -2
  29. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +7 -15
  30. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +17 -3
  31. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +10 -4
  32. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +9 -0
  33. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +8 -0
  34. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +32 -0
  35. package/deps/rocksdb/rocksdb/db/db_inplace_update_test.cc +54 -0
  36. package/deps/rocksdb/rocksdb/db/db_iter.cc +50 -2
  37. package/deps/rocksdb/rocksdb/db/db_iter.h +2 -0
  38. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +56 -25
  39. package/deps/rocksdb/rocksdb/db/db_options_test.cc +1 -1
  40. package/deps/rocksdb/rocksdb/db/db_test.cc +9 -0
  41. package/deps/rocksdb/rocksdb/db/flush_job.cc +17 -8
  42. package/deps/rocksdb/rocksdb/db/flush_job.h +1 -1
  43. package/deps/rocksdb/rocksdb/db/log_writer.h +1 -1
  44. package/deps/rocksdb/rocksdb/db/memtable.cc +103 -93
  45. package/deps/rocksdb/rocksdb/db/memtable.h +3 -3
  46. package/deps/rocksdb/rocksdb/db/merge_helper.cc +7 -2
  47. package/deps/rocksdb/rocksdb/db/version_edit.h +1 -1
  48. package/deps/rocksdb/rocksdb/db/version_set.cc +13 -5
  49. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +5 -0
  50. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +213 -0
  51. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +6 -7
  52. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +16 -0
  53. package/deps/rocksdb/rocksdb/db/write_batch.cc +154 -2
  54. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +3 -0
  55. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +4 -0
  56. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +8 -3
  57. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +21 -1
  58. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +31 -4
  59. package/deps/rocksdb/rocksdb/env/env_test.cc +2 -2
  60. package/deps/rocksdb/rocksdb/env/fs_remap.cc +4 -0
  61. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +1 -1
  62. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +17 -0
  63. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +136 -0
  64. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +6 -0
  65. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  66. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +1 -1
  67. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +23 -23
  68. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -0
  69. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +11 -0
  70. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +14 -0
  71. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +5 -0
  72. package/deps/rocksdb/rocksdb/options/cf_options.cc +7 -0
  73. package/deps/rocksdb/rocksdb/options/cf_options.h +19 -0
  74. package/deps/rocksdb/rocksdb/options/db_options.cc +1 -6
  75. package/deps/rocksdb/rocksdb/options/db_options.h +0 -1
  76. package/deps/rocksdb/rocksdb/options/options.cc +4 -1
  77. package/deps/rocksdb/rocksdb/options/options_helper.cc +2 -0
  78. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +1 -0
  79. package/deps/rocksdb/rocksdb/options/options_test.cc +4 -4
  80. package/deps/rocksdb/rocksdb/port/win/env_win.cc +1 -1
  81. package/deps/rocksdb/rocksdb/src.mk +1 -0
  82. package/deps/rocksdb/rocksdb/table/block_based/block.cc +5 -3
  83. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +2 -2
  84. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +16 -9
  85. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +4 -2
  86. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +1 -1
  87. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +13 -7
  88. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +7 -3
  89. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +4 -2
  90. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +28 -17
  91. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +15 -9
  92. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +32 -16
  93. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +28 -18
  94. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +15 -6
  95. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +16 -7
  96. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +1 -1
  97. package/deps/rocksdb/rocksdb/table/get_context.cc +27 -6
  98. package/deps/rocksdb/rocksdb/table/get_context.h +2 -0
  99. package/deps/rocksdb/rocksdb/table/table_test.cc +5 -5
  100. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +46 -0
  101. package/deps/rocksdb/rocksdb/util/filter_bench.cc +3 -1
  102. package/deps/rocksdb/rocksdb/util/mutexlock.h +1 -1
  103. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +1 -1
  104. package/package.json +1 -1
  105. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -1246,7 +1246,7 @@ class FileChecksumTestHelper {
1246
1246
  }
1247
1247
  ~FileChecksumTestHelper() {}
1248
1248
 
1249
- void CreateWriteableFile() {
1249
+ void CreateWritableFile() {
1250
1250
  sink_ = new test::StringSink();
1251
1251
  std::unique_ptr<FSWritableFile> holder(sink_);
1252
1252
  file_writer_.reset(new WritableFileWriter(
@@ -3739,7 +3739,7 @@ TEST_P(BlockBasedTableTest, NoFileChecksum) {
3739
3739
  std::string column_family_name;
3740
3740
 
3741
3741
  FileChecksumTestHelper f(true);
3742
- f.CreateWriteableFile();
3742
+ f.CreateWritableFile();
3743
3743
  std::unique_ptr<TableBuilder> builder;
3744
3744
  builder.reset(ioptions.table_factory->NewTableBuilder(
3745
3745
  TableBuilderOptions(ioptions, moptions, *comparator,
@@ -3774,7 +3774,7 @@ TEST_P(BlockBasedTableTest, Crc32cFileChecksum) {
3774
3774
  options.file_checksum_gen_factory->CreateFileChecksumGenerator(
3775
3775
  gen_context);
3776
3776
  FileChecksumTestHelper f(true);
3777
- f.CreateWriteableFile();
3777
+ f.CreateWritableFile();
3778
3778
  f.SetFileChecksumGenerator(checksum_crc32c_gen1.release());
3779
3779
  std::unique_ptr<TableBuilder> builder;
3780
3780
  builder.reset(ioptions.table_factory->NewTableBuilder(
@@ -3876,7 +3876,7 @@ TEST_F(PlainTableTest, NoFileChecksum) {
3876
3876
  std::string column_family_name;
3877
3877
  int unknown_level = -1;
3878
3878
  FileChecksumTestHelper f(true);
3879
- f.CreateWriteableFile();
3879
+ f.CreateWritableFile();
3880
3880
 
3881
3881
  std::unique_ptr<TableBuilder> builder(factory.NewTableBuilder(
3882
3882
  TableBuilderOptions(ioptions, moptions, ikc,
@@ -3915,7 +3915,7 @@ TEST_F(PlainTableTest, Crc32cFileChecksum) {
3915
3915
  options.file_checksum_gen_factory->CreateFileChecksumGenerator(
3916
3916
  gen_context);
3917
3917
  FileChecksumTestHelper f(true);
3918
- f.CreateWriteableFile();
3918
+ f.CreateWritableFile();
3919
3919
  f.SetFileChecksumGenerator(checksum_crc32c_gen1.release());
3920
3920
 
3921
3921
  std::unique_ptr<TableBuilder> builder(factory.NewTableBuilder(
@@ -1074,6 +1074,26 @@ DEFINE_int32(
1074
1074
  ROCKSDB_NAMESPACE::AdvancedColumnFamilyOptions().blob_file_starting_level,
1075
1075
  "[Integrated BlobDB] The starting level for blob files.");
1076
1076
 
1077
+ DEFINE_bool(use_blob_cache, false, "[Integrated BlobDB] Enable blob cache.");
1078
+
1079
+ DEFINE_bool(
1080
+ use_shared_block_and_blob_cache, true,
1081
+ "[Integrated BlobDB] Use a shared backing cache for both block "
1082
+ "cache and blob cache. It only takes effect if use_blob_cache is enabled.");
1083
+
1084
+ DEFINE_uint64(
1085
+ blob_cache_size, 8 << 20,
1086
+ "[Integrated BlobDB] Number of bytes to use as a cache of blobs. It only "
1087
+ "takes effect if the block and blob caches are different "
1088
+ "(use_shared_block_and_blob_cache = false).");
1089
+
1090
+ DEFINE_int32(blob_cache_numshardbits, 6,
1091
+ "[Integrated BlobDB] Number of shards for the blob cache is 2 ** "
1092
+ "blob_cache_numshardbits. Negative means use default settings. "
1093
+ "It only takes effect if blob_cache_size is greater than 0, and "
1094
+ "the block and blob caches are different "
1095
+ "(use_shared_block_and_blob_cache = false).");
1096
+
1077
1097
  #ifndef ROCKSDB_LITE
1078
1098
 
1079
1099
  // Secondary DB instance Options
@@ -4476,6 +4496,32 @@ class Benchmark {
4476
4496
  FLAGS_blob_compaction_readahead_size;
4477
4497
  options.blob_file_starting_level = FLAGS_blob_file_starting_level;
4478
4498
 
4499
+ if (FLAGS_use_blob_cache) {
4500
+ if (FLAGS_use_shared_block_and_blob_cache) {
4501
+ options.blob_cache = cache_;
4502
+ } else {
4503
+ if (FLAGS_blob_cache_size > 0) {
4504
+ LRUCacheOptions co;
4505
+ co.capacity = FLAGS_blob_cache_size;
4506
+ co.num_shard_bits = FLAGS_blob_cache_numshardbits;
4507
+ options.blob_cache = NewLRUCache(co);
4508
+ } else {
4509
+ fprintf(stderr,
4510
+ "Unable to create a standalone blob cache if blob_cache_size "
4511
+ "<= 0.\n");
4512
+ exit(1);
4513
+ }
4514
+ }
4515
+ fprintf(stdout,
4516
+ "Integrated BlobDB: blob cache enabled, block and blob caches "
4517
+ "shared: %d, blob cache size %" PRIu64
4518
+ ", blob cache num shard bits: %d\n",
4519
+ FLAGS_use_shared_block_and_blob_cache, FLAGS_blob_cache_size,
4520
+ FLAGS_blob_cache_numshardbits);
4521
+ } else {
4522
+ fprintf(stdout, "Integrated BlobDB: blob cache disabled\n");
4523
+ }
4524
+
4479
4525
  #ifndef ROCKSDB_LITE
4480
4526
  if (FLAGS_readonly && FLAGS_transaction_db) {
4481
4527
  fprintf(stderr, "Cannot use readonly flag with transaction_db\n");
@@ -20,6 +20,7 @@ int main() {
20
20
  #include "port/port.h"
21
21
  #include "port/stack_trace.h"
22
22
  #include "rocksdb/cache.h"
23
+ #include "rocksdb/env.h"
23
24
  #include "rocksdb/system_clock.h"
24
25
  #include "rocksdb/table.h"
25
26
  #include "table/block_based/filter_policy_internal.h"
@@ -150,6 +151,7 @@ using ROCKSDB_NAMESPACE::Cache;
150
151
  using ROCKSDB_NAMESPACE::CacheEntryRole;
151
152
  using ROCKSDB_NAMESPACE::CacheEntryRoleOptions;
152
153
  using ROCKSDB_NAMESPACE::EncodeFixed32;
154
+ using ROCKSDB_NAMESPACE::Env;
153
155
  using ROCKSDB_NAMESPACE::FastRange32;
154
156
  using ROCKSDB_NAMESPACE::FilterBitsReader;
155
157
  using ROCKSDB_NAMESPACE::FilterBuildingContext;
@@ -726,7 +728,7 @@ double FilterBench::RandomQueryTest(uint32_t inside_threshold, bool dry_run,
726
728
  batch_slices[i],
727
729
  /*no_io=*/false, /*const_ikey_ptr=*/nullptr,
728
730
  /*get_context=*/nullptr,
729
- /*lookup_context=*/nullptr);
731
+ /*lookup_context=*/nullptr, Env::IO_TOTAL);
730
732
  }
731
733
  } else {
732
734
  if (dry_run) {
@@ -43,7 +43,7 @@ class MutexLock {
43
43
 
44
44
  //
45
45
  // Acquire a ReadLock on the specified RWMutex.
46
- // The Lock will be automatically released then the
46
+ // The Lock will be automatically released when the
47
47
  // object goes out of scope.
48
48
  //
49
49
  class ReadLock {
@@ -3066,7 +3066,7 @@ TEST_F(BackupEngineTest, OpenBackupAsReadOnlyDB) {
3066
3066
  db = nullptr;
3067
3067
 
3068
3068
  // Now try opening read-write and make sure it fails, for safety.
3069
- ASSERT_TRUE(DB::Open(opts, name, &db).IsAborted());
3069
+ ASSERT_TRUE(DB::Open(opts, name, &db).IsIOError());
3070
3070
  }
3071
3071
 
3072
3072
  TEST_F(BackupEngineTest, ProgressCallbackDuringBackup) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "7.0.12",
3
+ "version": "7.0.13",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
Binary file