@nxtedition/rocksdb 7.1.33 → 8.0.0

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 (153) hide show
  1. package/BUILDING.md +2 -2
  2. package/binding.cc +0 -147
  3. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +402 -345
  4. package/deps/rocksdb/rocksdb/cache/clock_cache.h +121 -64
  5. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +28 -18
  6. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -0
  7. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +2 -0
  8. package/deps/rocksdb/rocksdb/db/builder.cc +2 -1
  9. package/deps/rocksdb/rocksdb/db/c.cc +563 -673
  10. package/deps/rocksdb/rocksdb/db/c_test.c +168 -169
  11. package/deps/rocksdb/rocksdb/db/column_family.cc +16 -15
  12. package/deps/rocksdb/rocksdb/db/column_family.h +7 -7
  13. package/deps/rocksdb/rocksdb/db/column_family_test.cc +17 -28
  14. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -9
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +8 -3
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +114 -0
  17. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +2 -3
  18. package/deps/rocksdb/rocksdb/db/convenience.cc +3 -5
  19. package/deps/rocksdb/rocksdb/db/corruption_test.cc +10 -14
  20. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +9 -13
  21. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +2 -2
  22. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +2 -2
  23. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +14 -16
  24. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +52 -72
  25. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +2 -2
  26. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +12 -12
  27. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -2
  28. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +3 -3
  29. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +1 -12
  30. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +3 -0
  31. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +26 -0
  32. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +1 -0
  33. package/deps/rocksdb/rocksdb/db/db_iter.cc +12 -6
  34. package/deps/rocksdb/rocksdb/db/db_iter.h +1 -0
  35. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +6 -7
  36. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +10 -8
  37. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +15 -13
  38. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +7 -9
  39. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +4 -4
  40. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +1 -1
  41. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +2 -4
  42. package/deps/rocksdb/rocksdb/db/db_options_test.cc +4 -4
  43. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +7 -4
  44. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +7 -5
  45. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +1 -1
  46. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +8 -6
  47. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +18 -23
  48. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +3 -5
  49. package/deps/rocksdb/rocksdb/db/db_test.cc +10 -5
  50. package/deps/rocksdb/rocksdb/db/db_test2.cc +172 -169
  51. package/deps/rocksdb/rocksdb/db/db_test_util.cc +68 -66
  52. package/deps/rocksdb/rocksdb/db/db_test_util.h +1 -3
  53. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +31 -39
  54. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +182 -2
  55. package/deps/rocksdb/rocksdb/db/db_write_test.cc +43 -40
  56. package/deps/rocksdb/rocksdb/db/dbformat.h +15 -0
  57. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +35 -34
  58. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +10 -11
  59. package/deps/rocksdb/rocksdb/db/error_handler.cc +6 -6
  60. package/deps/rocksdb/rocksdb/db/error_handler.h +93 -94
  61. package/deps/rocksdb/rocksdb/db/event_helpers.cc +1 -1
  62. package/deps/rocksdb/rocksdb/db/event_helpers.h +3 -3
  63. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +16 -17
  64. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +2 -2
  65. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +1 -2
  66. package/deps/rocksdb/rocksdb/db/file_indexer.cc +2 -0
  67. package/deps/rocksdb/rocksdb/db/file_indexer.h +2 -1
  68. package/deps/rocksdb/rocksdb/db/file_indexer_test.cc +4 -2
  69. package/deps/rocksdb/rocksdb/db/filename_test.cc +27 -29
  70. package/deps/rocksdb/rocksdb/db/flush_job.cc +7 -13
  71. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +2 -2
  72. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +15 -21
  73. package/deps/rocksdb/rocksdb/db/forward_iterator.h +7 -6
  74. package/deps/rocksdb/rocksdb/db/forward_iterator_bench.cc +4 -2
  75. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +2 -2
  76. package/deps/rocksdb/rocksdb/db/internal_stats.cc +59 -14
  77. package/deps/rocksdb/rocksdb/db/internal_stats.h +27 -11
  78. package/deps/rocksdb/rocksdb/db/job_context.h +5 -6
  79. package/deps/rocksdb/rocksdb/db/listener_test.cc +21 -23
  80. package/deps/rocksdb/rocksdb/db/log_reader.cc +7 -11
  81. package/deps/rocksdb/rocksdb/db/log_reader.h +4 -6
  82. package/deps/rocksdb/rocksdb/db/log_test.cc +6 -12
  83. package/deps/rocksdb/rocksdb/db/log_writer.h +1 -1
  84. package/deps/rocksdb/rocksdb/db/logs_with_prep_tracker.h +0 -1
  85. package/deps/rocksdb/rocksdb/db/lookup_key.h +4 -1
  86. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +2 -1
  87. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +3 -5
  88. package/deps/rocksdb/rocksdb/db/memtable.cc +34 -22
  89. package/deps/rocksdb/rocksdb/db/memtable.h +4 -6
  90. package/deps/rocksdb/rocksdb/db/memtable_list.cc +7 -0
  91. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -13
  92. package/deps/rocksdb/rocksdb/db/merge_context.h +1 -0
  93. package/deps/rocksdb/rocksdb/db/merge_helper.cc +128 -14
  94. package/deps/rocksdb/rocksdb/db/merge_helper.h +15 -7
  95. package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +2 -1
  96. package/deps/rocksdb/rocksdb/db/merge_operator.cc +5 -6
  97. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +4 -3
  98. package/deps/rocksdb/rocksdb/db/options_file_test.cc +1 -1
  99. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +55 -43
  100. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +288 -299
  101. package/deps/rocksdb/rocksdb/db/prefix_test.cc +22 -27
  102. package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +1 -1
  103. package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +1 -1
  104. package/deps/rocksdb/rocksdb/db/repair.cc +7 -8
  105. package/deps/rocksdb/rocksdb/db/repair_test.cc +3 -4
  106. package/deps/rocksdb/rocksdb/db/snapshot_impl.cc +4 -5
  107. package/deps/rocksdb/rocksdb/db/snapshot_impl.h +10 -4
  108. package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -4
  109. package/deps/rocksdb/rocksdb/db/table_properties_collector.cc +6 -7
  110. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +22 -22
  111. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +12 -12
  112. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +6 -8
  113. package/deps/rocksdb/rocksdb/db/trim_history_scheduler.h +2 -0
  114. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +3 -3
  115. package/deps/rocksdb/rocksdb/db/version_edit.cc +2 -5
  116. package/deps/rocksdb/rocksdb/db/version_edit.h +8 -12
  117. package/deps/rocksdb/rocksdb/db/version_set.cc +74 -102
  118. package/deps/rocksdb/rocksdb/db/version_set.h +8 -10
  119. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +0 -5
  120. package/deps/rocksdb/rocksdb/db/version_set_test.cc +47 -45
  121. package/deps/rocksdb/rocksdb/db/wal_manager.cc +6 -5
  122. package/deps/rocksdb/rocksdb/db/wal_manager.h +2 -2
  123. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +4 -3
  124. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +144 -61
  125. package/deps/rocksdb/rocksdb/db/write_batch.cc +41 -24
  126. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +2 -7
  127. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +105 -104
  128. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +5 -4
  129. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -0
  130. package/deps/rocksdb/rocksdb/db/write_controller_test.cc +1 -1
  131. package/deps/rocksdb/rocksdb/db/write_thread.cc +8 -6
  132. package/deps/rocksdb/rocksdb/env/io_posix.h +6 -0
  133. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +134 -65
  134. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +29 -0
  135. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  136. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1 -4
  137. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +1 -0
  138. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +4 -0
  139. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +14 -4
  140. package/deps/rocksdb/rocksdb/table/get_context.cc +52 -7
  141. package/deps/rocksdb/rocksdb/table/get_context.h +1 -2
  142. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +13 -0
  143. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +36 -4
  144. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +6 -6
  145. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +23 -28
  146. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +11 -1
  147. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +19 -17
  148. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +10 -7
  149. package/index.js +3 -195
  150. package/package.json +2 -4
  151. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  152. package/prebuilds/linux-x64/node.napi.node +0 -0
  153. package/common.js +0 -7
