@nxtedition/rocksdb 10.0.13 → 10.0.15

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 (700) hide show
  1. package/.tap/coverage/213879bb-47ae-470e-bb54-f4157d9f60e2.json +162898 -0
  2. package/.tap/processinfo/{4c642b53-6895-4ef0-9391-7c6b8d484262.json → 213879bb-47ae-470e-bb54-f4157d9f60e2.json} +117 -121
  3. package/.tap/test-results/node_modules/abstract-level/test/get-test.js.tap +0 -0
  4. package/.tap/test-results/test/abstract-level-test.js.tap +1705 -0
  5. package/.tap/test-results/test/batch-test.js.tap +12 -0
  6. package/.tap/test-results/test/chained-batch-gc-test.js.tap +11 -0
  7. package/.tap/test-results/test/cleanup-hanging-iterators-test.js.tap +58 -0
  8. package/.tap/test-results/test/clear-gc-test.js.tap +13 -0
  9. package/.tap/test-results/test/column-test.js.tap +55 -0
  10. package/.tap/test-results/test/common.js.tap +0 -0
  11. package/.tap/test-results/test/compression-test.js.tap +30 -0
  12. package/.tap/test-results/test/db-identity.js.tap +12 -0
  13. package/.tap/test-results/test/electron.js.tap +0 -0
  14. package/.tap/test-results/test/env-cleanup-hook-test.js.tap +2 -0
  15. package/.tap/test-results/test/env-cleanup-hook.js.tap +0 -0
  16. package/.tap/test-results/test/gc.js.tap +0 -0
  17. package/.tap/test-results/test/getproperty-test.js.tap +29 -0
  18. package/.tap/test-results/test/iterator-gc-test.js.tap +4 -0
  19. package/.tap/test-results/test/iterator-hwm-test.js.tap +24 -0
  20. package/.tap/test-results/test/iterator-recursion-test.js.tap +12 -0
  21. package/.tap/test-results/test/iterator-starvation-test.js.tap +2 -0
  22. package/.tap/test-results/test/iterator-test.js.tap +0 -0
  23. package/.tap/test-results/test/leak-tester-batch.js.tap +0 -0
  24. package/.tap/test-results/test/leak-tester-iterator.js.tap +0 -0
  25. package/.tap/test-results/test/leak-tester.js.tap +0 -0
  26. package/.tap/test-results/test/lock-test.js.tap +0 -0
  27. package/.tap/test-results/test/lock.js.tap +0 -0
  28. package/.tap/test-results/test/make.js.tap +0 -0
  29. package/.tap/test-results/test/max-rev-merge.js.tap +0 -12
  30. package/.tap/test-results/test/merge-operator-test.js.tap +0 -0
  31. package/.tap/test-results/test/mkdir-test.js.tap +0 -0
  32. package/.tap/test-results/test/segfault-test.js.tap +0 -0
  33. package/.tap/test-results/test/stack-blower.js.tap +0 -0
  34. package/binding.cc +42 -34
  35. package/deps/rocksdb/rocksdb/CMakeLists.txt +44 -14
  36. package/deps/rocksdb/rocksdb/Makefile +34 -17
  37. package/deps/rocksdb/rocksdb/TARGETS +27 -0
  38. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +95 -42
  39. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +0 -1
  40. package/deps/rocksdb/rocksdb/cache/cache_test.cc +5 -3
  41. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +381 -393
  42. package/deps/rocksdb/rocksdb/cache/clock_cache.h +88 -51
  43. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +14 -7
  44. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +1 -1
  45. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +21 -19
  46. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +8 -7
  47. package/deps/rocksdb/rocksdb/cache/lru_cache.h +1 -1
  48. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +89 -13
  49. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +16 -8
  50. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +6 -6
  51. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +15 -9
  52. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +16 -13
  53. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +306 -23
  54. package/deps/rocksdb/rocksdb/cache/typed_cache.h +3 -4
  55. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +30 -27
  56. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +8 -10
  57. package/deps/rocksdb/rocksdb/db/attribute_group_iterator_impl.cc +20 -0
  58. package/deps/rocksdb/rocksdb/db/attribute_group_iterator_impl.h +83 -0
  59. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +19 -16
  60. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +6 -5
  61. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +18 -21
  62. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +5 -4
  63. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +7 -6
  64. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +56 -27
  65. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.h +11 -7
  66. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +20 -19
  67. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +106 -31
  68. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +5 -8
  69. package/deps/rocksdb/rocksdb/db/blob/prefetch_buffer_collection.cc +4 -2
  70. package/deps/rocksdb/rocksdb/db/builder.cc +89 -44
  71. package/deps/rocksdb/rocksdb/db/builder.h +4 -6
  72. package/deps/rocksdb/rocksdb/db/c.cc +205 -57
  73. package/deps/rocksdb/rocksdb/db/c_test.c +141 -20
  74. package/deps/rocksdb/rocksdb/db/coalescing_iterator.cc +47 -0
  75. package/deps/rocksdb/rocksdb/db/coalescing_iterator.h +79 -0
  76. package/deps/rocksdb/rocksdb/db/column_family.cc +100 -36
  77. package/deps/rocksdb/rocksdb/db/column_family.h +46 -28
  78. package/deps/rocksdb/rocksdb/db/column_family_test.cc +168 -46
  79. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +51 -6
  80. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +72 -24
  81. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +11 -14
  82. package/deps/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +7 -0
  83. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +87 -8
  84. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -3
  85. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +310 -70
  86. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +78 -62
  87. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +0 -1
  88. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -3
  89. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +33 -96
  90. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +18 -10
  91. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +7 -8
  92. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +42 -22
  93. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +20 -16
  94. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +7 -3
  95. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +18 -17
  96. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +95 -10
  97. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +6 -7
  98. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +213 -34
  99. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +4 -4
  100. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +7 -8
  101. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +16 -16
  102. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +75 -142
  103. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +577 -34
  104. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +4 -4
  105. package/deps/rocksdb/rocksdb/db/convenience.cc +1 -1
  106. package/deps/rocksdb/rocksdb/db/corruption_test.cc +7 -38
  107. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +5 -5
  108. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +366 -136
  109. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +9 -10
  110. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +282 -6
  111. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +6 -6
  112. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +551 -150
  113. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +1 -1
  114. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +41 -13
  115. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +54 -17
  116. package/deps/rocksdb/rocksdb/db/db_follower_test.cc +527 -0
  117. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +40 -58
  118. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +34 -45
  119. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +699 -580
  120. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +308 -230
  121. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +180 -107
  122. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +6 -2
  123. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +10 -6
  124. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +36 -61
  125. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +347 -0
  126. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.h +54 -0
  127. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +206 -155
  128. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +5 -8
  129. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +41 -39
  130. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +26 -22
  131. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +14 -9
  132. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +126 -46
  133. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +21 -9
  134. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +294 -0
  135. package/deps/rocksdb/rocksdb/db/db_iter.cc +116 -78
  136. package/deps/rocksdb/rocksdb/db/db_iter.h +31 -7
  137. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +34 -14
  138. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +69 -8
  139. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +153 -18
  140. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +9 -11
  141. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +9 -1
  142. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +6 -2
  143. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +105 -0
  144. package/deps/rocksdb/rocksdb/db/db_options_test.cc +97 -111
  145. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +12 -3
  146. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +82 -30
  147. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +5 -7
  148. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +64 -22
  149. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +74 -0
  150. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +175 -47
  151. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +4 -3
  152. package/deps/rocksdb/rocksdb/db/db_test.cc +133 -109
  153. package/deps/rocksdb/rocksdb/db/db_test2.cc +227 -139
  154. package/deps/rocksdb/rocksdb/db/db_test_util.cc +42 -19
  155. package/deps/rocksdb/rocksdb/db/db_test_util.h +67 -24
  156. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +140 -2
  157. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +17 -19
  158. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +332 -87
  159. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +4 -4
  160. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +4 -4
  161. package/deps/rocksdb/rocksdb/db/db_write_test.cc +250 -30
  162. package/deps/rocksdb/rocksdb/db/dbformat.cc +41 -8
  163. package/deps/rocksdb/rocksdb/db/dbformat.h +100 -17
  164. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +48 -8
  165. package/deps/rocksdb/rocksdb/db/error_handler.cc +102 -116
  166. package/deps/rocksdb/rocksdb/db/error_handler.h +28 -6
  167. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +263 -99
  168. package/deps/rocksdb/rocksdb/db/event_helpers.cc +3 -1
  169. package/deps/rocksdb/rocksdb/db/experimental.cc +1073 -7
  170. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +261 -111
  171. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +263 -183
  172. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +31 -12
  173. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +698 -7
  174. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +5 -3
  175. package/deps/rocksdb/rocksdb/db/flush_job.cc +41 -41
  176. package/deps/rocksdb/rocksdb/db/flush_job.h +11 -8
  177. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +90 -13
  178. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +19 -6
  179. package/deps/rocksdb/rocksdb/db/forward_iterator.h +12 -12
  180. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +83 -52
  181. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +169 -2
  182. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -6
  183. package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -2
  184. package/deps/rocksdb/rocksdb/db/job_context.h +17 -0
  185. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -4
  186. package/deps/rocksdb/rocksdb/db/log_reader.cc +44 -20
  187. package/deps/rocksdb/rocksdb/db/log_reader.h +3 -0
  188. package/deps/rocksdb/rocksdb/db/log_test.cc +81 -17
  189. package/deps/rocksdb/rocksdb/db/log_writer.cc +135 -92
  190. package/deps/rocksdb/rocksdb/db/log_writer.h +11 -10
  191. package/deps/rocksdb/rocksdb/db/malloc_stats.cc +2 -3
  192. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +1 -1
  193. package/deps/rocksdb/rocksdb/db/memtable.cc +82 -62
  194. package/deps/rocksdb/rocksdb/db/memtable.h +17 -9
  195. package/deps/rocksdb/rocksdb/db/memtable_list.cc +19 -13
  196. package/deps/rocksdb/rocksdb/db/memtable_list.h +3 -1
  197. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +38 -5
  198. package/deps/rocksdb/rocksdb/db/merge_context.h +3 -0
  199. package/deps/rocksdb/rocksdb/db/merge_helper.cc +34 -156
  200. package/deps/rocksdb/rocksdb/db/merge_helper.h +52 -46
  201. package/deps/rocksdb/rocksdb/db/merge_test.cc +16 -11
  202. package/deps/rocksdb/rocksdb/db/multi_cf_iterator_impl.h +289 -0
  203. package/deps/rocksdb/rocksdb/db/multi_cf_iterator_test.cc +918 -0
  204. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +4 -6
  205. package/deps/rocksdb/rocksdb/db/options_file_test.cc +4 -4
  206. package/deps/rocksdb/rocksdb/db/output_validator.cc +8 -12
  207. package/deps/rocksdb/rocksdb/db/output_validator.h +1 -4
  208. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +23 -4
  209. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +2 -3
  210. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +1 -1
  211. package/deps/rocksdb/rocksdb/db/pinned_iterators_manager.h +2 -2
  212. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +3 -6
  213. package/deps/rocksdb/rocksdb/db/prefix_test.cc +21 -8
  214. package/deps/rocksdb/rocksdb/db/range_del_aggregator.cc +0 -2
  215. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +0 -1
  216. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +17 -4
  217. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +6 -3
  218. package/deps/rocksdb/rocksdb/db/repair.cc +35 -29
  219. package/deps/rocksdb/rocksdb/db/repair_test.cc +1 -2
  220. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +428 -156
  221. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +393 -227
  222. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +154 -82
  223. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +2 -2
  224. package/deps/rocksdb/rocksdb/db/table_cache.cc +9 -11
  225. package/deps/rocksdb/rocksdb/db/table_cache.h +2 -1
  226. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +8 -3
  227. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +27 -26
  228. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +23 -23
  229. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +5 -5
  230. package/deps/rocksdb/rocksdb/db/version_builder.cc +6 -0
  231. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +62 -29
  232. package/deps/rocksdb/rocksdb/db/version_edit.cc +1 -2
  233. package/deps/rocksdb/rocksdb/db/version_edit.h +30 -11
  234. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +291 -116
  235. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +54 -11
  236. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +3 -1
  237. package/deps/rocksdb/rocksdb/db/version_set.cc +301 -141
  238. package/deps/rocksdb/rocksdb/db/version_set.h +90 -33
  239. package/deps/rocksdb/rocksdb/db/version_set_test.cc +817 -193
  240. package/deps/rocksdb/rocksdb/db/version_util.h +10 -5
  241. package/deps/rocksdb/rocksdb/db/wal_manager.cc +15 -11
  242. package/deps/rocksdb/rocksdb/db/wal_manager.h +2 -1
  243. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +10 -9
  244. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +403 -28
  245. package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +2 -2
  246. package/deps/rocksdb/rocksdb/db/write_batch.cc +204 -18
  247. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +4 -0
  248. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +149 -5
  249. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +7 -7
  250. package/deps/rocksdb/rocksdb/db/write_stall_stats.h +7 -7
  251. package/deps/rocksdb/rocksdb/db/write_thread.cc +86 -47
  252. package/deps/rocksdb/rocksdb/db/write_thread.h +2 -0
  253. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +176 -68
  254. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +337 -125
  255. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +38 -9
  256. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +126 -34
  257. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +1 -1
  258. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.h +2 -2
  259. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +161 -1
  260. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +267 -9
  261. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +13 -7
  262. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +9 -9
  263. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +535 -86
  264. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +27 -5
  265. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +8 -15
  266. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +46 -21
  267. package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +74 -4
  268. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +28 -11
  269. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +426 -151
  270. package/deps/rocksdb/rocksdb/env/composite_env.cc +1 -1
  271. package/deps/rocksdb/rocksdb/env/emulated_clock.h +6 -6
  272. package/deps/rocksdb/rocksdb/env/env.cc +21 -11
  273. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +9 -9
  274. package/deps/rocksdb/rocksdb/env/env_chroot.cc +3 -2
  275. package/deps/rocksdb/rocksdb/env/env_encryption.cc +3 -3
  276. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -2
  277. package/deps/rocksdb/rocksdb/env/env_posix.cc +12 -10
  278. package/deps/rocksdb/rocksdb/env/env_test.cc +24 -18
  279. package/deps/rocksdb/rocksdb/env/file_system.cc +7 -6
  280. package/deps/rocksdb/rocksdb/env/file_system_tracer.cc +3 -3
  281. package/deps/rocksdb/rocksdb/env/file_system_tracer.h +3 -3
  282. package/deps/rocksdb/rocksdb/env/fs_on_demand.cc +331 -0
  283. package/deps/rocksdb/rocksdb/env/fs_on_demand.h +139 -0
  284. package/deps/rocksdb/rocksdb/env/fs_posix.cc +14 -15
  285. package/deps/rocksdb/rocksdb/env/io_posix.cc +15 -10
  286. package/deps/rocksdb/rocksdb/env/io_posix.h +86 -92
  287. package/deps/rocksdb/rocksdb/env/mock_env.cc +1 -1
  288. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +6 -6
  289. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +8 -6
  290. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +1 -1
  291. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +599 -592
  292. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +312 -200
  293. package/deps/rocksdb/rocksdb/file/file_util.cc +19 -14
  294. package/deps/rocksdb/rocksdb/file/file_util.h +34 -24
  295. package/deps/rocksdb/rocksdb/file/filename.cc +32 -17
  296. package/deps/rocksdb/rocksdb/file/filename.h +51 -53
  297. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +82 -441
  298. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +7 -6
  299. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -5
  300. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +9 -3
  301. package/deps/rocksdb/rocksdb/file/read_write_util.h +3 -3
  302. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +6 -2
  303. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +9 -4
  304. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +8 -4
  305. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +110 -89
  306. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +34 -17
  307. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +16 -0
  308. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +39 -189
  309. package/deps/rocksdb/rocksdb/include/rocksdb/attribute_groups.h +114 -0
  310. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +91 -6
  311. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +52 -7
  312. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -1
  313. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +27 -0
  314. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +146 -0
  315. package/deps/rocksdb/rocksdb/include/rocksdb/concurrent_task_limiter.h +2 -2
  316. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +254 -151
  317. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +39 -36
  318. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -1
  319. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +431 -0
  320. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +1 -1
  321. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +57 -23
  322. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +27 -57
  323. package/deps/rocksdb/rocksdb/include/rocksdb/iterator_base.h +74 -0
  324. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +2 -1
  325. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
  326. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +11 -11
  327. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +1 -1
  328. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +146 -71
  329. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +6 -1
  330. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +7 -4
  331. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +17 -13
  332. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +17 -19
  333. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +5 -5
  334. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +10 -8
  335. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +18 -2
  336. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +12 -2
  337. package/deps/rocksdb/rocksdb/include/rocksdb/sst_partitioner.h +3 -3
  338. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +118 -116
  339. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +4 -4
  340. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +26 -21
  341. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +18 -6
  342. package/deps/rocksdb/rocksdb/include/rocksdb/threadpool.h +1 -1
  343. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +5 -5
  344. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record_result.h +8 -8
  345. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +12 -0
  346. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/cache_dump_load.h +4 -0
  347. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +3 -3
  348. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +8 -0
  349. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +1 -1
  350. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +4 -4
  351. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +3 -3
  352. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +5 -6
  353. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +159 -167
  354. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +1 -2
  355. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +52 -17
  356. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +3 -4
  357. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/types_util.h +36 -0
  358. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +118 -20
  359. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  360. package/deps/rocksdb/rocksdb/include/rocksdb/wal_filter.h +1 -1
  361. package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +87 -45
  362. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +26 -3
  363. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch_base.h +22 -1
  364. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +7 -9
  365. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +5 -6
  366. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +2 -2
  367. package/deps/rocksdb/rocksdb/logging/env_logger.h +3 -3
  368. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -1
  369. package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -3
  370. package/deps/rocksdb/rocksdb/memory/arena.h +11 -0
  371. package/deps/rocksdb/rocksdb/memory/arena_test.cc +17 -2
  372. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +1 -1
  373. package/deps/rocksdb/rocksdb/memory/memory_allocator.cc +1 -0
  374. package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
  375. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -1
  376. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +11 -10
  377. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +8 -7
  378. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +2 -2
  379. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +2 -2
  380. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -1
  381. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +3 -3
  382. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +2 -2
  383. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +3 -1
  384. package/deps/rocksdb/rocksdb/monitoring/file_read_sample.h +2 -2
  385. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +20 -10
  386. package/deps/rocksdb/rocksdb/monitoring/histogram.h +15 -15
  387. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +7 -3
  388. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +14 -14
  389. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -1
  390. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +4 -0
  391. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +8 -1
  392. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -1
  393. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +5 -2
  394. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +64 -58
  395. package/deps/rocksdb/rocksdb/monitoring/statistics_impl.h +11 -12
  396. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
  397. package/deps/rocksdb/rocksdb/monitoring/thread_status_impl.cc +1 -1
  398. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +7 -1
  399. package/deps/rocksdb/rocksdb/options/cf_options.cc +20 -28
  400. package/deps/rocksdb/rocksdb/options/cf_options.h +7 -14
  401. package/deps/rocksdb/rocksdb/options/configurable.cc +20 -12
  402. package/deps/rocksdb/rocksdb/options/configurable_test.cc +4 -6
  403. package/deps/rocksdb/rocksdb/options/configurable_test.h +2 -2
  404. package/deps/rocksdb/rocksdb/options/customizable.cc +1 -1
  405. package/deps/rocksdb/rocksdb/options/customizable_test.cc +3 -2
  406. package/deps/rocksdb/rocksdb/options/db_options.cc +22 -48
  407. package/deps/rocksdb/rocksdb/options/db_options.h +3 -3
  408. package/deps/rocksdb/rocksdb/options/offpeak_time_info.cc +59 -0
  409. package/deps/rocksdb/rocksdb/options/offpeak_time_info.h +37 -0
  410. package/deps/rocksdb/rocksdb/options/options.cc +14 -6
  411. package/deps/rocksdb/rocksdb/options/options_helper.cc +8 -13
  412. package/deps/rocksdb/rocksdb/options/options_helper.h +2 -3
  413. package/deps/rocksdb/rocksdb/options/options_parser.cc +35 -26
  414. package/deps/rocksdb/rocksdb/options/options_parser.h +4 -2
  415. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +3 -3
  416. package/deps/rocksdb/rocksdb/options/options_test.cc +30 -23
  417. package/deps/rocksdb/rocksdb/port/lang.h +1 -1
  418. package/deps/rocksdb/rocksdb/port/port_example.h +7 -7
  419. package/deps/rocksdb/rocksdb/port/port_posix.cc +7 -7
  420. package/deps/rocksdb/rocksdb/port/port_posix.h +7 -7
  421. package/deps/rocksdb/rocksdb/port/stack_trace.cc +85 -24
  422. package/deps/rocksdb/rocksdb/port/win/env_win.cc +1 -2
  423. package/deps/rocksdb/rocksdb/port/win/io_win.cc +4 -4
  424. package/deps/rocksdb/rocksdb/port/win/io_win.h +13 -17
  425. package/deps/rocksdb/rocksdb/port/win/port_win.cc +3 -2
  426. package/deps/rocksdb/rocksdb/port/win/port_win.h +4 -4
  427. package/deps/rocksdb/rocksdb/src.mk +16 -1
  428. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +1 -7
  429. package/deps/rocksdb/rocksdb/table/block_based/block.cc +39 -15
  430. package/deps/rocksdb/rocksdb/table/block_based/block.h +7 -7
  431. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +80 -40
  432. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +2 -3
  433. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +20 -5
  434. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +228 -122
  435. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +50 -9
  436. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +82 -25
  437. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +17 -20
  438. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +47 -13
  439. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +163 -50
  440. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +1 -2
  441. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +23 -23
  442. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -12
  443. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +1 -2
  444. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +6 -4
  445. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +32 -27
  446. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -1
  447. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +7 -10
  448. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +2 -2
  449. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +1 -2
  450. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +25 -7
  451. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +3 -5
  452. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +4 -6
  453. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +6 -6
  454. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +1 -1
  455. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +3 -5
  456. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +2 -2
  457. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +4 -5
  458. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +138 -86
  459. package/deps/rocksdb/rocksdb/table/block_fetcher.h +22 -0
  460. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +26 -13
  461. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +11 -11
  462. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +11 -11
  463. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +10 -5
  464. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +6 -7
  465. package/deps/rocksdb/rocksdb/table/format.cc +15 -21
  466. package/deps/rocksdb/rocksdb/table/format.h +8 -0
  467. package/deps/rocksdb/rocksdb/table/get_context.cc +121 -78
  468. package/deps/rocksdb/rocksdb/table/get_context.h +11 -6
  469. package/deps/rocksdb/rocksdb/table/internal_iterator.h +12 -5
  470. package/deps/rocksdb/rocksdb/table/iterator.cc +4 -0
  471. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -1
  472. package/deps/rocksdb/rocksdb/table/merger_test.cc +1 -1
  473. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +5 -0
  474. package/deps/rocksdb/rocksdb/table/merging_iterator.h +4 -3
  475. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +15 -11
  476. package/deps/rocksdb/rocksdb/table/meta_blocks.h +8 -4
  477. package/deps/rocksdb/rocksdb/table/mock_table.cc +12 -8
  478. package/deps/rocksdb/rocksdb/table/mock_table.h +1 -3
  479. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +0 -1
  480. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +29 -21
  481. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +4 -14
  482. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +7 -8
  483. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +7 -5
  484. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +15 -8
  485. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +1 -1
  486. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +75 -30
  487. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +7 -2
  488. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +76 -11
  489. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +358 -2
  490. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +93 -16
  491. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +12 -12
  492. package/deps/rocksdb/rocksdb/table/table_builder.h +12 -6
  493. package/deps/rocksdb/rocksdb/table/table_iterator.h +69 -0
  494. package/deps/rocksdb/rocksdb/table/table_properties.cc +1 -1
  495. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +8 -6
  496. package/deps/rocksdb/rocksdb/table/table_test.cc +732 -121
  497. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +3 -1
  498. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
  499. package/deps/rocksdb/rocksdb/table/unique_id.cc +2 -2
  500. package/deps/rocksdb/rocksdb/test_util/mock_time_env.cc +2 -2
  501. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +5 -5
  502. package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -6
  503. package/deps/rocksdb/rocksdb/test_util/testharness.cc +2 -4
  504. package/deps/rocksdb/rocksdb/test_util/testutil.cc +56 -32
  505. package/deps/rocksdb/rocksdb/test_util/testutil.h +57 -34
  506. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +18 -1
  507. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +1 -0
  508. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  509. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +210 -112
  510. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +3 -3
  511. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +1 -1
  512. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +22 -27
  513. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +10 -4
  514. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +328 -59
  515. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +34 -2
  516. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +64 -17
  517. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +8 -1
  518. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +3 -2
  519. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +136 -10
  520. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +4 -2
  521. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +50 -8
  522. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +51 -45
  523. package/deps/rocksdb/rocksdb/trace_replay/trace_record.cc +1 -1
  524. package/deps/rocksdb/rocksdb/trace_replay/trace_record_handler.h +10 -10
  525. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +14 -4
  526. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.h +2 -1
  527. package/deps/rocksdb/rocksdb/unreleased_history/README.txt +2 -2
  528. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +2 -4
  529. package/deps/rocksdb/rocksdb/util/atomic.h +111 -0
  530. package/deps/rocksdb/rocksdb/util/autovector.h +5 -1
  531. package/deps/rocksdb/rocksdb/util/bloom_test.cc +12 -2
  532. package/deps/rocksdb/rocksdb/util/cast_util.h +22 -0
  533. package/deps/rocksdb/rocksdb/util/coding.h +34 -38
  534. package/deps/rocksdb/rocksdb/util/coding_test.cc +1 -1
  535. package/deps/rocksdb/rocksdb/util/comparator.cc +18 -5
  536. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +1 -1
  537. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +4 -4
  538. package/deps/rocksdb/rocksdb/util/crc32c.cc +3 -6
  539. package/deps/rocksdb/rocksdb/util/crc32c.h +3 -3
  540. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +3 -4
  541. package/deps/rocksdb/rocksdb/util/crc32c_ppc.h +1 -2
  542. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +2 -4
  543. package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -4
  544. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +3 -2
  545. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +3 -3
  546. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +83 -59
  547. package/deps/rocksdb/rocksdb/util/filelock_test.cc +3 -3
  548. package/deps/rocksdb/rocksdb/util/hash.h +4 -4
  549. package/deps/rocksdb/rocksdb/util/log_write_bench.cc +3 -3
  550. package/deps/rocksdb/rocksdb/util/murmurhash.cc +1 -1
  551. package/deps/rocksdb/rocksdb/util/random.cc +3 -4
  552. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +23 -43
  553. package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +21 -16
  554. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +44 -24
  555. package/deps/rocksdb/rocksdb/util/repeatable_thread_test.cc +2 -3
  556. package/deps/rocksdb/rocksdb/util/ribbon_config.cc +2 -10
  557. package/deps/rocksdb/rocksdb/util/ribbon_impl.h +2 -2
  558. package/deps/rocksdb/rocksdb/util/slice.cc +4 -5
  559. package/deps/rocksdb/rocksdb/util/slice_test.cc +70 -4
  560. package/deps/rocksdb/rocksdb/util/status.cc +1 -1
  561. package/deps/rocksdb/rocksdb/util/stderr_logger.cc +39 -7
  562. package/deps/rocksdb/rocksdb/util/stderr_logger.h +12 -2
  563. package/deps/rocksdb/rocksdb/util/string_util.cc +31 -18
  564. package/deps/rocksdb/rocksdb/util/string_util.h +9 -9
  565. package/deps/rocksdb/rocksdb/util/string_util_test.cc +36 -0
  566. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +5 -5
  567. package/deps/rocksdb/rocksdb/util/thread_local.cc +1 -1
  568. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +3 -4
  569. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +1 -1
  570. package/deps/rocksdb/rocksdb/util/udt_util_test.cc +4 -4
  571. package/deps/rocksdb/rocksdb/util/vector_iterator.h +12 -16
  572. package/deps/rocksdb/rocksdb/util/write_batch_util.h +5 -0
  573. package/deps/rocksdb/rocksdb/util/xxhash.h +116 -116
  574. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +4 -5
  575. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_impl.h +2 -2
  576. package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +1 -2
  577. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +33 -31
  578. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +123 -22
  579. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +9 -7
  580. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.cc +3 -6
  581. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +22 -55
  582. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +113 -74
  583. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +36 -24
  584. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +27 -11
  585. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +5 -3
  586. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +68 -54
  587. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -6
  588. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +16 -16
  589. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.h +3 -2
  590. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +29 -9
  591. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +27 -14
  592. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +2 -4
  593. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +3 -3
  594. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +2 -4
  595. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +2 -4
  596. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +2 -4
  597. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +2 -4
  598. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +2 -4
  599. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +8 -8
  600. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -7
  601. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +7 -8
  602. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +2 -4
  603. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +9 -7
  604. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +7 -10
  605. package/deps/rocksdb/rocksdb/utilities/debug.cc +6 -2
  606. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +18 -11
  607. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.cc +2 -2
  608. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +18 -25
  609. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +32 -23
  610. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +51 -48
  611. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +5 -3
  612. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +2 -2
  613. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  614. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +2 -3
  615. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +3 -1
  616. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +7 -7
  617. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +10 -10
  618. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +5 -6
  619. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +5 -6
  620. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +1 -1
  621. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration.cc +1 -8
  622. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +29 -21
  623. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +14 -15
  624. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +2 -2
  625. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -1
  626. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_bench.cc +3 -3
  627. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -5
  628. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +1 -1
  629. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +2 -2
  630. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +8 -8
  631. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +4 -4
  632. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +1 -1
  633. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +6 -9
  634. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +2 -2
  635. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +1 -1
  636. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.h +6 -6
  637. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +1 -2
  638. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +2 -3
  639. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
  640. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +1 -1
  641. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
  642. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +5 -0
  643. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +1 -1
  644. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +3 -3
  645. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +1 -1
  646. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +4 -0
  647. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +4 -0
  648. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  649. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +4 -0
  650. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +12 -3
  651. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +17 -3
  652. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +3 -3
  653. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +1 -1
  654. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +3 -3
  655. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +4 -2
  656. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +1 -1
  657. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +1 -2
  658. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +2 -3
  659. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +3 -4
  660. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +442 -10
  661. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +27 -9
  662. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +28 -7
  663. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +70 -12
  664. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.h +50 -22
  665. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -1
  666. package/deps/rocksdb/rocksdb/utilities/transactions/timestamped_snapshot_test.cc +1 -1
  667. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +64 -3
  668. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +76 -17
  669. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +6 -6
  670. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +573 -77
  671. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +6 -2
  672. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +65 -3
  673. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +13 -11
  674. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +1 -0
  675. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +14 -16
  676. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +37 -24
  677. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +23 -29
  678. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +4 -2
  679. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +31 -40
  680. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +8 -6
  681. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +3 -4
  682. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +34 -18
  683. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +21 -25
  684. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +26 -5
  685. package/deps/rocksdb/rocksdb/utilities/types_util.cc +88 -0
  686. package/deps/rocksdb/rocksdb/utilities/types_util_test.cc +98 -0
  687. package/deps/rocksdb/rocksdb/utilities/util_merge_operators_test.cc +1 -1
  688. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +463 -90
  689. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +259 -76
  690. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +70 -14
  691. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +609 -10
  692. package/deps/rocksdb/rocksdb.gyp +8 -4
  693. package/index.js +18 -4
  694. package/max_rev_operator.h +2 -0
  695. package/package.json +2 -2
  696. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  697. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  698. package/util.h +29 -5
  699. package/.tap/coverage/4c642b53-6895-4ef0-9391-7c6b8d484262.json +0 -14334
  700. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +0 -57
