@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
@@ -9,11 +9,7 @@
9
9
 
10
10
  namespace ROCKSDB_NAMESPACE {
11
11
 
12
- #ifdef ROCKSDB_SUPPORT_THREAD_LOCAL
13
- __thread PerfLevel perf_level = kEnableCount;
14
- #else
15
- PerfLevel perf_level = kEnableCount;
16
- #endif
12
+ thread_local PerfLevel perf_level = kEnableCount;
17
13
 
18
14
  void SetPerfLevel(PerfLevel level) {
19
15
  assert(level > kUninitialized);
@@ -9,10 +9,6 @@
9
9
 
10
10
  namespace ROCKSDB_NAMESPACE {
11
11
 
12
- #ifdef ROCKSDB_SUPPORT_THREAD_LOCAL
13
- extern __thread PerfLevel perf_level;
14
- #else
15
- extern PerfLevel perf_level;
16
- #endif
12
+ extern thread_local PerfLevel perf_level;
17
13
 
18
14
  } // namespace ROCKSDB_NAMESPACE
@@ -98,13 +98,13 @@ std::pair<uint64_t, std::string> parseKey(const Slice& key,
98
98
  std::string::size_type pos = key_str.find("#");
99
99
  // TODO(Zhongyi): add counters to track parse failures?
100
100
  if (pos == std::string::npos) {
101
- result.first = port::kMaxUint64;
101
+ result.first = std::numeric_limits<uint64_t>::max();
102
102
  result.second.clear();
103
103
  } else {
104
104
  uint64_t parsed_time = ParseUint64(key_str.substr(0, pos));
105
105
  // skip entries with timestamp smaller than start_time
106
106
  if (parsed_time < start_time) {
107
- result.first = port::kMaxUint64;
107
+ result.first = std::numeric_limits<uint64_t>::max();
108
108
  result.second = "";
109
109
  } else {
110
110
  result.first = parsed_time;
@@ -16,7 +16,8 @@ namespace ROCKSDB_NAMESPACE {
16
16
 
17
17
  #ifdef ROCKSDB_USING_THREAD_STATUS
18
18
 
19
- __thread ThreadStatusData* ThreadStatusUpdater::thread_status_data_ = nullptr;
19
+ thread_local ThreadStatusData* ThreadStatusUpdater::thread_status_data_ =
20
+ nullptr;
20
21
 
21
22
  void ThreadStatusUpdater::RegisterThread(ThreadStatus::ThreadType ttype,
22
23
  uint64_t thread_id) {
@@ -196,7 +196,7 @@ class ThreadStatusUpdater {
196
196
  protected:
197
197
  #ifdef ROCKSDB_USING_THREAD_STATUS
198
198
  // The thread-local variable for storing thread status.
199
- static __thread ThreadStatusData* thread_status_data_;
199
+ static thread_local ThreadStatusData* thread_status_data_;
200
200
 
201
201
  // Returns the pointer to the thread status data only when the
202
202
  // thread status data is non-null and has enable_tracking == true.
@@ -12,9 +12,9 @@
12
12
  namespace ROCKSDB_NAMESPACE {
13
13
 
14
14
  #ifdef ROCKSDB_USING_THREAD_STATUS
15
- __thread ThreadStatusUpdater* ThreadStatusUtil::thread_updater_local_cache_ =
16
- nullptr;
17
- __thread bool ThreadStatusUtil::thread_updater_initialized_ = false;
15
+ thread_local ThreadStatusUpdater*
16
+ ThreadStatusUtil::thread_updater_local_cache_ = nullptr;
17
+ thread_local bool ThreadStatusUtil::thread_updater_initialized_ = false;
18
18
 
19
19
  void ThreadStatusUtil::RegisterThread(const Env* env,
20
20
  ThreadStatus::ThreadType thread_type) {
@@ -94,7 +94,7 @@ class ThreadStatusUtil {
94
94
  // When this variable is set to true, thread_updater_local_cache_
95
95
  // will not be updated until this variable is again set to false
96
96
  // in UnregisterThread().
97
- static __thread bool thread_updater_initialized_;
97
+ static thread_local bool thread_updater_initialized_;
98
98
 
99
99
  // The thread-local cached ThreadStatusUpdater that caches the
100
100
  // thread_status_updater_ of the first Env that uses any ThreadStatusUtil
@@ -109,7 +109,7 @@ class ThreadStatusUtil {
109
109
  // When thread_updater_initialized_ is set to true, this variable
110
110
  // will not be updated until this thread_updater_initialized_ is
111
111
  // again set to false in UnregisterThread().
112
- static __thread ThreadStatusUpdater* thread_updater_local_cache_;
112
+ static thread_local ThreadStatusUpdater* thread_updater_local_cache_;
113
113
  #else
114
114
  static bool thread_updater_initialized_;
115
115
  static ThreadStatusUpdater* thread_updater_local_cache_;
@@ -364,9 +364,10 @@ static std::unordered_map<std::string, OptionTypeInfo>
364
364
  OptionTypeInfo::Struct(
365
365
  "compaction_options_fifo", &fifo_compaction_options_type_info,
366
366
  offsetof(struct MutableCFOptions, compaction_options_fifo),
367
- OptionVerificationType::kNormal, OptionTypeFlags::kMutable,
368
- [](const ConfigOptions& opts, const std::string& name,
369
- const std::string& value, void* addr) {
367
+ OptionVerificationType::kNormal, OptionTypeFlags::kMutable)
368
+ .SetParseFunc([](const ConfigOptions& opts,
369
+ const std::string& name, const std::string& value,
370
+ void* addr) {
370
371
  // This is to handle backward compatibility, where
371
372
  // compaction_options_fifo could be assigned a single scalar
372
373
  // value, say, like "23", which would be assigned to
@@ -556,30 +557,30 @@ static std::unordered_map<std::string, OptionTypeInfo>
556
557
  {"comparator",
557
558
  OptionTypeInfo::AsCustomRawPtr<const Comparator>(
558
559
  offsetof(struct ImmutableCFOptions, user_comparator),
559
- OptionVerificationType::kByName, OptionTypeFlags::kCompareLoose,
560
- // Serializes a Comparator
561
- [](const ConfigOptions& opts, const std::string&, const void* addr,
562
- std::string* value) {
563
- // it's a const pointer of const Comparator*
564
- const auto* ptr = static_cast<const Comparator* const*>(addr);
565
-
566
- // Since the user-specified comparator will be wrapped by
567
- // InternalKeyComparator, we should persist the user-specified
568
- // one instead of InternalKeyComparator.
569
- if (*ptr == nullptr) {
570
- *value = kNullptrString;
571
- } else if (opts.mutable_options_only) {
572
- *value = "";
573
- } else {
574
- const Comparator* root_comp = (*ptr)->GetRootComparator();
575
- if (root_comp == nullptr) {
576
- root_comp = (*ptr);
577
- }
578
- *value = root_comp->ToString(opts);
579
- }
580
- return Status::OK();
581
- },
582
- /* Use the default match function*/ nullptr)},
560
+ OptionVerificationType::kByName, OptionTypeFlags::kCompareLoose)
561
+ .SetSerializeFunc(
562
+ // Serializes a Comparator
563
+ [](const ConfigOptions& opts, const std::string&,
564
+ const void* addr, std::string* value) {
565
+ // it's a const pointer of const Comparator*
566
+ const auto* ptr =
567
+ static_cast<const Comparator* const*>(addr);
568
+ // Since the user-specified comparator will be wrapped by
569
+ // InternalKeyComparator, we should persist the
570
+ // user-specified one instead of InternalKeyComparator.
571
+ if (*ptr == nullptr) {
572
+ *value = kNullptrString;
573
+ } else if (opts.mutable_options_only) {
574
+ *value = "";
575
+ } else {
576
+ const Comparator* root_comp = (*ptr)->GetRootComparator();
577
+ if (root_comp == nullptr) {
578
+ root_comp = (*ptr);
579
+ }
580
+ *value = root_comp->ToString(opts);
581
+ }
582
+ return Status::OK();
583
+ })},
583
584
  {"memtable_insert_with_hint_prefix_extractor",
584
585
  OptionTypeInfo::AsCustomSharedPtr<const SliceTransform>(
585
586
  offsetof(struct ImmutableCFOptions,
@@ -595,10 +596,7 @@ static std::unordered_map<std::string, OptionTypeInfo>
595
596
  auto* shared =
596
597
  static_cast<std::shared_ptr<MemTableRepFactory>*>(addr);
597
598
  Status s =
598
- MemTableRepFactory::CreateFromString(opts, value, &factory);
599
- if (factory && s.ok()) {
600
- shared->reset(factory.release());
601
- }
599
+ MemTableRepFactory::CreateFromString(opts, value, shared);
602
600
  return s;
603
601
  }}},
604
602
  {"memtable",
@@ -611,10 +609,7 @@ static std::unordered_map<std::string, OptionTypeInfo>
611
609
  auto* shared =
612
610
  static_cast<std::shared_ptr<MemTableRepFactory>*>(addr);
613
611
  Status s =
614
- MemTableRepFactory::CreateFromString(opts, value, &factory);
615
- if (factory && s.ok()) {
616
- shared->reset(factory.release());
617
- }
612
+ MemTableRepFactory::CreateFromString(opts, value, shared);
618
613
  return s;
619
614
  }}},
620
615
  {"table_factory",
@@ -886,7 +881,7 @@ uint64_t MultiplyCheckOverflow(uint64_t op1, double op2) {
886
881
  if (op1 == 0 || op2 <= 0) {
887
882
  return 0;
888
883
  }
889
- if (port::kMaxUint64 / op1 < op2) {
884
+ if (std::numeric_limits<uint64_t>::max() / op1 < op2) {
890
885
  return op1;
891
886
  }
892
887
  return static_cast<uint64_t>(op1 * op2);
@@ -915,8 +910,9 @@ size_t MaxFileSizeForL0MetaPin(const MutableCFOptions& cf_options) {
915
910
  // or a former larger `write_buffer_size` value to avoid surprising users with
916
911
  // pinned memory usage. We use a factor of 1.5 to account for overhead
917
912
  // introduced during flush in most cases.
918
- if (port::kMaxSizet / 3 < cf_options.write_buffer_size / 2) {
919
- return port::kMaxSizet;
913
+ if (std::numeric_limits<size_t>::max() / 3 <
914
+ cf_options.write_buffer_size / 2) {
915
+ return std::numeric_limits<size_t>::max();
920
916
  }
921
917
  return cf_options.write_buffer_size / 2 * 3;
922
918
  }
@@ -46,20 +46,10 @@ Status Configurable::PrepareOptions(const ConfigOptions& opts) {
46
46
  if (opt_iter.type_map != nullptr) {
47
47
  for (auto map_iter : *(opt_iter.type_map)) {
48
48
  auto& opt_info = map_iter.second;
49
- if (!opt_info.IsDeprecated() && !opt_info.IsAlias() &&
50
- opt_info.IsConfigurable()) {
51
- if (!opt_info.IsEnabled(OptionTypeFlags::kDontPrepare)) {
52
- Configurable* config =
53
- opt_info.AsRawPointer<Configurable>(opt_iter.opt_ptr);
54
- if (config != nullptr) {
55
- status = config->PrepareOptions(opts);
56
- } else if (!opt_info.CanBeNull()) {
57
- status = Status::NotFound("Missing configurable object",
58
- map_iter.first);
59
- }
60
- if (!status.ok()) {
61
- return status;
62
- }
49
+ if (opt_info.ShouldPrepare()) {
50
+ status = opt_info.Prepare(opts, map_iter.first, opt_iter.opt_ptr);
51
+ if (!status.ok()) {
52
+ return status;
63
53
  }
64
54
  }
65
55
  }
@@ -79,19 +69,11 @@ Status Configurable::ValidateOptions(const DBOptions& db_opts,
79
69
  if (opt_iter.type_map != nullptr) {
80
70
  for (auto map_iter : *(opt_iter.type_map)) {
81
71
  auto& opt_info = map_iter.second;
82
- if (!opt_info.IsDeprecated() && !opt_info.IsAlias()) {
83
- if (opt_info.IsConfigurable()) {
84
- const Configurable* config =
85
- opt_info.AsRawPointer<Configurable>(opt_iter.opt_ptr);
86
- if (config != nullptr) {
87
- status = config->ValidateOptions(db_opts, cf_opts);
88
- } else if (!opt_info.CanBeNull()) {
89
- status = Status::NotFound("Missing configurable object",
90
- map_iter.first);
91
- }
92
- if (!status.ok()) {
93
- return status;
94
- }
72
+ if (opt_info.ShouldValidate()) {
73
+ status = opt_info.Validate(db_opts, cf_opts, map_iter.first,
74
+ opt_iter.opt_ptr);
75
+ if (!status.ok()) {
76
+ return status;
95
77
  }
96
78
  }
97
79
  }
@@ -173,7 +173,7 @@ TEST_F(ConfigurableTest, GetOptionsTest) {
173
173
  int i = 11;
174
174
  for (auto opt : {"", "shared.", "unique.", "pointer."}) {
175
175
  std::string value;
176
- std::string expected = ToString(i);
176
+ std::string expected = std::to_string(i);
177
177
  std::string opt_name = opt;
178
178
  ASSERT_OK(
179
179
  simple->ConfigureOption(config_options_, opt_name + "int", expected));
@@ -76,7 +76,9 @@ bool Customizable::AreEquivalent(const ConfigOptions& config_options,
76
76
  if (config_options.sanity_level > ConfigOptions::kSanityLevelNone &&
77
77
  this != other) {
78
78
  const Customizable* custom = reinterpret_cast<const Customizable*>(other);
79
- if (GetId() != custom->GetId()) {
79
+ if (custom == nullptr) { // Cast failed
80
+ return false;
81
+ } else if (GetId() != custom->GetId()) {
80
82
  *mismatch = OptionTypeInfo::kIdPropName();
81
83
  return false;
82
84
  } else if (config_options.sanity_level >