@@ -39,31 +39,31 @@ const std::string kDbName =
39
39
  namespace ROCKSDB_NAMESPACE {
40
40
 
41
41
  std::shared_ptr<DB> OpenDb(bool read_only = false) {
42
- DB* db;
43
- Options options;
44
- options.create_if_missing = true;
45
- options.max_open_files = -1;
46
- options.write_buffer_size = FLAGS_write_buffer_size;
47
- options.max_write_buffer_number = FLAGS_max_write_buffer_number;
48
- options.min_write_buffer_number_to_merge =
42
+ DB* db;
43
+ Options options;
44
+ options.create_if_missing = true;
45
+ options.max_open_files = -1;
46
+ options.write_buffer_size = FLAGS_write_buffer_size;
47
+ options.max_write_buffer_number = FLAGS_max_write_buffer_number;
48
+ options.min_write_buffer_number_to_merge =
49
49
  FLAGS_min_write_buffer_number_to_merge;
50
50
 
51
- if (FLAGS_use_set_based_memetable) {
51
+ if (FLAGS_use_set_based_memetable) {
52
52
  #ifndef ROCKSDB_LITE
53
- options.prefix_extractor.reset(
54
- ROCKSDB_NAMESPACE::NewFixedPrefixTransform(0));
55
- options.memtable_factory.reset(NewHashSkipListRepFactory());
53
+ options.prefix_extractor.reset(
54
+ ROCKSDB_NAMESPACE::NewFixedPrefixTransform(0));
55
+ options.memtable_factory.reset(NewHashSkipListRepFactory());
56
56
  #endif // ROCKSDB_LITE
57
- }
57
+ }
58
58
 
59
- Status s;
60
- if (!read_only) {
61
- s = DB::Open(options, kDbName, &db);
62
- } else {
63
- s = DB::OpenForReadOnly(options, kDbName, &db);
64
- }
65
- EXPECT_OK(s);
66
- return std::shared_ptr<DB>(db);
59
+ Status s;
60
+ if (!read_only) {
61
+ s = DB::Open(options, kDbName, &db);
62
+ } else {
63
+ s = DB::OpenForReadOnly(options, kDbName, &db);
64
+ }
65
+ EXPECT_OK(s);
66
+ return std::shared_ptr<DB>(db);
67
67
  }
68
68
 
69
69
  class PerfContextTest : public testing::Test {};
@@ -81,7 +81,7 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
81
81
  ASSERT_OK(db->Put(write_options, key, value));
82
82
  }