@@ -7,6 +7,9 @@
7
7
  // Use of this source code is governed by a BSD-style license that can be
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
+ #include "rocksdb/cache.h"
11
+ #include "rocksdb/options.h"
12
+ #include "rocksdb/utilities/backup_engine.h"
10
13
  #ifdef GFLAGS
11
14
  #include "db_stress_tool/db_stress_common.h"
12
15
 
@@ -33,6 +36,11 @@ DEFINE_int64(max_key, 1 * KB * KB,
33
36
 
34
37
  DEFINE_int32(max_key_len, 3, "Maximum length of a key in 8-byte units");
35
38
 
39
+ DEFINE_uint64(max_sequential_skip_in_iterations,
40
+ ROCKSDB_NAMESPACE::Options().max_sequential_skip_in_iterations,
41
+ "Iterator will reseek after scanning this number of keys with"
42
+ "the same user key during Next/Prev().");
43
+
36
44
  DEFINE_string(key_len_percent_dist, "",
37
45
  "Percentages of keys of various lengths. For example, 1,30,69 "
38
46
  "means 1% of keys are 8 bytes, 30% are 16 bytes, and 69% are "
@@ -303,9 +311,17 @@ DEFINE_int32(clear_column_family_one_in, 1000000,
303
311
  "it again. If N == 0, never drop/create column families. "
304
312
  "When test_batches_snapshots is true, this flag has no effect");
305
313
 
306
- DEFINE_int32(get_live_files_one_in, 1000000,
307
- "With a chance of 1/N, call GetLiveFiles to verify if it returns "
308
- "correctly. If N == 0, do not call the interface.");
314
+ DEFINE_int32(
315
+ get_live_files_apis_one_in, 1000000,
316
+ "With a chance of 1/N, call GetLiveFiles(), GetLiveFilesMetaData() and "
317
+ "GetLiveFilesChecksumInfo() to verify if it returns "
318
+ "OK or violate any internal assertion. If N == 0, do not call the "
319
+ "interface.");
320
+
321
+ DEFINE_int32(
322
+ get_all_column_family_metadata_one_in, 1000000,
323
+ "With a chance of 1/N, call GetAllColumnFamilyMetaData to verify if it "
324
+ "violates any internal assertion. If N == 0, do not call the interface.");
309
325
 
310
326
  DEFINE_int32(
311
327
  get_sorted_wal_files_one_in, 1000000,
@@ -387,6 +403,8 @@ DEFINE_uint64(subcompactions, 1,
387
403
 
388
404
  DEFINE_uint64(periodic_compaction_seconds, 1000,
389
405
  "Files older than this value will be picked up for compaction.");
406
+ DEFINE_string(daily_offpeak_time_utc, "",
407
+ "If set, process periodic compactions during this period only");
390
408
 
391
409
  DEFINE_uint64(compaction_ttl, 1000,
392
410
  "Files older than TTL will be compacted to the next level.");
@@ -402,7 +420,8 @@ DEFINE_double(experimental_mempurge_threshold, 0.0,
402
420
  "Maximum estimated useful payload that triggers a "
403
421
  "mempurge process to collect memtable garbage bytes.");
404
422
 
405
- DEFINE_bool(enable_write_thread_adaptive_yield, true,
423
+ DEFINE_bool(enable_write_thread_adaptive_yield,
424
+ ROCKSDB_NAMESPACE::Options().enable_write_thread_adaptive_yield,
406
425
  "Use a yielding spin loop for brief writer thread waits.");
407
426
 
408
427
  // Options for StackableDB-based BlobDB
@@ -507,8 +526,6 @@ DEFINE_int32(prepopulate_blob_cache, 0,
507
526
  "[Integrated BlobDB] Pre-populate hot/warm blobs in blob cache. 0 "
508
527
  "to disable and 1 to insert during flush.");
509
528
 
510
- DEFINE_bool(enable_tiered_storage, false, "Set last_level_temperature");
511
-
512
529
  DEFINE_int64(preclude_last_level_data_seconds, 0,
513
530
  "Preclude data from the last level. Used with tiered storage "
514
531
  "feature to preclude new data from comacting to the last level.");
@@ -517,6 +534,10 @@ DEFINE_int64(
517
534
  preserve_internal_time_seconds, 0,
518
535
  "Preserve internal time information which is attached to each SST.");
519
536
 
537
+ DEFINE_uint32(use_timed_put_one_in, 0,
538
+ "If greater than zero, TimedPut is used per every N write ops on "
539
+ "on average.");
540
+
520
541
  static const bool FLAGS_subcompactions_dummy __attribute__((__unused__)) =
521
542
  RegisterFlagValidator(&FLAGS_subcompactions, &ValidateUint32Range);
522
543
 
@@ -735,6 +756,10 @@ DEFINE_int32(compact_range_one_in, 0,
735
756
  "If non-zero, then CompactRange() will be called once for every N "
736
757
  "operations on average. 0 indicates CompactRange() is disabled.");
737
758
 
759
+ DEFINE_int32(promote_l0_one_in, 0,
760
+ "If non-zero, then PromoteL0() will be called once for every N "
761
+ "operations on average. 0 indicates PromoteL0() is disabled.");
762
+
738
763
  DEFINE_int32(mark_for_compaction_one_file_in, 0,
739
764
  "A `TablePropertiesCollectorFactory` will be registered, which "
740
765
  "creates a `TablePropertiesCollector` with `NeedCompact()` "
@@ -745,10 +770,27 @@ DEFINE_int32(flush_one_in, 0,
745
770
  "If non-zero, then Flush() will be called once for every N ops "
746
771
  "on average. 0 indicates calls to Flush() are disabled.");
747
772
 
773
+ DEFINE_int32(key_may_exist_one_in, 0,
774
+ "If non-zero, then KeyMayExist() will be called "
775
+ "once for every N ops on average. 0 disables.");
776
+
777
+ DEFINE_int32(reset_stats_one_in, 0,
778
+ "If non-zero, then ResetStats() will be called "
779
+ "once for every N ops on average. 0 disables.");
780
+
748
781
  DEFINE_int32(pause_background_one_in, 0,
749
782
  "If non-zero, then PauseBackgroundWork()+Continue will be called "
750
783
  "once for every N ops on average. 0 disables.");
751
784
 
785
+ DEFINE_int32(disable_file_deletions_one_in, 0,
786
+ "If non-zero, then DisableFileDeletions()+Enable will be called "
787
+ "once for every N ops on average. 0 disables.");
788
+
789
+ DEFINE_int32(
790
+ disable_manual_compaction_one_in, 0,
791
+ "If non-zero, then DisableManualCompaction()+Enable will be called "
792
+ "once for every N ops on average. 0 disables.");
793
+
752
794
  DEFINE_int32(compact_range_width, 10000,
753
795
  "The width of the ranges passed to CompactRange().");
754
796
 
@@ -910,6 +952,9 @@ DEFINE_uint32(use_put_entity_one_in, 0,
910
952
  "If greater than zero, PutEntity will be used once per every N "
911
953
  "write ops on average.");
912
954
 
955
+ DEFINE_bool(use_attribute_group, false,
956
+ "If set, use the attribute_group API to put/get entities");
957
+
913
958
  DEFINE_bool(use_full_merge_v1, false,
914
959
  "On true, use a merge operator that implement the deprecated "
915
960
  "version of FullMerge");
@@ -972,6 +1017,11 @@ DEFINE_int32(get_property_one_in, 1000,
972
1017
  " properties for every N ops on average. 0 indicates that"
973
1018
  " GetProperty() will be not be called.");
974
1019
 
1020
+ DEFINE_int32(get_properties_of_all_tables_one_in, 1000,
1021
+ "If non-zero, then DB::GetPropertiesOfAllTables() will be called "
1022
+ "for every N ops on average. 0 indicates that"
1023
+ " it will be not be called.");
1024
+
975
1025
  DEFINE_bool(sync_fault_injection, false,
976
1026
  "If true, FaultInjectionTestFS will be used for write operations, "
977
1027
  "and unsynced data in DB will lost after crash. In such a case we "
@@ -1025,6 +1075,10 @@ DEFINE_uint64(user_timestamp_size, 0,
1025
1075
  "Number of bytes for a user-defined timestamp. Currently, only "
1026
1076
  "8-byte is supported");
1027
1077
 
1078
+ DEFINE_bool(persist_user_defined_timestamps, true,
1079
+ "Flag to indicate whether user-defined timestamps will be persisted"
1080
+ " during Flush");
1081
+
1028
1082
  DEFINE_int32(open_metadata_write_fault_one_in, 0,
1029
1083
  "On non-zero, enables fault injection on file metadata write "
1030
1084
  "during DB reopen.");
@@ -1125,11 +1179,9 @@ DEFINE_uint64(stats_dump_period_sec,
1125
1179
  ROCKSDB_NAMESPACE::Options().stats_dump_period_sec,
1126
1180
  "Gap between printing stats to log in seconds");
1127
1181
 
1128
- DEFINE_bool(use_io_uring, false, "Enable the use of IO uring on Posix");
1129
-
1130
1182
  DEFINE_bool(verification_only, false,
1131
1183
  "If true, tests will only execute verification step");
1132
- extern "C" bool RocksDbIOUringEnable() { return FLAGS_use_io_uring; }
1184
+ extern "C" bool RocksDbIOUringEnable() { return true; }
1133
1185
 
1134
1186
  DEFINE_uint32(memtable_max_range_deletions, 0,
1135
1187
  "If nonzero, RocksDB will try to flush the current memtable"
@@ -1142,4 +1194,210 @@ DEFINE_uint32(bottommost_file_compaction_delay, 0,
1142
1194
  DEFINE_bool(auto_readahead_size, false,
1143
1195
  "Does auto tuning of readahead_size when enabled during scans.");
1144
1196
 
1197
+ DEFINE_bool(allow_fallocate, ROCKSDB_NAMESPACE::Options().allow_fallocate,
1198
+ "Options.allow_fallocate");
1199
+
1200
+ DEFINE_int32(table_cache_numshardbits,
1201
+ ROCKSDB_NAMESPACE::Options().table_cache_numshardbits,
1202
+ "Options.table_cache_numshardbits");
1203
+
1204
+ DEFINE_uint64(log_readahead_size,
1205
+ ROCKSDB_NAMESPACE::Options().log_readahead_size,
1206
+ "Options.log_readahead_size");
1207
+
1208
+ DEFINE_uint64(bgerror_resume_retry_interval,
1209
+ ROCKSDB_NAMESPACE::Options().bgerror_resume_retry_interval,
1210
+ "Options.bgerror_resume_retry_interval");
1211
+
1212
+ DEFINE_uint64(delete_obsolete_files_period_micros,
1213
+ ROCKSDB_NAMESPACE::Options().delete_obsolete_files_period_micros,
1214
+ "Options.delete_obsolete_files_period_micros");
1215
+
1216
+ DEFINE_uint64(max_log_file_size, ROCKSDB_NAMESPACE::Options().max_log_file_size,
1217
+ "Options.max_log_file_sizes");
1218
+
1219
+ DEFINE_uint64(log_file_time_to_roll,
1220
+ ROCKSDB_NAMESPACE::Options().log_file_time_to_roll,
1221
+ "Options.log_file_time_to_roll");
1222
+
1223
+ DEFINE_bool(use_adaptive_mutex, ROCKSDB_NAMESPACE::Options().use_adaptive_mutex,
1224
+ "Options.use_adaptive_mutex");
1225
+
1226
+ DEFINE_bool(advise_random_on_open,
1227
+ ROCKSDB_NAMESPACE::Options().advise_random_on_open,
1228
+ "Options.advise_random_on_open");
1229
+
1230
+ DEFINE_uint64(WAL_ttl_seconds, ROCKSDB_NAMESPACE::Options().WAL_ttl_seconds,
1231
+ "Options.WAL_ttl_seconds");
1232
+
1233
+ DEFINE_uint64(WAL_size_limit_MB, ROCKSDB_NAMESPACE::Options().WAL_size_limit_MB,
1234
+ "Options.WAL_size_limit_MB");
1235
+
1236
+ DEFINE_bool(strict_bytes_per_sync,
1237
+ ROCKSDB_NAMESPACE::Options().strict_bytes_per_sync,
1238
+ "Options.strict_bytes_per_sync");
1239
+
1240
+ DEFINE_bool(avoid_flush_during_shutdown,
1241
+ ROCKSDB_NAMESPACE::Options().avoid_flush_during_shutdown,
1242
+ "Options.avoid_flush_during_shutdown");
1243
+
1244
+ DEFINE_bool(fill_cache, ROCKSDB_NAMESPACE::ReadOptions().fill_cache,
1245
+ "ReadOptions.fill_cache");
1246
+
1247
+ DEFINE_bool(optimize_multiget_for_io,
1248
+ ROCKSDB_NAMESPACE::ReadOptions().optimize_multiget_for_io,
1249
+ "ReadOptions.optimize_multiget_for_io");
1250
+
1251
+ DEFINE_bool(memtable_insert_hint_per_batch,
1252
+ ROCKSDB_NAMESPACE::WriteOptions().memtable_insert_hint_per_batch,
1253
+ "WriteOptions.memtable_insert_hint_per_batch");
1254
+
1255
+ DEFINE_bool(dump_malloc_stats, ROCKSDB_NAMESPACE::Options().dump_malloc_stats,
1256
+ "Options.dump_malloc_stats");
1257
+
1258
+ DEFINE_uint64(stats_history_buffer_size,
1259
+ ROCKSDB_NAMESPACE::Options().stats_history_buffer_size,
1260
+ "Options.stats_history_buffer_size");
1261
+
1262
+ DEFINE_bool(skip_stats_update_on_db_open,
1263
+ ROCKSDB_NAMESPACE::Options().skip_stats_update_on_db_open,
1264
+ "Options.skip_stats_update_on_db_open");
1265
+
1266
+ DEFINE_bool(optimize_filters_for_hits,
1267
+ ROCKSDB_NAMESPACE::Options().optimize_filters_for_hits,
1268
+ "Options.optimize_filters_for_hits");
1269
+
1270
+ DEFINE_uint64(sample_for_compression,
1271
+ ROCKSDB_NAMESPACE::Options().sample_for_compression,
1272
+ "Options.sample_for_compression");
1273
+
1274
+ DEFINE_bool(report_bg_io_stats, ROCKSDB_NAMESPACE::Options().report_bg_io_stats,
1275
+ "Options.report_bg_io_stats");
1276
+
1277
+ DEFINE_bool(
1278
+ cache_index_and_filter_blocks_with_high_priority,
1279
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions()
1280
+ .cache_index_and_filter_blocks_with_high_priority,
1281
+ "BlockBasedTableOptions.cache_index_and_filter_blocks_with_high_priority");
1282
+
1283
+ DEFINE_bool(use_delta_encoding,
1284
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().use_delta_encoding,
1285
+ "BlockBasedTableOptions.use_delta_encoding");
1286
+
1287
+ DEFINE_bool(verify_compression,
1288
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().verify_compression,
1289
+ "BlockBasedTableOptions.verify_compression");
1290
+
1291
+ DEFINE_uint32(
1292
+ read_amp_bytes_per_bit,
1293
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().read_amp_bytes_per_bit,
1294
+ "Options.read_amp_bytes_per_bit");
1295
+
1296
+ DEFINE_bool(
1297
+ enable_index_compression,
1298
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().enable_index_compression,
1299
+ "BlockBasedTableOptions.enable_index_compression");
1300
+
1301
+ DEFINE_uint32(index_shortening,
1302
+ static_cast<uint32_t>(
1303
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().index_shortening),
1304
+ "BlockBasedTableOptions.index_shortening");
1305
+
1306
+ DEFINE_uint32(metadata_charge_policy,
1307
+ static_cast<uint32_t>(ROCKSDB_NAMESPACE::ShardedCacheOptions()
1308
+ .metadata_charge_policy),
1309
+ "ShardedCacheOptions.metadata_charge_policy");
1310
+
1311
+ DEFINE_bool(use_adaptive_mutex_lru,
1312
+ ROCKSDB_NAMESPACE::LRUCacheOptions().use_adaptive_mutex,
1313
+ "LRUCacheOptions.use_adaptive_mutex");
1314
+
1315
+ DEFINE_uint32(
1316
+ compress_format_version,
1317
+ static_cast<uint32_t>(ROCKSDB_NAMESPACE::CompressedSecondaryCacheOptions()
1318
+ .compress_format_version),
1319
+ "CompressedSecondaryCacheOptions.compress_format_version");
1320
+
1321
+ DEFINE_uint64(manifest_preallocation_size,
1322
+ ROCKSDB_NAMESPACE::Options().manifest_preallocation_size,
1323
+ "Options.manifest_preallocation_size");
1324
+
1325
+ DEFINE_uint64(max_total_wal_size,
1326
+ ROCKSDB_NAMESPACE::Options().max_total_wal_size,
1327
+ "Options.max_total_wal_size");
1328
+
1329
+ DEFINE_bool(enable_checksum_handoff, false,
1330
+ "If true, include all the supported files in "
1331
+ "Options.checksum_handoff_file. Otherwise include no files.");
1332
+
1333
+ DEFINE_double(high_pri_pool_ratio,
1334
+ ROCKSDB_NAMESPACE::LRUCacheOptions().high_pri_pool_ratio,
1335
+ "LRUCacheOptions.high_pri_pool_ratio");
1336
+
1337
+ DEFINE_double(low_pri_pool_ratio,
1338
+ ROCKSDB_NAMESPACE::LRUCacheOptions().low_pri_pool_ratio,
1339
+ "LRUCacheOptions.low_pri_pool_ratio");
1340
+
1341
+ DEFINE_uint64(soft_pending_compaction_bytes_limit,
1342
+ ROCKSDB_NAMESPACE::Options().soft_pending_compaction_bytes_limit,
1343
+ "Options.soft_pending_compaction_bytes_limit");
1344
+
1345
+ DEFINE_uint64(hard_pending_compaction_bytes_limit,
1346
+ ROCKSDB_NAMESPACE::Options().hard_pending_compaction_bytes_limit,
1347
+ "Options.hard_pending_compaction_bytes_limit");
1348
+
1349
+ DEFINE_bool(enable_sst_partitioner_factory, false,
1350
+ "If true, set Options.sst_partitioner_factory to "
1351
+ "SstPartitionerFixedPrefixFactory with prefix length equal to 1");
1352
+
1353
+ DEFINE_bool(
1354
+ enable_do_not_compress_roles, false,
1355
+ "If true, set CompressedSecondaryCacheOptions.do_not_compress_roles to "
1356
+ "include all cache roles");
1357
+
1358
+ DEFINE_bool(block_align,
1359
+ ROCKSDB_NAMESPACE::BlockBasedTableOptions().block_align,
1360
+ "BlockBasedTableOptions.block_align");
1361
+
1362
+ DEFINE_uint32(
1363
+ lowest_used_cache_tier,
1364
+ static_cast<uint32_t>(ROCKSDB_NAMESPACE::Options().lowest_used_cache_tier),
1365
+ "Options.lowest_used_cache_tier");
1366
+
1367
+ DEFINE_bool(enable_custom_split_merge,
1368
+ ROCKSDB_NAMESPACE::CompressedSecondaryCacheOptions()
1369
+ .enable_custom_split_merge,
1370
+ "CompressedSecondaryCacheOptions.enable_custom_split_merge");
1371
+
1372
+ DEFINE_uint32(
1373
+ adm_policy,
1374
+ static_cast<uint32_t>(ROCKSDB_NAMESPACE::TieredCacheOptions().adm_policy),
1375
+ "TieredCacheOptions.adm_policy");
1376
+
1377
+ DEFINE_string(last_level_temperature, "kUnknown",
1378
+ "Options.last_level_temperature");
1379
+
1380
+ DEFINE_string(default_write_temperature, "kUnknown",
1381
+ "Options.default_write_temperature");
1382
+
1383
+ DEFINE_string(default_temperature, "kUnknown", "Options.default_temperature");
1384
+
1385
+ DEFINE_bool(enable_memtable_insert_with_hint_prefix_extractor,
1386
+ ROCKSDB_NAMESPACE::Options()
1387
+ .memtable_insert_with_hint_prefix_extractor != nullptr,
1388
+ "If true and FLAGS_prefix_size > 0, set "
1389
+ "Options.memtable_insert_with_hint_prefix_extractor to "
1390
+ "be Options.prefix_extractor");
1391
+
1392
+ DEFINE_bool(check_multiget_consistency, true,
1393
+ "If true, check consistency of MultiGet result by comparing it "
1394
+ "with Get's under a snapshot");
1395
+
1396
+ DEFINE_bool(check_multiget_entity_consistency, true,
1397
+ "If true, check consistency of MultiGetEntity result by comparing "
1398
+ "it GetEntity's under a snapshot");
1399
+
1400
+ DEFINE_bool(inplace_update_support,
1401
+ ROCKSDB_NAMESPACE::Options().inplace_update_support,
1402
+ "Options.inplace_update_support");
1145
1403
  #endif // GFLAGS
@@ -67,7 +67,7 @@ UniqueIdVerifier::UniqueIdVerifier(const std::string& db_name, Env* env)
67
67
  std::string id(24U, '\0');
68
68
  Slice result;
69
69
  for (;;) {
70
- s = reader->Read(id.size(), opts, &result, &id[0], /*dbg*/ nullptr);
70
+ s = reader->Read(id.size(), opts, &result, id.data(), /*dbg*/ nullptr);
71
71
  if (!s.ok()) {
72
72
  fprintf(stderr, "Error reading unique id file: %s\n",
73
73
  s.ToString().c_str());
@@ -116,9 +116,9 @@ UniqueIdVerifier::UniqueIdVerifier(const std::string& db_name, Env* env)
116
116
  new WritableFileWriter(std::move(file_writer), path_, FileOptions()));
117
117
 
118
118
  if (size > 0) {
119
- st = CopyFile(fs.get(), tmp_path, data_file_writer_, size,
120
- /*use_fsync*/ true, /*io_tracer*/ nullptr,
121
- /*temparature*/ Temperature::kHot);
119
+ st = CopyFile(fs.get(), tmp_path, Temperature::kUnknown, data_file_writer_,
120
+ size,
121
+ /*use_fsync*/ true, /*io_tracer*/ nullptr);
122
122
  if (!st.ok()) {
123
123
  fprintf(stderr, "Error copying contents of old unique id file: %s\n",
124
124
  st.ToString().c_str());
@@ -130,8 +130,13 @@ UniqueIdVerifier::UniqueIdVerifier(const std::string& db_name, Env* env)
130
130
  }
131
131
 
132
132
  UniqueIdVerifier::~UniqueIdVerifier() {
133
- IOStatus s = data_file_writer_->Close();
133
+ ThreadStatus::OperationType cur_op_type =
134
+ ThreadStatusUtil::GetThreadOperation();
135
+ ThreadStatusUtil::SetThreadOperation(ThreadStatus::OperationType::OP_UNKNOWN);
136
+ IOStatus s;
137
+ s = data_file_writer_->Close(IOOptions());
134
138
  assert(s.ok());
139
+ ThreadStatusUtil::SetThreadOperation(cur_op_type);
135
140
  }
136
141
 
137
142
  void UniqueIdVerifier::VerifyNoWrite(const std::string& id) {
@@ -153,13 +158,14 @@ void UniqueIdVerifier::Verify(const std::string& id) {
153
158
  if (id_set_.size() >= 4294967) {
154
159
  return;
155
160
  }
156
- IOStatus s = data_file_writer_->Append(Slice(id));
161
+ IOOptions opts;
162
+ IOStatus s = data_file_writer_->Append(opts, Slice(id));
157
163
  if (!s.ok()) {
158
164
  fprintf(stderr, "Error writing to unique id file: %s\n",
159
165
  s.ToString().c_str());
160
166
  assert(false);
161
167
  }
162
- s = data_file_writer_->Flush();
168
+ s = data_file_writer_->Flush(opts);
163
169
  if (!s.ok()) {
164
170
  fprintf(stderr, "Error flushing unique id file: %s\n",
165
171
  s.ToString().c_str());
@@ -23,25 +23,25 @@ class DbStressTablePropertiesCollector : public TablePropertiesCollector {
23
23
  : need_compact_(Random::GetTLSInstance()->OneInOpt(
24
24
  FLAGS_mark_for_compaction_one_file_in)) {}
25
25
 
26
- virtual Status AddUserKey(const Slice& /* key */, const Slice& /* value */,
27
- EntryType /*type*/, SequenceNumber /*seq*/,
28
- uint64_t /*file_size*/) override {
26
+ Status AddUserKey(const Slice& /* key */, const Slice& /* value */,
27
+ EntryType /*type*/, SequenceNumber /*seq*/,
28
+ uint64_t /*file_size*/) override {
29
29
  return Status::OK();
30
30
  }
31
31
 
32
- virtual Status Finish(UserCollectedProperties* /* properties */) override {
32
+ Status Finish(UserCollectedProperties* /* properties */) override {
33
33
  return Status::OK();
34
34
  }
35
35
 
36
- virtual UserCollectedProperties GetReadableProperties() const override {
36
+ UserCollectedProperties GetReadableProperties() const override {
37
37
  return UserCollectedProperties{};
38
38
  }
39
39
 
40
- virtual const char* Name() const override {
40
+ const char* Name() const override {
41
41
  return "DbStressTablePropertiesCollector";
42
42
  }
43
43
 
44
- virtual bool NeedCompact() const override { return need_compact_; }
44
+ bool NeedCompact() const override { return need_compact_; }
45
45
 
46
46
  private:
47
47
  const bool need_compact_;
@@ -52,12 +52,12 @@ class DbStressTablePropertiesCollector : public TablePropertiesCollector {
52
52
  class DbStressTablePropertiesCollectorFactory
53
53
  : public TablePropertiesCollectorFactory {
54
54
  public:
55
- virtual TablePropertiesCollector* CreateTablePropertiesCollector(
55
+ TablePropertiesCollector* CreateTablePropertiesCollector(
56
56
  TablePropertiesCollectorFactory::Context /* context */) override {
57
57
  return new DbStressTablePropertiesCollector();
58
58
  }
59
59
 
60
- virtual const char* Name() const override {
60
+ const char* Name() const override {
61
61
  return "DbStressTablePropertiesCollectorFactory";
62
62
  }
63
63
  };