@nxtedition/rocksdb 7.1.20 → 7.1.21

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 (262) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +13 -6
  2. package/deps/rocksdb/rocksdb/Makefile +1 -1
  3. package/deps/rocksdb/rocksdb/TARGETS +2 -0
  4. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +1 -0
  5. package/deps/rocksdb/rocksdb/cache/cache_test.cc +4 -4
  6. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +139 -161
  7. package/deps/rocksdb/rocksdb/cache/clock_cache.h +92 -82
  8. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +16 -3
  9. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +9 -3
  10. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +73 -30
  11. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +25 -67
  12. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +41 -40
  13. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +109 -155
  14. package/deps/rocksdb/rocksdb/cache/lru_cache.h +127 -149
  15. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +75 -80
  16. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +22 -172
  17. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +272 -85
  18. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +12 -4
  19. package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator_test.cc +1 -0
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_addition_test.cc +1 -0
  21. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -0
  22. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +1 -0
  23. package/deps/rocksdb/rocksdb/db/blob/blob_file_garbage_test.cc +1 -0
  24. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +1 -0
  25. package/deps/rocksdb/rocksdb/db/blob/blob_garbage_meter_test.cc +1 -0
  26. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +13 -4
  27. package/deps/rocksdb/rocksdb/db/builder.cc +1 -1
  28. package/deps/rocksdb/rocksdb/db/column_family.cc +15 -1
  29. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +1 -0
  30. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator_test.cc +1 -0
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +25 -7
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +10 -0
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +22 -8
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +14 -5
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +1 -0
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +38 -12
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +9 -6
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +408 -6
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +244 -54
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +27 -6
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +25 -30
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +87 -26
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +23 -4
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +61 -0
  45. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +294 -21
  46. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -0
  47. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +1 -0
  48. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -10
  49. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +4 -4
  50. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +272 -0
  51. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +38 -0
  52. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +69 -25
  53. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +7 -3
  54. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +29 -12
  55. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +0 -12
  56. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +10 -4
  57. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +35 -22
  58. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +5 -1
  59. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +40 -5
  60. package/deps/rocksdb/rocksdb/db/db_iter.cc +1 -0
  61. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +1 -0
  62. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +1 -0
  63. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +22 -0
  64. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +1 -0
  65. package/deps/rocksdb/rocksdb/db/db_logical_block_size_cache_test.cc +1 -0
  66. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +72 -5
  67. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +60 -21
  68. package/deps/rocksdb/rocksdb/db/db_test.cc +170 -1
  69. package/deps/rocksdb/rocksdb/db/db_test2.cc +9 -3
  70. package/deps/rocksdb/rocksdb/db/db_test_util.cc +19 -0
  71. package/deps/rocksdb/rocksdb/db/db_test_util.h +32 -0
  72. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +444 -3
  73. package/deps/rocksdb/rocksdb/db/db_write_test.cc +8 -8
  74. package/deps/rocksdb/rocksdb/db/dbformat.cc +13 -0
  75. package/deps/rocksdb/rocksdb/db/dbformat.h +59 -4
  76. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +1 -0
  77. package/deps/rocksdb/rocksdb/db/experimental.cc +3 -1
  78. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +24 -3
  79. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +1 -0
  80. package/deps/rocksdb/rocksdb/db/filename_test.cc +1 -0
  81. package/deps/rocksdb/rocksdb/db/flush_job.cc +4 -3
  82. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +1 -0
  83. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +85 -43
  84. package/deps/rocksdb/rocksdb/db/forward_iterator.h +3 -1
  85. package/deps/rocksdb/rocksdb/db/internal_stats.cc +33 -6
  86. package/deps/rocksdb/rocksdb/db/internal_stats.h +6 -0
  87. package/deps/rocksdb/rocksdb/db/listener_test.cc +1 -0
  88. package/deps/rocksdb/rocksdb/db/log_test.cc +1 -0
  89. package/deps/rocksdb/rocksdb/db/log_writer.cc +1 -1
  90. package/deps/rocksdb/rocksdb/db/log_writer.h +1 -1
  91. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +1 -0
  92. package/deps/rocksdb/rocksdb/db/memtable.cc +158 -56
  93. package/deps/rocksdb/rocksdb/db/memtable.h +2 -0
  94. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +1 -0
  95. package/deps/rocksdb/rocksdb/db/merge_helper_test.cc +1 -0
  96. package/deps/rocksdb/rocksdb/db/options_file_test.cc +1 -0
  97. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +1 -0
  98. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +1 -0
  99. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +1 -0
  100. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -0
  101. package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +52 -9
  102. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +31 -2
  103. package/deps/rocksdb/rocksdb/db/range_del_aggregator_test.cc +1 -0
  104. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +81 -42
  105. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +78 -12
  106. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +1 -0
  107. package/deps/rocksdb/rocksdb/db/repair_test.cc +1 -0
  108. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +154 -27
  109. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +21 -4
  110. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +4 -1
  111. package/deps/rocksdb/rocksdb/db/table_cache.cc +18 -6
  112. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +1 -0
  113. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +1 -0
  114. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +1 -0
  115. package/deps/rocksdb/rocksdb/db/version_set.cc +15 -7
  116. package/deps/rocksdb/rocksdb/db/version_set.h +2 -1
  117. package/deps/rocksdb/rocksdb/db/version_set_test.cc +1 -0
  118. package/deps/rocksdb/rocksdb/db/version_util.h +3 -1
  119. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -0
  120. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +28 -9
  121. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +21 -0
  122. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +30 -0
  123. package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +4 -0
  124. package/deps/rocksdb/rocksdb/db/write_batch.cc +30 -7
  125. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +24 -13
  126. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +5 -4
  127. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +1 -0
  128. package/deps/rocksdb/rocksdb/db/write_controller_test.cc +1 -0
  129. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +104 -60
  130. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +199 -108
  131. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +39 -0
  132. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +8 -0
  133. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +3 -1
  134. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +19 -0
  135. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +26 -0
  136. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +247 -118
  137. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +24 -4
  138. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +18 -0
  139. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +129 -1
  140. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +22 -0
  141. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +4 -0
  142. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +312 -117
  143. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +1 -0
  144. package/deps/rocksdb/rocksdb/env/fs_posix.cc +10 -2
  145. package/deps/rocksdb/rocksdb/env/io_posix_test.cc +1 -0
  146. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +1 -0
  147. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +5 -1
  148. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +1 -0
  149. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +1 -0
  150. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +1 -1
  151. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +49 -1
  152. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +44 -18
  153. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +8 -7
  154. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +6 -1
  155. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +3 -0
  156. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +17 -4
  157. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +4 -0
  158. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +7 -0
  159. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +1 -1
  160. package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +9 -0
  161. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +3 -6
  162. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +1 -0
  163. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -0
  164. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -0
  165. package/deps/rocksdb/rocksdb/memory/arena.cc +23 -88
  166. package/deps/rocksdb/rocksdb/memory/arena.h +25 -31
  167. package/deps/rocksdb/rocksdb/memory/arena_test.cc +61 -0
  168. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +1 -0
  169. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +1 -0
  170. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -0
  171. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -0
  172. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +1 -0
  173. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +1 -0
  174. package/deps/rocksdb/rocksdb/options/cf_options.cc +19 -0
  175. package/deps/rocksdb/rocksdb/options/cf_options.h +8 -0
  176. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -0
  177. package/deps/rocksdb/rocksdb/options/options.cc +7 -0
  178. package/deps/rocksdb/rocksdb/options/options_helper.cc +6 -0
  179. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -0
  180. package/deps/rocksdb/rocksdb/options/options_test.cc +63 -40
  181. package/deps/rocksdb/rocksdb/port/mmap.cc +98 -0
  182. package/deps/rocksdb/rocksdb/port/mmap.h +70 -0
  183. package/deps/rocksdb/rocksdb/port/stack_trace.cc +7 -0
  184. package/deps/rocksdb/rocksdb/port/stack_trace.h +4 -1
  185. package/deps/rocksdb/rocksdb/port/win/port_win.h +2 -7
  186. package/deps/rocksdb/rocksdb/src.mk +1 -0
  187. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +7 -7
  188. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -3
  189. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +1 -0
  190. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +1 -0
  191. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +1 -0
  192. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +1 -0
  193. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +1 -0
  194. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -0
  195. package/deps/rocksdb/rocksdb/table/get_context.cc +19 -1
  196. package/deps/rocksdb/rocksdb/table/get_context.h +9 -0
  197. package/deps/rocksdb/rocksdb/table/merger_test.cc +1 -0
  198. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +10 -11
  199. package/deps/rocksdb/rocksdb/table/mock_table.cc +37 -19
  200. package/deps/rocksdb/rocksdb/table/mock_table.h +5 -1
  201. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +6 -0
  202. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +33 -0
  203. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +45 -6
  204. package/deps/rocksdb/rocksdb/test_util/testharness.h +2 -0
  205. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +1 -0
  206. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +5 -0
  207. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +1 -0
  208. package/deps/rocksdb/rocksdb/tools/io_tracer_parser_test.cc +1 -0
  209. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +36 -0
  210. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +1 -0
  211. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -0
  212. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer_test.cc +1 -0
  213. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +1 -0
  214. package/deps/rocksdb/rocksdb/util/autovector_test.cc +1 -0
  215. package/deps/rocksdb/rocksdb/util/bloom_test.cc +1 -0
  216. package/deps/rocksdb/rocksdb/util/coding_test.cc +1 -0
  217. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +1 -0
  218. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +1 -0
  219. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -0
  220. package/deps/rocksdb/rocksdb/util/filelock_test.cc +1 -0
  221. package/deps/rocksdb/rocksdb/util/gflags_compat.h +12 -7
  222. package/deps/rocksdb/rocksdb/util/hash_test.cc +1 -0
  223. package/deps/rocksdb/rocksdb/util/heap_test.cc +4 -2
  224. package/deps/rocksdb/rocksdb/util/random_test.cc +1 -0
  225. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -0
  226. package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +1 -0
  227. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +1 -0
  228. package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +1 -0
  229. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +1 -0
  230. package/deps/rocksdb/rocksdb/util/thread_local_test.cc +1 -0
  231. package/deps/rocksdb/rocksdb/util/timer_test.cc +1 -0
  232. package/deps/rocksdb/rocksdb/util/work_queue_test.cc +4 -0
  233. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +1 -0
  234. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +13 -0
  235. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +9 -3
  236. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +1 -0
  237. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +1 -0
  238. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +1 -0
  239. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +1 -0
  240. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +1 -0
  241. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +1 -0
  242. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +1 -0
  243. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +8 -0
  244. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -0
  245. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +1 -0
  246. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -0
  247. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +1 -0
  248. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +1 -0
  249. package/deps/rocksdb/rocksdb/utilities/simulator_cache/cache_simulator_test.cc +1 -0
  250. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +1 -0
  251. package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +1 -0
  252. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1 -0
  253. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +1 -0
  254. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +1 -0
  255. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +1 -0
  256. package/deps/rocksdb/rocksdb/utilities/util_merge_operators_test.cc +1 -0
  257. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +7 -0
  258. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +20 -0
  259. package/index.js +12 -4
  260. package/package.json +1 -1
  261. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  262. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -14,12 +14,15 @@
