@nxtedition/rocksdb 6.0.1 → 6.0.2

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 (310) hide show
  1. package/BUILDING.md +2 -2
  2. package/binding.cc +14 -17
  3. package/deps/rocksdb/build_version.cc +4 -10
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +17 -3
  5. package/deps/rocksdb/rocksdb/Makefile +57 -86
  6. package/deps/rocksdb/rocksdb/TARGETS +4 -0
  7. package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
  8. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
  9. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
  10. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
  12. package/deps/rocksdb/rocksdb/common.mk +30 -0
  13. package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
  14. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
  15. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
  16. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
  17. package/deps/rocksdb/rocksdb/db/builder.cc +11 -4
  18. package/deps/rocksdb/rocksdb/db/c.cc +45 -0
  19. package/deps/rocksdb/rocksdb/db/c_test.c +25 -2
  20. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -3
  21. package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
  22. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +25 -10
  28. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +6 -0
  29. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
  30. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +69 -14
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +21 -21
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +135 -32
  36. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  37. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  38. package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
  39. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
  40. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +2 -2
  41. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
  42. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
  43. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
  44. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
  45. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
  46. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
  47. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +9 -8
  48. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +1 -1
  49. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +5 -4
  50. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
  51. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
  52. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +9 -3
  53. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +6 -3
  54. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
  55. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
  56. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
  57. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
  58. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
  59. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
  60. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
  61. package/deps/rocksdb/rocksdb/db/db_options_test.cc +12 -12
  62. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
  63. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
  64. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +15 -14
  65. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +6 -6
  66. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
  67. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
  68. package/deps/rocksdb/rocksdb/db/db_test.cc +44 -42
  69. package/deps/rocksdb/rocksdb/db/db_test2.cc +23 -19
  70. package/deps/rocksdb/rocksdb/db/db_test_util.cc +95 -17
  71. package/deps/rocksdb/rocksdb/db/db_test_util.h +48 -0
  72. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
  73. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
  74. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +4 -4
  75. package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
  76. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
  77. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
  78. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
  79. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +34 -12
  80. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +3 -0
  81. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
  82. package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
  83. package/deps/rocksdb/rocksdb/db/flush_job.cc +18 -4
  84. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
  85. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
  86. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  87. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +3 -0
  88. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
  89. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
  90. package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
  91. package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
  92. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
  93. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
  94. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
  95. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
  96. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
  97. package/deps/rocksdb/rocksdb/db/repair.cc +1 -1
  98. package/deps/rocksdb/rocksdb/db/repair_test.cc +5 -5
  99. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
  100. package/deps/rocksdb/rocksdb/db/table_cache.cc +2 -4
  101. package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
  102. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +3 -5
  103. package/deps/rocksdb/rocksdb/db/version_edit.cc +2 -2
  104. package/deps/rocksdb/rocksdb/db/version_set.cc +2 -2
  105. package/deps/rocksdb/rocksdb/db/version_set.h +3 -3
  106. package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
  107. package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
  108. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
  109. package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
  110. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
  111. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
  112. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
  113. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +7 -6
  114. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
  115. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
  116. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +31 -6
  117. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
  118. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
  119. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
  120. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +359 -275
  121. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
  122. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
  123. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
  124. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
  125. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
  126. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
  127. package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
  128. package/deps/rocksdb/rocksdb/env/env.cc +0 -60
  129. package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
  130. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  131. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
  132. package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
  133. package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
  134. package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
  135. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
  136. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +1 -1
  137. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  138. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
  139. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
  140. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +69 -45
  141. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +3 -1
  142. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +35 -0
  143. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
  144. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
  145. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  146. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
  147. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
  148. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  149. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
  150. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
  151. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +28 -3
  152. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
  153. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
  154. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
  155. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
  156. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
  157. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
  158. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +189 -103
  159. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
  160. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  161. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
  162. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  163. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
  164. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
  165. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
  166. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
  167. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
  168. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
  169. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
  170. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
  171. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
  172. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
  173. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +2 -8
  174. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
  175. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
  176. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
  177. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
  178. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
  179. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
  180. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
  181. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
  182. package/deps/rocksdb/rocksdb/options/cf_options.cc +34 -38
  183. package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
  184. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
  185. package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
  186. package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
  187. package/deps/rocksdb/rocksdb/options/db_options.cc +38 -17
  188. package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
  189. package/deps/rocksdb/rocksdb/options/options_helper.cc +82 -39
  190. package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
  191. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -3
  192. package/deps/rocksdb/rocksdb/options/options_test.cc +115 -59
  193. package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
  194. package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
  195. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  196. package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
  197. package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
  198. package/deps/rocksdb/rocksdb/src.mk +2 -0
  199. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  200. package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
  201. package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
  202. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
  203. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +14 -4
  204. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
  205. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +1 -1
  206. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +85 -41
  207. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +42 -72
  208. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +7 -5
  209. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
  210. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  211. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
  212. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
  213. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
  214. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -1
  215. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
  216. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +2 -1
  217. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +6 -3
  218. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
  219. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -5
  220. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
  221. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
  222. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
  223. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
  224. package/deps/rocksdb/rocksdb/table/format.cc +22 -20
  225. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
  226. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  227. package/deps/rocksdb/rocksdb/table/multiget_context.h +14 -11
  228. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
  229. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
  230. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
  231. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
  232. package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
  233. package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
  234. package/deps/rocksdb/rocksdb/table/unique_id.cc +57 -25
  235. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +34 -4
  236. package/deps/rocksdb/rocksdb/test_util/testutil.cc +1 -1
  237. package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
  238. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
  239. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
  240. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
  241. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  242. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +254 -98
  243. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
  244. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
  245. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
  246. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
  247. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
  248. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  249. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +17 -3
  250. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
  251. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
  252. package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
  253. package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
  254. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
  255. package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
  256. package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
  257. package/deps/rocksdb/rocksdb/util/compression.h +7 -7
  258. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
  259. package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
  260. package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
  261. package/deps/rocksdb/rocksdb/util/heap.h +5 -3
  262. package/deps/rocksdb/rocksdb/util/random.cc +1 -5
  263. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
  264. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
  265. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
  266. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
  267. package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
  268. package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
  269. package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
  270. package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
  271. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
  272. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
  273. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
  274. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
  275. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
  276. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
  277. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
  278. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  279. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
  280. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
  281. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
  282. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
  283. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
  284. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
  285. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
  286. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
  287. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
  288. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
  289. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
  290. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
  291. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
  292. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
  293. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
  294. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
  295. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
  296. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
  297. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
  298. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
  299. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
  300. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
  301. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
  302. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
  303. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
  304. package/deps/rocksdb/rocksdb.gyp +8 -2
  305. package/package.json +1 -1
  306. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  307. package/prebuilds/linux-x64/node.napi.node +0 -0
  308. package/deps/rocksdb/rocksdb/python.mk +0 -9
  309. package/prebuilds/darwin-x64/node.napi.node +0 -0
  310. package/prebuilds/linux-arm64/node.napi.node +0 -0