83
83
 
84
- for (int i = 0; i < FLAGS_total_keys -1 ; ++i) {
84
+ for (int i = 0; i < FLAGS_total_keys - 1; ++i) {
85
85
  std::string key = "k" + std::to_string(i);
86
86
  ASSERT_OK(db->Delete(write_options, key));
87
87
  }
@@ -103,8 +103,9 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
103
103
  }
104
104
 
105
105
  if (FLAGS_verbose) {
106
- std::cout << "Get user key comparison: \n" << hist_get.ToString()
107
- << "Get time: \n" << hist_get_time.ToString();
106
+ std::cout << "Get user key comparison: \n"
107
+ << hist_get.ToString() << "Get time: \n"
108
+ << hist_get_time.ToString();
108
109
  }
109
110
 
110
111
  {
@@ -139,7 +140,8 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
139
140
  hist_seek.Add(get_perf_context()->user_key_comparison_count);
140
141
  if (FLAGS_verbose) {
141
142
  std::cout << "seek cmp: " << get_perf_context()->user_key_comparison_count
142
- << " ikey skipped " << get_perf_context()->internal_key_skipped_count
143
+ << " ikey skipped "
144
+ << get_perf_context()->internal_key_skipped_count
143
145
  << " idelete skipped "
144
146
  << get_perf_context()->internal_delete_skipped_count
145
147
  << " elapsed: " << elapsed_nanos << "ns\n";
@@ -322,7 +324,8 @@ void ProfileQueries(bool enabled_time = false) {
322
324
  hist_mget_snapshot.Add(get_perf_context()->get_snapshot_time);
323
325
  hist_mget_memtable.Add(get_perf_context()->get_from_memtable_time);
324
326
  hist_mget_files.Add(get_perf_context()->get_from_output_files_time);
325
- hist_mget_num_memtable_checked.Add(get_perf_context()->get_from_memtable_count);
327
+ hist_mget_num_memtable_checked.Add(
328
+ get_perf_context()->get_from_memtable_count);
326
329
  hist_mget_post_process.Add(get_perf_context()->get_post_process_time);
327
330
  hist_mget.Add(get_perf_context()->user_key_comparison_count);
328
331
  }
@@ -337,12 +340,14 @@ void ProfileQueries(bool enabled_time = false) {
337
340
  << hist_write_wal_time.ToString() << "\n"
338
341
  << " Writing Mem Table time: \n"
339
342
  << hist_write_memtable_time.ToString() << "\n"
340
- << " Write Delay: \n" << hist_write_delay_time.ToString() << "\n"
343
+ << " Write Delay: \n"
344
+ << hist_write_delay_time.ToString() << "\n"
341
345
  << " Waiting for Batch time: \n"
342
346
  << hist_write_thread_wait_nanos.ToString() << "\n"
343
347
  << " Scheduling Flushes and Compactions Time: \n"
344
348
  << hist_write_scheduling_time.ToString() << "\n"
345
- << " Total DB mutex nanos: \n" << total_db_mutex_nanos << "\n";
349
+ << " Total DB mutex nanos: \n"
350
+ << total_db_mutex_nanos << "\n";
346
351
 
347
352
  std::cout << "Get(): Time to get snapshot: \n"
348
353
  << hist_get_snapshot.ToString()
@@ -352,8 +357,8 @@ void ProfileQueries(bool enabled_time = false) {
352
357
  << hist_get_files.ToString() << "\n"
353
358
  << " Number of memtables checked: \n"
354
359
  << hist_num_memtable_checked.ToString() << "\n"
355
- << " Time to post process: \n" << hist_get_post_process.ToString()
356
- << "\n";
360
+ << " Time to post process: \n"
361
+ << hist_get_post_process.ToString() << "\n";
357
362
 
358
363
  std::cout << "MultiGet(): Time to get snapshot: \n"
359
364
  << hist_mget_snapshot.ToString()
@@ -440,7 +445,8 @@ void ProfileQueries(bool enabled_time = false) {
440
445
  hist_mget_snapshot.Add(get_perf_context()->get_snapshot_time);
441
446
  hist_mget_memtable.Add(get_perf_context()->get_from_memtable_time);
442
447
  hist_mget_files.Add(get_perf_context()->get_from_output_files_time);
443
- hist_mget_num_memtable_checked.Add(get_perf_context()->get_from_memtable_count);
448
+ hist_mget_num_memtable_checked.Add(
449
+ get_perf_context()->get_from_memtable_count);
444
450
  hist_mget_post_process.Add(get_perf_context()->get_post_process_time);
445
451
  hist_mget.Add(get_perf_context()->user_key_comparison_count);
446
452
  }
@@ -459,8 +465,8 @@ void ProfileQueries(bool enabled_time = false) {
459
465
  << hist_get_files.ToString() << "\n"
460
466
  << " Number of memtables checked: \n"
461
467
  << hist_num_memtable_checked.ToString() << "\n"
462
- << " Time to post process: \n" << hist_get_post_process.ToString()
463
- << "\n";
468
+ << " Time to post process: \n"
469
+ << hist_get_post_process.ToString() << "\n";
464
470
 
465
471
  std::cout << "ReadOnly MultiGet(): Time to get snapshot: \n"
466
472
  << hist_mget_snapshot.ToString()
@@ -556,7 +562,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
556
562
  }
557
563
 
558
564
  if (FLAGS_verbose) {
559
- std::cout << "Put time:\n" << hist_put_time.ToString() << "WAL time:\n"
565
+ std::cout << "Put time:\n"
566
+ << hist_put_time.ToString() << "WAL time:\n"
560
567
  << hist_wal_time.ToString() << "time diff:\n"
561
568
  << hist_time_diff.ToString();
562
569
  }
@@ -584,7 +591,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
584
591
  }
585
592
  ASSERT_OK(iter->status());
586
593
  if (FLAGS_verbose) {
587
- std::cout << "Seek:\n" << hist_seek.ToString() << "Next:\n"
594
+ std::cout << "Seek:\n"
595
+ << hist_seek.ToString() << "Next:\n"
588
596
  << hist_next.ToString();
589
597
  }
590
598
  }
@@ -614,7 +622,7 @@ TEST_F(PerfContextTest, DBMutexLockCounter) {
614
622
  SystemClock::Default()->SleepForMicroseconds(100);
615
623
  mutex.Unlock();
616
624
  child_thread.join();
617
- }
625
+ }
618
626
  }