14
14
  #include "util/work_queue.h"
15
15
 
16
16
  #include <gtest/gtest.h>
17
+
17
18
  #include <iostream>
18
19
  #include <memory>
19
20
  #include <mutex>
20
21
  #include <thread>
21
22
  #include <vector>
22
23
 
24
+ #include "port/stack_trace.h"
25
+
23
26
  namespace ROCKSDB_NAMESPACE {
24
27
 
25
28
  // Unit test for work_queue.h.
@@ -263,6 +266,7 @@ TEST(WorkQueue, FailedPop) {
263
266
  } // namespace ROCKSDB_NAMESPACE
264
267
 
265
268
  int main(int argc, char** argv) {
269
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
266
270
  ::testing::InitGoogleTest(&argc, argv);
267
271
  return RUN_ALL_TESTS();
268
272
  }
@@ -129,6 +129,7 @@ TEST_F(AggMergeTest, TestUsingMergeOperator) {
129
129
  } // namespace ROCKSDB_NAMESPACE
130
130
 
131
131
  int main(int argc, char** argv) {
132
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
132
133
  ::testing::InitGoogleTest(&argc, argv);
133
134
  return RUN_ALL_TESTS();
134
135
  }
@@ -2053,6 +2053,12 @@ IOStatus BackupEngineImpl::CopyOrCreateFile(
2053
2053
  io_s = src_env->GetFileSystem()->NewSequentialFile(src, src_file_options,
2054
2054
  &src_file, nullptr);
2055
2055
  }
2056
+ if (io_s.IsPathNotFound() && *src_temperature != Temperature::kUnknown) {
2057
+ // Retry without temperature hint in case the FileSystem is strict with
2058
+ // non-kUnknown temperature option
2059
+ io_s = src_env->GetFileSystem()->NewSequentialFile(
2060
+ src, FileOptions(src_env_options), &src_file, nullptr);
2061
+ }
2056
2062
  if (!io_s.ok()) {
2057
2063
  return io_s;
2058
2064
  }
@@ -2387,6 +2393,13 @@ IOStatus BackupEngineImpl::ReadFileAndComputeChecksum(
2387
2393
  RateLimiter* rate_limiter = options_.backup_rate_limiter.get();
2388
2394
  IOStatus io_s = SequentialFileReader::Create(
2389
2395
  src_fs, src, file_options, &src_reader, nullptr /* dbg */, rate_limiter);
2396
+ if (io_s.IsPathNotFound() && src_temperature != Temperature::kUnknown) {
2397
+ // Retry without temperature hint in case the FileSystem is strict with
2398
+ // non-kUnknown temperature option
2399
+ file_options.temperature = Temperature::kUnknown;
2400
+ io_s = SequentialFileReader::Create(src_fs, src, file_options, &src_reader,
2401
+ nullptr /* dbg */, rate_limiter);
2402
+ }
2390
2403
  if (!io_s.ok()) {
2391
2404
  return io_s;
2392
2405
  }
@@ -4150,13 +4150,19 @@ TEST_F(BackupEngineTest, FileTemperatures) {
4150
4150
  ASSERT_OK(backup_engine_->CreateNewBackup(db_.get()));
4151
4151
 
4152
4152
  // Verify requested temperatures against manifest temperatures (before
4153
- // backup finds out current temperatures in FileSystem)
4153
+ // retry with kUnknown if needed, and before backup finds out current
4154
+ // temperatures in FileSystem)
4154
4155
  std::vector<std::pair<uint64_t, Temperature>> requested_temps;
4155
4156
  my_db_fs->PopRequestedSstFileTemperatures(&requested_temps);
4156
4157
  std::set<uint64_t> distinct_requests;
4157
4158
  for (const auto& requested_temp : requested_temps) {
4158
- // Matching manifest temperatures
4159
- ASSERT_EQ(manifest_temps.at(requested_temp.first), requested_temp.second);
4159
+ // Matching manifest temperatures, except allow retry request with
4160
+ // kUnknown
4161
+ auto manifest_temp = manifest_temps.at(requested_temp.first);
4162
+ if (manifest_temp == Temperature::kUnknown ||
4163
+ requested_temp.second != Temperature::kUnknown) {
4164
+ ASSERT_EQ(manifest_temp, requested_temp.second);
4165
+ }
4160
4166
  distinct_requests.insert(requested_temp.first);
4161
4167
  }
4162
4168
  // Two distinct requests
@@ -2392,6 +2392,7 @@ TEST_F(BlobDBTest, SyncBlobFileBeforeCloseIOError) {
2392
2392
 
2393
2393
  // A black-box test for the ttl wrapper around rocksdb
2394
2394
  int main(int argc, char** argv) {
2395
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
2395
2396
  ::testing::InitGoogleTest(&argc, argv);
2396
2397
  return RUN_ALL_TESTS();
2397
2398
  }
@@ -370,6 +370,7 @@ TEST(RowValueTest, ExpireTtlShouldConvertExpiredColumnsToTombstones) {
370
370
  } // namespace ROCKSDB_NAMESPACE
371
371
 
372
372
  int main(int argc, char** argv) {
373
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
373
374
  ::testing::InitGoogleTest(&argc, argv);
374
375
  return RUN_ALL_TESTS();
375
376
  }
@@ -423,6 +423,7 @@ TEST_F(CassandraFunctionalTest, LoadCompactionFilterFactory) {
423
423
  } // namespace ROCKSDB_NAMESPACE
424
424
 
425
425
  int main(int argc, char** argv) {
426
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
426
427
  ::testing::InitGoogleTest(&argc, argv);
427
428
  return RUN_ALL_TESTS();
428
429
  }
@@ -109,6 +109,7 @@ TEST(RowValueMergeTest, MergeWithRowTombstone) {
109
109
  } // namespace ROCKSDB_NAMESPACE
110
110
 
111
111
  int main(int argc, char** argv) {
112
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
112
113
  ::testing::InitGoogleTest(&argc, argv);
113
114
  return RUN_ALL_TESTS();
114
115
  }
@@ -182,6 +182,7 @@ TEST(SerializeTest, DeserializeI8) {
182
182
  } // namespace ROCKSDB_NAMESPACE
183
183
 
184
184
  int main(int argc, char** argv) {
185
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
185
186
  ::testing::InitGoogleTest(&argc, argv);
186
187
  return RUN_ALL_TESTS();
187
188
  }
@@ -208,6 +208,7 @@ TEST_F(EnvMirrorTest, LargeWrite) {
208
208
  } // namespace ROCKSDB_NAMESPACE
209
209
 
210
210
  int main(int argc, char** argv) {
211
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
211
212
  ::testing::InitGoogleTest(&argc, argv);
212
213
  return RUN_ALL_TESTS();
213
214
  }
@@ -29,6 +29,7 @@ TEST_F(TimedEnvTest, BasicTest) {
29
29
  } // namespace ROCKSDB_NAMESPACE
30
30
 
31
31
  int main(int argc, char** argv) {
32
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
32
33
  ::testing::InitGoogleTest(&argc, argv);
33
34
  return RUN_ALL_TESTS();
34
35
  }
@@ -44,6 +44,14 @@ class FaultInjectionSecondaryCache : public SecondaryCache {
44
44
 
45
45
  void WaitAll(std::vector<SecondaryCacheResultHandle*> handles) override;
46
46
 
47
+ Status SetCapacity(size_t capacity) override {
48
+ return base_->SetCapacity(capacity);
49
+ }
50
+
51
+ Status GetCapacity(size_t& capacity) override {
52
+ return base_->GetCapacity(capacity);
53
+ }
54
+
47
55
  std::string GetPrintableOptions() const override {
48
56
  return base_->GetPrintableOptions();
49
57
  }
@@ -261,6 +261,7 @@ TEST_F(MemoryTest, MemTableAndTableReadersTotal) {
261
261
 
262
262
  int main(int argc, char** argv) {
263
263
  #if !(defined NDEBUG) || !defined(OS_WIN)
264
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
264
265
  ::testing::InitGoogleTest(&argc, argv);
265
266
  return RUN_ALL_TESTS();
266
267
  #else
@@ -856,6 +856,7 @@ TEST_F(PatternEntryTest, TestTwoNamesAndPattern) {
856
856
  } // namespace ROCKSDB_NAMESPACE
857
857
 
858
858
  int main(int argc, char** argv) {
859
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
859
860
  ::testing::InitGoogleTest(&argc, argv);
860
861
  return RUN_ALL_TESTS();
861
862
  }
@@ -761,6 +761,7 @@ TEST_F(OptionsUtilTest, WalDirInOptins) {
761
761
  } // namespace ROCKSDB_NAMESPACE
762
762
 
763
763
  int main(int argc, char** argv) {
764
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
764
765
  ::testing::InitGoogleTest(&argc, argv);
765
766
  #ifdef GFLAGS
766
767
  ParseCommandLineFlags(&argc, &argv, true);
@@ -155,6 +155,7 @@ TEST_F(EvictableHashTableTest, TestEvict) {
155
155
  #endif
156
156
 
157
157
  int main(int argc, char** argv) {
158
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
158
159
  ::testing::InitGoogleTest(&argc, argv);
159
160
  return RUN_ALL_TESTS();
160
161
  }
@@ -448,6 +448,7 @@ TEST_F(PersistentCacheDBTest, DISABLED_TieredCacheTest) {
448
448
  } // namespace ROCKSDB_NAMESPACE
449
449
 
450
450
  int main(int argc, char** argv) {
451
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
451
452
  ::testing::InitGoogleTest(&argc, argv);
452
453
  return RUN_ALL_TESTS();
453
454
  }
@@ -491,6 +491,7 @@ TEST_F(CacheSimulatorTest, GhostHybridRowBlockCacheSimulator) {
491
491
  } // namespace ROCKSDB_NAMESPACE
492
492
 
493
493
  int main(int argc, char** argv) {
494
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
494
495
  ::testing::InitGoogleTest(&argc, argv);
495
496
  return RUN_ALL_TESTS();
496
497
  }
@@ -1472,6 +1472,7 @@ INSTANTIATE_TEST_CASE_P(
1472
1472
  } // namespace ROCKSDB_NAMESPACE
1473
1473
 
1474
1474
  int main(int argc, char** argv) {
1475
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
1475
1476
  ::testing::InitGoogleTest(&argc, argv);
1476
1477
  return RUN_ALL_TESTS();
1477
1478
  }
@@ -459,6 +459,7 @@ TEST_P(TransactionTest, MultipleTimestampedSnapshots) {
459
459
  } // namespace ROCKSDB_NAMESPACE
460
460
 
461
461
  int main(int argc, char** argv) {
462
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
462
463
  ::testing::InitGoogleTest(&argc, argv);
463
464
  return RUN_ALL_TESTS();
464
465
  }
@@ -6533,6 +6533,7 @@ TEST_P(TransactionTest, WriteWithBulkCreatedColumnFamilies) {
6533
6533
  } // namespace ROCKSDB_NAMESPACE
6534
6534
 
6535
6535
  int main(int argc, char** argv) {
6536
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
6536
6537
  ::testing::InitGoogleTest(&argc, argv);
6537
6538
  return RUN_ALL_TESTS();
6538
6539
  }
@@ -562,6 +562,7 @@ TEST_P(WriteCommittedTxnWithTsTest, CheckKeysForConflicts) {
562
562
  } // namespace ROCKSDB_NAMESPACE
563
563
 
564
564
  int main(int argc, char** argv) {
565
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
565
566
  ::testing::InitGoogleTest(&argc, argv);
566
567
  return RUN_ALL_TESTS();
567
568
  }
@@ -773,6 +773,7 @@ TEST_P(WriteUnpreparedTransactionTest, UntrackedKeys) {
773
773
  } // namespace ROCKSDB_NAMESPACE
774
774
 
775
775
  int main(int argc, char** argv) {
776
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
776
777
  ::testing::InitGoogleTest(&argc, argv);
777
778
  return RUN_ALL_TESTS();
778
779
  }
@@ -895,6 +895,7 @@ TEST_F(TtlOptionsTest, LoadTtlMergeOperator) {
895
895
 
896
896
  // A black-box test for the ttl wrapper around rocksdb
897
897
  int main(int argc, char** argv) {
898
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
898
899
  ::testing::InitGoogleTest(&argc, argv);
899
900
  return RUN_ALL_TESTS();
900
901
  }
@@ -94,6 +94,7 @@ TEST_F(UtilMergeOperatorTest, MaxMergeOperator) {
94
94
  } // namespace ROCKSDB_NAMESPACE
95
95
 
96
96
  int main(int argc, char** argv) {
97
+ ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
97
98
  ::testing::InitGoogleTest(&argc, argv);
98
99
  return RUN_ALL_TESTS();
99
100
  }
@@ -153,6 +153,13 @@ void WriteBatchWithIndex::Rep::AddNewEntry(uint32_t column_family_id) {
153
153
  #endif
154
154
  assert(success);
155
155
 
156
+ const Comparator* const ucmp = comparator.GetComparator(column_family_id);
157
+ size_t ts_sz = ucmp ? ucmp->timestamp_size() : 0;
158
+
159
+ if (ts_sz > 0) {
160
+ key.remove_suffix(ts_sz);
161
+ }
162
+
156
163
  auto* mem = arena.Allocate(sizeof(WriteBatchIndexEntry));
157
164
  auto* index_entry =
158
165
  new (mem) WriteBatchIndexEntry(last_entry_offset, column_family_id,
@@ -2387,6 +2387,26 @@ TEST_P(WriteBatchWithIndexTest, ColumnFamilyWithTimestamp) {
2387
2387
  }
2388
2388
  }
2389
2389
 
2390
+ TEST_P(WriteBatchWithIndexTest, IndexNoTs) {
2391
+ const Comparator* const ucmp = test::BytewiseComparatorWithU64TsWrapper();
2392
+ ColumnFamilyHandleImplDummy cf(1, ucmp);
2393
+ WriteBatchWithIndex wbwi;
2394
+ ASSERT_OK(wbwi.Put(&cf, "a", "a0"));
2395
+ ASSERT_OK(wbwi.Put(&cf, "a", "a1"));
2396
+ {
2397
+ std::string ts;
2398
+ PutFixed64(&ts, 10000);
2399
+ ASSERT_OK(wbwi.GetWriteBatch()->UpdateTimestamps(
2400
+ ts, [](uint32_t cf_id) { return cf_id == 1 ? 8 : 0; }));
2401
+ }
2402
+ {
2403
+ std::string value;
2404
+ Status s = wbwi.GetFromBatch(&cf, options_, "a", &value);
2405
+ ASSERT_OK(s);
2406
+ ASSERT_EQ("a1", value);
2407
+ }
2408
+ }
2409
+
2390
2410
  INSTANTIATE_TEST_CASE_P(WBWI, WriteBatchWithIndexTest, testing::Bool());
2391
2411
  } // namespace ROCKSDB_NAMESPACE
2392
2412
 
package/index.js CHANGED
@@ -388,8 +388,7 @@ class RocksLevel extends AbstractLevel {
388
388
  for await (const update of db[kUpdates]({
389
389
  ...options,
390
390
  signal: ac.signal,
391
- // HACK: https://github.com/facebook/rocksdb/issues/10476
392
- since: Math.max(0, options.since - 8192)
391
+ since: Math.max(0, options.since - 8192) // TODO (fix): https://github.com/facebook/rocksdb/issues/10476
393
392
  })) {
394
393
  if (first) {
395
394
  if (update.sequence > since) {
@@ -398,7 +397,11 @@ class RocksLevel extends AbstractLevel {
398
397
  first = false
399
398
  }
400
399
 
401
- yield update
400
+ // TODO (Fix): What if since > sequence && since < sequence + count
401
+ if (update.sequence + update.count > since) {
402
+ yield update
403
+ }
404
+
402
405
  since = update.sequence + update.count
403
406
  }
404
407
  }
@@ -420,7 +423,12 @@ class RocksLevel extends AbstractLevel {
420
423
  }
421
424
  first = false
422
425
  }
423
- yield update
426
+
427
+ // TODO (Fix): What if since > sequence && since < sequence + count
428
+ if (update.sequence + update.count > since) {
429
+ yield update
430
+ }
431
+
424
432
  since = update.sequence + update.count
425
433
  }
426
434
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "7.1.20",
3
+ "version": "7.1.21",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
Binary file