@@ -397,8 +397,8 @@ class WritePreparedTxnDB : public PessimisticTransactionDB {
397
397
  if (delta >= format.DELTA_UPPERBOUND) {
398
398
  throw std::runtime_error(
399
399
  "commit_seq >> prepare_seq. The allowed distance is " +
400
- ToString(format.DELTA_UPPERBOUND) + " commit_seq is " +
401
- ToString(cs) + " prepare_seq is " + ToString(ps));
400
+ std::to_string(format.DELTA_UPPERBOUND) + " commit_seq is " +
401
+ std::to_string(cs) + " prepare_seq is " + std::to_string(ps));
402
402
  }
403
403
  rep_ = (ps << format.PAD_BITS) & ~format.COMMIT_FILTER;
404
404
  rep_ = rep_ | delta;
@@ -465,6 +465,16 @@ class WritePreparedTxnDB : public PessimisticTransactionDB {
465
465
  // Get a dummy snapshot that refers to kMaxSequenceNumber
466
466
  Snapshot* GetMaxSnapshot() { return &dummy_max_snapshot_; }
467
467
 
468
+ bool ShouldRollbackWithSingleDelete(ColumnFamilyHandle* column_family,
469
+ const Slice& key) {
470
+ return rollback_deletion_type_callback_
471
+ ? rollback_deletion_type_callback_(this, column_family, key)
472
+ : false;
473
+ }
474
+
475
+ std::function<bool(TransactionDB*, ColumnFamilyHandle*, const Slice&)>
476
+ rollback_deletion_type_callback_;
477
+
468
478
  private:
469
479
  friend class AddPreparedCallback;
470
480
  friend class PreparedHeap_BasicsTest_Test;
@@ -503,8 +513,9 @@ class WritePreparedTxnDB : public PessimisticTransactionDB {
503
513
  friend class WriteUnpreparedTxn;
504
514
  friend class WriteUnpreparedTxnDB;
505
515
  friend class WriteUnpreparedTransactionTest_RecoveryTest_Test;
516
+ friend class MultiOpsTxnsStressTest;
506
517
 
507
- void Init(const TransactionDBOptions& /* unused */);
518
+ void Init(const TransactionDBOptions& txn_db_opts);
508
519
 
509
520
  void WPRecordTick(uint32_t ticker_type) const {
510
521
  RecordTick(db_impl_->immutable_db_options_.statistics.get(), ticker_type);
@@ -1071,7 +1082,9 @@ struct SubBatchCounter : public WriteBatch::Handler {
1071
1082
  }
1072
1083
  Status MarkBeginPrepare(bool) override { return Status::OK(); }
1073
1084
  Status MarkRollback(const Slice&) override { return Status::OK(); }
1074
- bool WriteAfterCommit() const override { return false; }
1085
+ Handler::OptionState WriteAfterCommit() const override {
1086
+ return Handler::OptionState::kDisabled;
1087
+ }
1075
1088
  };
1076
1089
 
1077
1090
  SnapshotBackup WritePreparedTxnDB::AssignMinMaxSeqs(const Snapshot* snapshot,
@@ -87,7 +87,7 @@ TEST_P(WriteUnpreparedTransactionTest, ReadYourOwnWrite) {
87
87
  txn->SetSnapshot();
88
88
 
89
89
  for (int i = 0; i < 5; i++) {
90
- std::string stored_value = "v" + ToString(i);
90
+ std::string stored_value = "v" + std::to_string(i);
91
91
  ASSERT_OK(txn->Put("a", stored_value));
92
92
  ASSERT_OK(txn->Put("b", stored_value));
93
93
  ASSERT_OK(wup_txn->FlushWriteBatchToDB(false));
@@ -159,7 +159,7 @@ TEST_P(WriteUnpreparedStressTest, ReadYourOwnWriteStress) {
159
159
 
160
160
  std::vector<std::string> keys;
161
161
  for (uint32_t k = 0; k < kNumKeys * kNumThreads; k++) {
162
- keys.push_back("k" + ToString(k));
162
+ keys.push_back("k" + std::to_string(k));
163
163
  }
164
164
  RandomShuffle(keys.begin(), keys.end());
165
165
 
@@ -188,7 +188,7 @@ TEST_P(WriteUnpreparedStressTest, ReadYourOwnWriteStress) {
188
188
  }
189
189
 
190
190
  txn = db->BeginTransaction(write_options, txn_options);
191
- ASSERT_OK(txn->SetName(ToString(id)));
191
+ ASSERT_OK(txn->SetName(std::to_string(id)));
192
192
  txn->SetSnapshot();
193
193
  if (a >= RO_SNAPSHOT) {
194
194
  read_options.snapshot = txn->GetSnapshot();
@@ -342,8 +342,8 @@ TEST_P(WriteUnpreparedTransactionTest, RecoveryTest) {
342
342
  wup_db = dynamic_cast<WriteUnpreparedTxnDB*>(db);
343
343
  if (!empty) {
344
344
  for (int i = 0; i < num_batches; i++) {
345
- ASSERT_OK(db->Put(WriteOptions(), "k" + ToString(i),
346
- "before value" + ToString(i)));
345
+ ASSERT_OK(db->Put(WriteOptions(), "k" + std::to_string(i),
346
+ "before value" + std::to_string(i)));
347
347
  }
348
348
  }
349
349
 
@@ -352,7 +352,8 @@ TEST_P(WriteUnpreparedTransactionTest, RecoveryTest) {
352
352
  WriteUnpreparedTxn* wup_txn = dynamic_cast<WriteUnpreparedTxn*>(txn);
353
353
  ASSERT_OK(txn->SetName("xid"));
354
354
  for (int i = 0; i < num_batches; i++) {
355
- ASSERT_OK(txn->Put("k" + ToString(i), "value" + ToString(i)));
355
+ ASSERT_OK(
356
+ txn->Put("k" + std::to_string(i), "value" + std::to_string(i)));
356
357
  if (txn_options.write_batch_flush_threshold == 1) {
357
358
  // WriteUnprepared will check write_batch_flush_threshold and
358
359
  // possibly flush before appending to the write batch. No flush
@@ -396,12 +397,13 @@ TEST_P(WriteUnpreparedTransactionTest, RecoveryTest) {
396
397
  if (!empty || a == COMMIT) {
397
398
  for (int i = 0; i < num_batches; i++) {
398
399
  ASSERT_TRUE(iter->Valid());
399
- ASSERT_EQ(iter->key().ToString(), "k" + ToString(i));
400
+ ASSERT_EQ(iter->key().ToString(), "k" + std::to_string(i));
400
401
  if (a == COMMIT) {
401
- ASSERT_EQ(iter->value().ToString(), "value" + ToString(i));
402
+ ASSERT_EQ(iter->value().ToString(),
403
+ "value" + std::to_string(i));
402
404
  } else {
403
405
  ASSERT_EQ(iter->value().ToString(),
404
- "before value" + ToString(i));
406
+ "before value" + std::to_string(i));
405
407
  }
406
408
  iter->Next();
407
409
  }
@@ -434,7 +436,7 @@ TEST_P(WriteUnpreparedTransactionTest, UnpreparedBatch) {
434
436
  ASSERT_OK(txn->SetName("xid"));
435
437
 
436
438
  for (int i = 0; i < kNumKeys; i++) {
437
- ASSERT_OK(txn->Put("k" + ToString(i), "v" + ToString(i)));
439
+ ASSERT_OK(txn->Put("k" + std::to_string(i), "v" + std::to_string(i)));
438
440
  if (txn_options.write_batch_flush_threshold == 1) {
439
441
  // WriteUnprepared will check write_batch_flush_threshold and
440
442
  // possibly flush before appending to the write batch. No flush will
@@ -471,8 +473,8 @@ TEST_P(WriteUnpreparedTransactionTest, UnpreparedBatch) {
471
473
 
472
474
  for (int i = 0; i < (commit ? kNumKeys : 0); i++) {
473
475
  ASSERT_TRUE(iter->Valid());
474
- ASSERT_EQ(iter->key().ToString(), "k" + ToString(i));
475
- ASSERT_EQ(iter->value().ToString(), "v" + ToString(i));
476
+ ASSERT_EQ(iter->key().ToString(), "k" + std::to_string(i));
477
+ ASSERT_EQ(iter->value().ToString(), "v" + std::to_string(i));
476
478
  iter->Next();
477
479
  }
478
480
  ASSERT_FALSE(iter->Valid());
@@ -512,9 +514,10 @@ TEST_P(WriteUnpreparedTransactionTest, MarkLogWithPrepSection) {
512
514
 
513
515
  // Spread this transaction across multiple log files.
514
516
  for (int i = 0; i < kNumKeys; i++) {
515
- ASSERT_OK(txn1->Put("k1" + ToString(i), "v" + ToString(i)));
517
+ ASSERT_OK(txn1->Put("k1" + std::to_string(i), "v" + std::to_string(i)));
516
518
  if (i >= kNumKeys / 2) {
517
- ASSERT_OK(txn2->Put("k2" + ToString(i), "v" + ToString(i)));
519
+ ASSERT_OK(
520
+ txn2->Put("k2" + std::to_string(i), "v" + std::to_string(i)));
518
521
  }
519
522
 
520
523
  if (i > 0) {
@@ -601,7 +604,7 @@ TEST_P(WriteUnpreparedTransactionTest, IterateAndWrite) {
601
604
 
602
605
  for (Action a : {DO_DELETE, DO_UPDATE}) {
603
606
  for (int i = 0; i < 100; i++) {
604
- ASSERT_OK(db->Put(woptions, ToString(i), ToString(i)));
607
+ ASSERT_OK(db->Put(woptions, std::to_string(i), std::to_string(i)));
605
608
  }
606
609
 
607
610
  Transaction* txn = db->BeginTransaction(woptions, txn_options);
@@ -662,7 +665,7 @@ TEST_P(WriteUnpreparedTransactionTest, IterateAfterClear) {
662
665
 
663
666
  for (Action a : {kCommit, kRollback}) {
664
667
  for (int i = 0; i < 100; i++) {
665
- ASSERT_OK(db->Put(woptions, ToString(i), ToString(i)));
668
+ ASSERT_OK(db->Put(woptions, std::to_string(i), std::to_string(i)));
666
669
  }
667
670
 
668
671
  Transaction* txn = db->BeginTransaction(woptions, txn_options);
@@ -281,8 +281,8 @@ Status WriteUnpreparedTxn::FlushWriteBatchToDBInternal(bool prepared) {
281
281
  static std::atomic_ullong autogen_id{0};
282
282
  // To avoid changing all tests to call SetName, just autogenerate one.
283
283
  if (wupt_db_->txn_db_options_.autogenerate_name) {
284
- auto s =
285
- SetName(std::string("autoxid") + ToString(autogen_id.fetch_add(1)));
284
+ auto s = SetName(std::string("autoxid") +
285
+ std::to_string(autogen_id.fetch_add(1)));
286
286
  assert(s.ok());
287
287
  } else
288
288
  #endif
@@ -675,7 +675,11 @@ Status WriteUnpreparedTxn::WriteRollbackKeys(
675
675
  s = rollback_batch->Put(cf_handle, key, pinnable_val);
676
676
  assert(s.ok());
677
677
  } else if (s.IsNotFound()) {
678
- s = rollback_batch->Delete(cf_handle, key);
678
+ if (wupt_db_->ShouldRollbackWithSingleDelete(cf_handle, key)) {
679
+ s = rollback_batch->SingleDelete(cf_handle, key);
680
+ } else {
681
+ s = rollback_batch->Delete(cf_handle, key);
682
+ }
679
683
  assert(s.ok());
680
684
  } else {
681
685
  return s;
@@ -247,8 +247,9 @@ Status WriteBatchWithIndex::Rep::ReBuildIndex() {
247
247
  case kTypeNoop:
248
248
  break;
249
249
  default:
250
- return Status::Corruption("unknown WriteBatch tag in ReBuildIndex",
251
- ToString(static_cast<unsigned int>(tag)));
250
+ return Status::Corruption(
251
+ "unknown WriteBatch tag in ReBuildIndex",
252
+ std::to_string(static_cast<unsigned int>(tag)));
252
253
  }
253
254
  }
254
255
 
@@ -514,7 +514,7 @@ Status ReadableWriteBatch::GetEntryFromDataOffset(size_t data_offset,
514
514
  break;
515
515
  default:
516
516
  return Status::Corruption("unknown WriteBatch tag ",
517
- ToString(static_cast<unsigned int>(tag)));
517
+ std::to_string(static_cast<unsigned int>(tag)));
518
518
  }
519
519
  return Status::OK();
520
520
  }
@@ -700,7 +700,7 @@ WBWIIteratorImpl::Result WriteBatchWithIndexInternal::GetFromBatch(
700
700
  auto result = iter->FindLatestUpdate(key, context);
701
701
  if (result == WBWIIteratorImpl::kError) {
702
702
  (*s) = Status::Corruption("Unexpected entry in WriteBatchWithIndex:",
703
- ToString(iter->Entry().type));
703
+ std::to_string(iter->Entry().type));
704
704
  return result;
705
705
  } else if (result == WBWIIteratorImpl::kNotFound) {
706
706
  return result;
@@ -95,7 +95,7 @@ struct WriteBatchIndexEntry {
95
95
  bool is_forward_direction, bool is_seek_to_first)
96
96
  // For SeekForPrev(), we need to make the dummy entry larger than any
97
97
  // entry who has the same search key. Otherwise, we'll miss those entries.
98
- : offset(is_forward_direction ? 0 : port::kMaxSizet),
98
+ : offset(is_forward_direction ? 0 : std::numeric_limits<size_t>::max()),
99
99
  column_family(_column_family),
100
100
  key_offset(0),
101
101
  key_size(is_seek_to_first ? kFlagMinInCf : 0),
@@ -105,7 +105,7 @@ struct WriteBatchIndexEntry {
105
105
 
106
106
  // If this flag appears in the key_size, it indicates a
107
107
  // key that is smaller than any other entry for the same column family.
108
- static const size_t kFlagMinInCf = port::kMaxSizet;
108
+ static const size_t kFlagMinInCf = std::numeric_limits<size_t>::max();
109
109
 
110
110
  bool is_min_in_cf() const {
111
111
  assert(key_size != kFlagMinInCf ||
@@ -265,10 +265,10 @@ class WBWIBaseTest : public testing::Test {
265
265
  batch_->Delete(cf, key);
266
266
  result = "";
267
267
  } else if (key[i] == 'p') {
268
- result = key + ToString(i);
268
+ result = key + std::to_string(i);
269
269
  batch_->Put(cf, key, result);
270
270
  } else if (key[i] == 'm') {
271
- std::string value = key + ToString(i);
271
+ std::string value = key + std::to_string(i);
272
272
  batch_->Merge(cf, key, value);
273
273
  if (result.empty()) {
274
274
  result = value;
@@ -1192,11 +1192,11 @@ TEST_P(WriteBatchWithIndexTest, TestGetFromBatchMerge) {
1192
1192
  std::string expected = "X";
1193
1193
 
1194
1194
  for (int i = 0; i < 5; i++) {
1195
- ASSERT_OK(batch_->Merge("x", ToString(i)));
1196
- expected = expected + "," + ToString(i);
1195
+ ASSERT_OK(batch_->Merge("x", std::to_string(i)));
1196
+ expected = expected + "," + std::to_string(i);
1197
1197
 
1198
1198
  if (i % 2 == 0) {
1199
- ASSERT_OK(batch_->Put("y", ToString(i / 2)));
1199
+ ASSERT_OK(batch_->Put("y", std::to_string(i / 2)));
1200
1200
  }
1201
1201
 
1202
1202
  ASSERT_OK(batch_->Merge("z", "z"));
@@ -1207,7 +1207,7 @@ TEST_P(WriteBatchWithIndexTest, TestGetFromBatchMerge) {
1207
1207
 
1208
1208
  s = batch_->GetFromBatch(column_family, options_, "y", &value);
1209
1209
  ASSERT_OK(s);
1210
- ASSERT_EQ(ToString(i / 2), value);
1210
+ ASSERT_EQ(std::to_string(i / 2), value);
1211
1211
 
1212
1212
  s = batch_->GetFromBatch(column_family, options_, "z", &value);
1213
1213
  ASSERT_TRUE(s.IsMergeInProgress());
@@ -14,9 +14,10 @@
14
14
  # "ROCKSDB_JEMALLOC=1",
15
15
  # "JEMALLOC_NO_DEMANGLE=1",
16
16
  "ROCKSDB_BACKTRACE=1",
17
- "ROCKSDB_SUPPORT_THREAD_LOCAL=1",
18
17
  "NIOSTATS_CONTEXT=1",
19
- "NPERF_CONTEXT=1"
18
+ "NPERF_CONTEXT=1",
19
+ # "USE_FOLLY=1",
20
+ # "FOLLY_NO_CONFIG=1"
20
21
  ],
21
22
  "include_dirs": [
22
23
  "rocksdb/",
@@ -166,6 +167,7 @@
166
167
  "rocksdb/cache/cache_reservation_manager.cc",
167
168
  "rocksdb/cache/clock_cache.cc",
168
169
  "rocksdb/cache/compressed_secondary_cache.cc",
170
+ "rocksdb/cache/fast_lru_cache.cc",
169
171
  "rocksdb/cache/lru_cache.cc",
170
172
  "rocksdb/cache/sharded_cache.cc",
171
173
  "rocksdb/db/arena_wrapped_db_iter.cc",
@@ -366,6 +368,7 @@
366
368
  "rocksdb/trace_replay/trace_record_result.cc",
367
369
  "rocksdb/trace_replay/trace_record.cc",
368
370
  "rocksdb/trace_replay/trace_replay.cc",
371
+ "rocksdb/util/cleanable.cc",
369
372
  "rocksdb/util/coding.cc",
370
373
  "rocksdb/util/compaction_job_stats_impl.cc",
371
374
  "rocksdb/util/comparator.cc",
@@ -397,6 +400,9 @@
397
400
  "rocksdb/utilities/blob_db/blob_file.cc",
398
401
  "rocksdb/utilities/cache_dump_load.cc",
399
402
  "rocksdb/utilities/cache_dump_load_impl.cc",
403
+ # "rocksdb/utilities/cassandra/cassandra_compaction_filter.cc",
404
+ # "rocksdb/utilities/cassandra/format.cc",
405
+ # "rocksdb/utilities/cassandra/merge_operator.cc",
400
406
  "rocksdb/utilities/checkpoint/checkpoint_impl.cc",
401
407
  "rocksdb/utilities/compaction_filters.cc",
402
408
  "rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/rocksdb",
3
- "version": "6.0.1",
3
+ "version": "6.0.2",
4
4
  "description": "A low-level Node.js RocksDB binding",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
Binary file
@@ -1,9 +0,0 @@
1
- ifndef PYTHON
2
-
3
- # Default to python3. Some distros like CentOS 8 do not have `python`.
4
- ifeq ($(origin PYTHON), undefined)
5
- PYTHON := $(shell which python3 || which python || echo python3)
6
- endif
7
- export PYTHON
8
-
9
- endif
Binary file