619
627
  }
620
628
 
@@ -806,14 +814,18 @@ TEST_F(PerfContextTest, PerfContextByLevelGetSet) {
806
814
  .bloom_filter_full_positive);
807
815
  ASSERT_EQ(1, (*(get_perf_context()->level_to_perf_context))[2]
808
816
  .bloom_filter_full_true_positive);
809
- ASSERT_EQ(1, (*(get_perf_context()->level_to_perf_context))[0]
810
- .block_cache_hit_count);
811
- ASSERT_EQ(5, (*(get_perf_context()->level_to_perf_context))[2]
812
- .block_cache_hit_count);
813
- ASSERT_EQ(2, (*(get_perf_context()->level_to_perf_context))[3]
814
- .block_cache_miss_count);
815
- ASSERT_EQ(4, (*(get_perf_context()->level_to_perf_context))[1]
816
- .block_cache_miss_count);
817
+ ASSERT_EQ(
818
+ 1,
819
+ (*(get_perf_context()->level_to_perf_context))[0].block_cache_hit_count);
820
+ ASSERT_EQ(
821
+ 5,
822
+ (*(get_perf_context()->level_to_perf_context))[2].block_cache_hit_count);
823
+ ASSERT_EQ(
824
+ 2,
825
+ (*(get_perf_context()->level_to_perf_context))[3].block_cache_miss_count);
826
+ ASSERT_EQ(
827
+ 4,
828
+ (*(get_perf_context()->level_to_perf_context))[1].block_cache_miss_count);
817
829
  std::string zero_excluded = get_perf_context()->ToString(true);
818
830
  ASSERT_NE(std::string::npos,
819
831
  zero_excluded.find("bloom_filter_useful = 1@level5, 2@level7"));