@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
@@ -26,6 +26,7 @@
26
26
  #endif
27
27
 
28
28
  #include "cache/lru_cache.h"
29
+ #include "db/attribute_group_iterator_impl.h"
29
30
  #include "db/blob/blob_index.h"
30
31
  #include "db/blob/blob_log_format.h"
31
32
  #include "db/db_impl/db_impl.h"
@@ -59,7 +60,6 @@
59
60
  #include "rocksdb/utilities/optimistic_transaction_db.h"
60
61
  #include "rocksdb/utilities/write_batch_with_index.h"
61
62
  #include "table/mock_table.h"
62
- #include "table/scoped_arena_iterator.h"
63
63
  #include "test_util/sync_point.h"
64
64
  #include "test_util/testharness.h"
65
65
  #include "test_util/testutil.h"
@@ -678,8 +678,8 @@ TEST_F(DBTest, ReadFromPersistedTier) {
678
678
  multiget_cfs.push_back(handles_[1]);
679
679
  multiget_cfs.push_back(handles_[1]);
680
680
  std::vector<Slice> multiget_keys;
681
- multiget_keys.push_back("foo");
682
- multiget_keys.push_back("bar");
681
+ multiget_keys.emplace_back("foo");
682
+ multiget_keys.emplace_back("bar");
683
683
  std::vector<std::string> multiget_values;
684
684
  for (int i = 0; i < 2; i++) {
685
685
  bool batched = i == 0;
@@ -714,7 +714,7 @@ TEST_F(DBTest, ReadFromPersistedTier) {
714
714
 
715
715
  // Expect same result in multiget
716
716
  multiget_cfs.push_back(handles_[1]);
717
- multiget_keys.push_back("rocksdb");
717
+ multiget_keys.emplace_back("rocksdb");
718
718
  multiget_values.clear();
719
719
 
720
720
  for (int i = 0; i < 2; i++) {
@@ -2517,7 +2517,7 @@ TEST_F(DBTest, SnapshotFiles) {
2517
2517
  }
2518
2518
 
2519
2519
  // release file snapshot
2520
- ASSERT_OK(dbfull()->EnableFileDeletions(/*force*/ false));
2520
+ ASSERT_OK(dbfull()->EnableFileDeletions());
2521
2521
  // overwrite one key, this key should not appear in the snapshot
2522
2522
  std::vector<std::string> extras;
2523
2523
  for (unsigned int i = 0; i < 1; i++) {
@@ -2701,7 +2701,7 @@ TEST_F(DBTest, PurgeInfoLogs) {
2701
2701
  ASSERT_OK(env_->GetChildren(
2702
2702
  options.db_log_dir.empty() ? dbname_ : options.db_log_dir, &files));
2703
2703
  int info_log_count = 0;
2704
- for (std::string file : files) {
2704
+ for (const std::string& file : files) {
2705
2705
  if (file.find("LOG") != std::string::npos) {
2706
2706
  info_log_count++;
2707
2707
  }
@@ -2719,7 +2719,7 @@ TEST_F(DBTest, PurgeInfoLogs) {
2719
2719
  if (mode == 1) {
2720
2720
  // Cleaning up
2721
2721
  ASSERT_OK(env_->GetChildren(options.db_log_dir, &files));
2722
- for (std::string file : files) {
2722
+ for (const std::string& file : files) {
2723
2723
  ASSERT_OK(env_->DeleteFile(options.db_log_dir + "/" + file));
2724
2724
  }
2725
2725
  ASSERT_OK(env_->DeleteDir(options.db_log_dir));
@@ -2747,7 +2747,7 @@ struct MTThread {
2747
2747
  };
2748
2748
 
2749
2749
  static void MTThreadBody(void* arg) {
2750
- MTThread* t = reinterpret_cast<MTThread*>(arg);
2750
+ MTThread* t = static_cast<MTThread*>(arg);
2751
2751
  int id = t->id;
2752
2752
  DB* db = t->state->test->db_;
2753
2753
  int counter = 0;
@@ -2879,7 +2879,9 @@ class MultiThreadedDBTest
2879
2879
  };
2880
2880
 
2881
2881
  TEST_P(MultiThreadedDBTest, MultiThreaded) {
2882
- if (option_config_ == kPipelinedWrite) return;
2882
+ if (option_config_ == kPipelinedWrite) {
2883
+ return;
2884
+ }
2883
2885
  anon::OptionsOverride options_override;
2884
2886
  options_override.skip_policy = kSkipNoSnapshot;
2885
2887
  Options options = CurrentOptions(options_override);
@@ -2930,7 +2932,7 @@ struct GCThread {
2930
2932
  };
2931
2933
 
2932
2934
  static void GCThreadBody(void* arg) {
2933
- GCThread* t = reinterpret_cast<GCThread*>(arg);
2935
+ GCThread* t = static_cast<GCThread*>(arg);
2934
2936
  int id = t->id;
2935
2937
  DB* db = t->db;
2936
2938
  WriteOptions wo;
@@ -2978,7 +2980,7 @@ TEST_F(DBTest, GroupCommitTest) {
2978
2980
 
2979
2981
  Iterator* itr = db_->NewIterator(ReadOptions());
2980
2982
  itr->SeekToFirst();
2981
- for (auto x : expected_db) {
2983
+ for (const auto& x : expected_db) {
2982
2984
  ASSERT_TRUE(itr->Valid());
2983
2985
  ASSERT_EQ(itr->key().ToString(), x);
2984
2986
  ASSERT_EQ(itr->value().ToString(), x);
@@ -3096,28 +3098,28 @@ class ModelDB : public DB {
3096
3098
  }
3097
3099
  using DB::Get;
3098
3100
  Status Get(const ReadOptions& /*options*/, ColumnFamilyHandle* /*cf*/,
3099
- const Slice& key, PinnableSlice* /*value*/) override {
3101
+ const Slice& key, PinnableSlice* /*value*/,
3102
+ std::string* /*timestamp*/) override {
3100
3103
  return Status::NotSupported(key);
3101
3104
  }
3102
3105
 
3103
3106
  using DB::GetMergeOperands;
3104
- virtual Status GetMergeOperands(
3105
- const ReadOptions& /*options*/, ColumnFamilyHandle* /*column_family*/,
3106
- const Slice& key, PinnableSlice* /*slice*/,
3107
- GetMergeOperandsOptions* /*merge_operands_options*/,
3108
- int* /*number_of_operands*/) override {
3107
+ Status GetMergeOperands(const ReadOptions& /*options*/,
3108
+ ColumnFamilyHandle* /*column_family*/,
3109
+ const Slice& key, PinnableSlice* /*slice*/,
3110
+ GetMergeOperandsOptions* /*merge_operands_options*/,
3111
+ int* /*number_of_operands*/) override {
3109
3112
  return Status::NotSupported(key);
3110
3113
  }
3111
3114
 
3112
3115
  using DB::MultiGet;
3113
- std::vector<Status> MultiGet(
3114
- const ReadOptions& /*options*/,
3115
- const std::vector<ColumnFamilyHandle*>& /*column_family*/,
3116
- const std::vector<Slice>& keys,
3117
- std::vector<std::string>* /*values*/) override {
3118
- std::vector<Status> s(keys.size(),
3119
- Status::NotSupported("Not implemented."));
3120
- return s;
3116
+ void MultiGet(const ReadOptions& /*options*/, const size_t num_keys,
3117
+ ColumnFamilyHandle** /*column_families*/, const Slice* /*keys*/,
3118
+ PinnableSlice* /*values*/, std::string* /*timestamps*/,
3119
+ Status* statuses, const bool /*sorted_input*/) override {
3120
+ for (size_t i = 0; i < num_keys; ++i) {
3121
+ statuses[i] = Status::NotSupported("Not implemented.");
3122
+ }
3121
3123
  }
3122
3124
 
3123
3125
  using DB::IngestExternalFile;
@@ -3135,7 +3137,7 @@ class ModelDB : public DB {
3135
3137
  }
3136
3138
 
3137
3139
  using DB::CreateColumnFamilyWithImport;
3138
- virtual Status CreateColumnFamilyWithImport(
3140
+ Status CreateColumnFamilyWithImport(
3139
3141
  const ColumnFamilyOptions& /*options*/,
3140
3142
  const std::string& /*column_family_name*/,
3141
3143
  const ImportColumnFamilyOptions& /*import_options*/,
@@ -3150,9 +3152,9 @@ class ModelDB : public DB {
3150
3152
  }
3151
3153
 
3152
3154
  using DB::ClipColumnFamily;
3153
- virtual Status ClipColumnFamily(ColumnFamilyHandle* /*column_family*/,
3154
- const Slice& /*begin*/,
3155
- const Slice& /*end*/) override {
3155
+ Status ClipColumnFamily(ColumnFamilyHandle* /*column_family*/,
3156
+ const Slice& /*begin*/,
3157
+ const Slice& /*end*/) override {
3156
3158
  return Status::NotSupported("Not implemented.");
3157
3159
  }
3158
3160
 
@@ -3188,7 +3190,7 @@ class ModelDB : public DB {
3188
3190
  return new ModelIter(saved, true);
3189
3191
  } else {
3190
3192
  const KVMap* snapshot_state =
3191
- &(reinterpret_cast<const ModelSnapshot*>(options.snapshot)->map_);
3193
+ &(static_cast<const ModelSnapshot*>(options.snapshot)->map_);
3192
3194
  return new ModelIter(snapshot_state, false);
3193
3195
  }
3194
3196
  }
@@ -3197,6 +3199,21 @@ class ModelDB : public DB {
3197
3199
  std::vector<Iterator*>* /*iterators*/) override {
3198
3200
  return Status::NotSupported("Not supported yet");
3199
3201
  }
3202
+
3203
+ std::unique_ptr<Iterator> NewCoalescingIterator(
3204
+ const ReadOptions& /*options*/,
3205
+ const std::vector<ColumnFamilyHandle*>& /*column_families*/) override {
3206
+ return std::unique_ptr<Iterator>(
3207
+ NewErrorIterator(Status::NotSupported("Not supported yet")));
3208
+ }
3209
+
3210
+ std::unique_ptr<AttributeGroupIterator> NewAttributeGroupIterator(
3211
+ const ReadOptions& /*options*/,
3212
+ const std::vector<ColumnFamilyHandle*>& /*column_families*/) override {
3213
+ return NewAttributeGroupErrorIterator(
3214
+ Status::NotSupported("Not supported yet"));
3215
+ }
3216
+
3200
3217
  const Snapshot* GetSnapshot() override {
3201
3218
  ModelSnapshot* snapshot = new ModelSnapshot;
3202
3219
  snapshot->map_ = map_;
@@ -3204,7 +3221,7 @@ class ModelDB : public DB {
3204
3221
  }
3205
3222
 
3206
3223
  void ReleaseSnapshot(const Snapshot* snapshot) override {
3207
- delete reinterpret_cast<const ModelSnapshot*>(snapshot);
3224
+ delete static_cast<const ModelSnapshot*>(snapshot);
3208
3225
  }
3209
3226
 
3210
3227
  Status Write(const WriteOptions& /*options*/, WriteBatch* batch) override {
@@ -3302,11 +3319,11 @@ class ModelDB : public DB {
3302
3319
  return Status::NotSupported("Not supported operation.");
3303
3320
  }
3304
3321
 
3305
- void EnableManualCompaction() override { return; }
3322
+ void EnableManualCompaction() override {}
3306
3323
 
3307
- void DisableManualCompaction() override { return; }
3324
+ void DisableManualCompaction() override {}
3308
3325
 
3309
- virtual Status WaitForCompact(
3326
+ Status WaitForCompact(
3310
3327
  const WaitForCompactOptions& /* wait_for_compact_options */) override {
3311
3328
  return Status::OK();
3312
3329
  }
@@ -3352,7 +3369,7 @@ class ModelDB : public DB {
3352
3369
 
3353
3370
  Status DisableFileDeletions() override { return Status::OK(); }
3354
3371
 
3355
- Status EnableFileDeletions(bool /*force*/) override { return Status::OK(); }
3372
+ Status EnableFileDeletions() override { return Status::OK(); }
3356
3373
 
3357
3374
  Status GetLiveFiles(std::vector<std::string>&, uint64_t* /*size*/,
3358
3375
  bool /*flush_memtable*/ = true) override {
@@ -3379,8 +3396,7 @@ class ModelDB : public DB {
3379
3396
  return Status::OK();
3380
3397
  }
3381
3398
 
3382
- virtual Status GetCreationTimeOfOldestFile(
3383
- uint64_t* /*creation_time*/) override {
3399
+ Status GetCreationTimeOfOldestFile(uint64_t* /*creation_time*/) override {
3384
3400
  return Status::NotSupported();
3385
3401
  }
3386
3402
 
@@ -3425,7 +3441,9 @@ class ModelDB : public DB {
3425
3441
  ModelIter(const KVMap* map, bool owned)
3426
3442
  : map_(map), owned_(owned), iter_(map_->end()) {}
3427
3443
  ~ModelIter() override {
3428
- if (owned_) delete map_;
3444
+ if (owned_) {
3445
+ delete map_;
3446
+ }
3429
3447
  }
3430
3448
  bool Valid() const override { return iter_ != map_->end(); }
3431
3449
  void SeekToFirst() override { iter_ = map_->begin(); }
@@ -3463,7 +3481,7 @@ class ModelDB : public DB {
3463
3481
  };
3464
3482
  const Options options_;
3465
3483
  KVMap map_;
3466
- std::string name_ = "";
3484
+ std::string name_;
3467
3485
  };
3468
3486
 
3469
3487
  #if !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
@@ -3611,8 +3629,12 @@ TEST_P(DBTestRandomized, Randomized) {
3611
3629
  // Save a snapshot from each DB this time that we'll use next
3612
3630
  // time we compare things, to make sure the current state is
3613
3631
  // preserved with the snapshot
3614
- if (model_snap != nullptr) model.ReleaseSnapshot(model_snap);
3615
- if (db_snap != nullptr) db_->ReleaseSnapshot(db_snap);
3632
+ if (model_snap != nullptr) {
3633
+ model.ReleaseSnapshot(model_snap);
3634
+ }
3635
+ if (db_snap != nullptr) {
3636
+ db_->ReleaseSnapshot(db_snap);
3637
+ }
3616
3638
 
3617
3639
  Reopen(options);
3618
3640
  ASSERT_TRUE(CompareIterators(step, &model, db_, nullptr, nullptr));
@@ -3621,8 +3643,12 @@ TEST_P(DBTestRandomized, Randomized) {
3621
3643
  db_snap = db_->GetSnapshot();
3622
3644
  }
3623
3645
  }
3624
- if (model_snap != nullptr) model.ReleaseSnapshot(model_snap);
3625
- if (db_snap != nullptr) db_->ReleaseSnapshot(db_snap);
3646
+ if (model_snap != nullptr) {
3647
+ model.ReleaseSnapshot(model_snap);
3648
+ }
3649
+ if (db_snap != nullptr) {
3650
+ db_->ReleaseSnapshot(db_snap);
3651
+ }
3626
3652
  }
3627
3653
  #endif // !defined(ROCKSDB_VALGRIND_RUN) || defined(ROCKSDB_FULL_VALGRIND_RUN)
3628
3654
 
@@ -3818,6 +3844,9 @@ TEST_P(DBTestWithParam, FIFOCompactionTest) {
3818
3844
  } else {
3819
3845
  CompactRangeOptions cro;
3820
3846
  cro.exclusive_manual_compaction = exclusive_manual_compaction_;
3847
+ cro.change_level = true;
3848
+ ASSERT_TRUE(db_->CompactRange(cro, nullptr, nullptr).IsNotSupported());
3849
+ cro.change_level = false;
3821
3850
  ASSERT_OK(db_->CompactRange(cro, nullptr, nullptr));
3822
3851
  }
3823
3852
  // only 5 files should survive
@@ -4249,9 +4278,9 @@ TEST_F(DBTest, DISABLED_RateLimitingTest) {
4249
4278
  // (e.g, RateLimiter::GetTotalPendingRequests())
4250
4279
  class MockedRateLimiterWithNoOptionalAPIImpl : public RateLimiter {
4251
4280
  public:
4252
- MockedRateLimiterWithNoOptionalAPIImpl() {}
4281
+ MockedRateLimiterWithNoOptionalAPIImpl() = default;
4253
4282
 
4254
- ~MockedRateLimiterWithNoOptionalAPIImpl() override {}
4283
+ ~MockedRateLimiterWithNoOptionalAPIImpl() override = default;
4255
4284
 
4256
4285
  void SetBytesPerSecond(int64_t bytes_per_second) override {
4257
4286
  (void)bytes_per_second;
@@ -4648,17 +4677,27 @@ TEST_F(DBTest, DynamicMemtableOptions) {
4648
4677
 
4649
4678
  #ifdef ROCKSDB_USING_THREAD_STATUS
4650
4679
  namespace {
4651
- void VerifyOperationCount(Env* env, ThreadStatus::OperationType op_type,
4680
+ bool VerifyOperationCount(Env* env, ThreadStatus::OperationType op_type,
4652
4681
  int expected_count) {
4653
4682
  int op_count = 0;
4654
4683
  std::vector<ThreadStatus> thread_list;
4655
- ASSERT_OK(env->GetThreadList(&thread_list));
4656
- for (auto thread : thread_list) {
4684
+ EXPECT_OK(env->GetThreadList(&thread_list));
4685
+ for (const auto& thread : thread_list) {
4657
4686
  if (thread.operation_type == op_type) {
4658
4687
  op_count++;
4659
4688
  }
4660
4689
  }
4661
- ASSERT_EQ(op_count, expected_count);
4690
+ if (op_count != expected_count) {
4691
+ fprintf(stderr, "op_count: %d, expected_count %d\n", op_count,
4692
+ expected_count);
4693
+ for (const auto& thread : thread_list) {
4694
+ fprintf(stderr, "thread id: %" PRIu64 ", thread status: %s, cf_name %s\n",
4695
+ thread.thread_id,
4696
+ thread.GetOperationName(thread.operation_type).c_str(),
4697
+ thread.cf_name.c_str());
4698
+ }
4699
+ }
4700
+ return op_count == expected_count;
4662
4701
  }
4663
4702
  } // anonymous namespace
4664
4703
 
@@ -4693,7 +4732,7 @@ TEST_F(DBTest, GetThreadStatus) {
4693
4732
  s = env_->GetThreadList(&thread_list);
4694
4733
  ASSERT_OK(s);
4695
4734
  memset(thread_type_counts, 0, sizeof(thread_type_counts));
4696
- for (auto thread : thread_list) {
4735
+ for (const auto& thread : thread_list) {
4697
4736
  ASSERT_LT(thread.thread_type, ThreadStatus::NUM_THREAD_TYPES);
4698
4737
  thread_type_counts[thread.thread_type]++;
4699
4738
  }
@@ -4758,11 +4797,11 @@ TEST_F(DBTest, ThreadStatusFlush) {
4758
4797
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
4759
4798
 
4760
4799
  CreateAndReopenWithCF({"pikachu"}, options);
4761
- VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 0);
4800
+ ASSERT_TRUE(VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 0));
4762
4801
 
4763
4802
  ASSERT_OK(Put(1, "foo", "v1"));
4764
4803
  ASSERT_EQ("v1", Get(1, "foo"));
4765
- VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 0);
4804
+ ASSERT_TRUE(VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 0));
4766
4805
 
4767
4806
  uint64_t num_running_flushes = 0;
4768
4807
  ASSERT_TRUE(db_->GetIntProperty(DB::Properties::kNumRunningFlushes,
@@ -4775,7 +4814,7 @@ TEST_F(DBTest, ThreadStatusFlush) {
4775
4814
  // The first sync point is to make sure there's one flush job
4776
4815
  // running when we perform VerifyOperationCount().
4777
4816
  TEST_SYNC_POINT("DBTest::ThreadStatusFlush:1");
4778
- VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 1);
4817
+ ASSERT_TRUE(VerifyOperationCount(env_, ThreadStatus::OP_FLUSH, 1));
4779
4818
  ASSERT_TRUE(db_->GetIntProperty(DB::Properties::kNumRunningFlushes,
4780
4819
  &num_running_flushes));
4781
4820
  ASSERT_EQ(num_running_flushes, 1);
@@ -4786,17 +4825,11 @@ TEST_F(DBTest, ThreadStatusFlush) {
4786
4825
  }
4787
4826
 
4788
4827
  TEST_P(DBTestWithParam, ThreadStatusSingleCompaction) {
4789
- const int kTestKeySize = 16;
4790
4828
  const int kTestValueSize = 984;
4791
- const int kEntrySize = kTestKeySize + kTestValueSize;
4792
4829
  const int kEntriesPerBuffer = 100;
4793
4830
  Options options;
4794
4831
  options.create_if_missing = true;
4795
- options.write_buffer_size = kEntrySize * kEntriesPerBuffer;
4796
4832
  options.compaction_style = kCompactionStyleLevel;
4797
- options.target_file_size_base = options.write_buffer_size;
4798
- options.max_bytes_for_level_base = options.target_file_size_base * 2;
4799
- options.max_bytes_for_level_multiplier = 2;
4800
4833
  options.compression = kNoCompression;
4801
4834
  options = CurrentOptions(options);
4802
4835
  options.env = env_;
@@ -4831,7 +4864,7 @@ TEST_P(DBTestWithParam, ThreadStatusSingleCompaction) {
4831
4864
  &num_running_compactions));
4832
4865
  ASSERT_EQ(num_running_compactions, 0);
4833
4866
  TEST_SYNC_POINT("DBTest::ThreadStatusSingleCompaction:0");
4834
- ASSERT_GE(NumTableFilesAtLevel(0),
4867
+ ASSERT_EQ(NumTableFilesAtLevel(0),
4835
4868
  options.level0_file_num_compaction_trigger);
4836
4869
 
4837
4870
  // This makes sure at least one compaction is running.
@@ -4839,10 +4872,18 @@ TEST_P(DBTestWithParam, ThreadStatusSingleCompaction) {
4839
4872
 
4840
4873
  if (options.enable_thread_tracking) {
4841
4874
  // expecting one single L0 to L1 compaction
4842
- VerifyOperationCount(env_, ThreadStatus::OP_COMPACTION, 1);
4875
+ // This test is flaky and fails here.
4876
+ bool match = VerifyOperationCount(env_, ThreadStatus::OP_COMPACTION, 1);
4877
+ if (!match) {
4878
+ ASSERT_TRUE(db_->GetIntProperty(DB::Properties::kNumRunningCompactions,
4879
+ &num_running_compactions));
4880
+ fprintf(stderr, "running compaction: %" PRIu64 " lsm state: %s\n",
4881
+ num_running_compactions, FilesPerLevel().c_str());
4882
+ }
4883
+ ASSERT_TRUE(match);
4843
4884
  } else {
4844
4885
  // If thread tracking is not enabled, compaction count should be 0.
4845
- VerifyOperationCount(env_, ThreadStatus::OP_COMPACTION, 0);
4886
+ ASSERT_TRUE(VerifyOperationCount(env_, ThreadStatus::OP_COMPACTION, 0));
4846
4887
  }
4847
4888
  ASSERT_TRUE(db_->GetIntProperty(DB::Properties::kNumRunningCompactions,
4848
4889
  &num_running_compactions));
@@ -4974,7 +5015,7 @@ TEST_P(DBTestWithParam, PreShutdownMultipleCompaction) {
4974
5015
  }
4975
5016
 
4976
5017
  ASSERT_OK(env_->GetThreadList(&thread_list));
4977
- for (auto thread : thread_list) {
5018
+ for (const auto& thread : thread_list) {
4978
5019
  operation_count[thread.operation_type]++;
4979
5020
  }
4980
5021
 
@@ -4999,7 +5040,7 @@ TEST_P(DBTestWithParam, PreShutdownMultipleCompaction) {
4999
5040
  operation_count[i] = 0;
5000
5041
  }
5001
5042
  ASSERT_OK(env_->GetThreadList(&thread_list));
5002
- for (auto thread : thread_list) {
5043
+ for (const auto& thread : thread_list) {
5003
5044
  operation_count[thread.operation_type]++;
5004
5045
  }
5005
5046
  ASSERT_EQ(operation_count[ThreadStatus::OP_COMPACTION], 0);
@@ -5061,7 +5102,7 @@ TEST_P(DBTestWithParam, PreShutdownCompactionMiddle) {
5061
5102
  }
5062
5103
 
5063
5104
  ASSERT_OK(env_->GetThreadList(&thread_list));
5064
- for (auto thread : thread_list) {
5105
+ for (const auto& thread : thread_list) {
5065
5106
  operation_count[thread.operation_type]++;
5066
5107
  }
5067
5108
 
@@ -5086,7 +5127,7 @@ TEST_P(DBTestWithParam, PreShutdownCompactionMiddle) {
5086
5127
  operation_count[i] = 0;
5087
5128
  }
5088
5129
  ASSERT_OK(env_->GetThreadList(&thread_list));
5089
- for (auto thread : thread_list) {
5130
+ for (const auto& thread : thread_list) {
5090
5131
  operation_count[thread.operation_type]++;
5091
5132
  }
5092
5133
  ASSERT_EQ(operation_count[ThreadStatus::OP_COMPACTION], 0);
@@ -5171,7 +5212,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel) {
5171
5212
  }));
5172
5213
  ColumnFamilyMetaData cf_meta;
5173
5214
  db_->GetColumnFamilyMetaData(&cf_meta);
5174
- for (auto file : cf_meta.levels[4].files) {
5215
+ for (const auto& file : cf_meta.levels[4].files) {
5175
5216
  listener->SetExpectedFileName(dbname_ + file.name);
5176
5217
  ASSERT_OK(dbfull()->DeleteFile(file.name));
5177
5218
  }
@@ -5229,7 +5270,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel2) {
5229
5270
  std::atomic<int> num_no(0);
5230
5271
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
5231
5272
  "LevelCompactionPicker::PickCompaction:Return", [&](void* arg) {
5232
- Compaction* compaction = reinterpret_cast<Compaction*>(arg);
5273
+ Compaction* compaction = static_cast<Compaction*>(arg);
5233
5274
  if (compaction->output_level() == 4) {
5234
5275
  ASSERT_TRUE(compaction->output_compression() == kLZ4Compression);
5235
5276
  num_lz4.fetch_add(1);
@@ -5237,7 +5278,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel2) {
5237
5278
  });
5238
5279
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
5239
5280
  "FlushJob::WriteLevel0Table:output_compression", [&](void* arg) {
5240
- auto* compression = reinterpret_cast<CompressionType*>(arg);
5281
+ auto* compression = static_cast<CompressionType*>(arg);
5241
5282
  ASSERT_TRUE(*compression == kNoCompression);
5242
5283
  num_no.fetch_add(1);
5243
5284
  });
@@ -5271,7 +5312,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel2) {
5271
5312
  num_no.store(0);
5272
5313
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
5273
5314
  "LevelCompactionPicker::PickCompaction:Return", [&](void* arg) {
5274
- Compaction* compaction = reinterpret_cast<Compaction*>(arg);
5315
+ Compaction* compaction = static_cast<Compaction*>(arg);
5275
5316
  if (compaction->output_level() == 4 && compaction->start_level() == 3) {
5276
5317
  ASSERT_TRUE(compaction->output_compression() == kZlibCompression);
5277
5318
  num_zlib.fetch_add(1);
@@ -5282,7 +5323,7 @@ TEST_F(DBTest, DynamicLevelCompressionPerLevel2) {
5282
5323
  });
5283
5324
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
5284
5325
  "FlushJob::WriteLevel0Table:output_compression", [&](void* arg) {
5285
- auto* compression = reinterpret_cast<CompressionType*>(arg);
5326
+ auto* compression = static_cast<CompressionType*>(arg);
5286
5327
  ASSERT_TRUE(*compression == kNoCompression);
5287
5328
  num_no.fetch_add(1);
5288
5329
  });
@@ -5669,7 +5710,7 @@ TEST_F(DBTest, FileCreationRandomFailure) {
5669
5710
 
5670
5711
  std::vector<std::string> values;
5671
5712
  for (int i = 0; i < kTestSize; ++i) {
5672
- values.push_back("NOT_FOUND");
5713
+ values.emplace_back("NOT_FOUND");
5673
5714
  }
5674
5715
  for (int j = 0; j < kTotalIteration; ++j) {
5675
5716
  if (j == kRandomFailureTest) {
@@ -5795,13 +5836,6 @@ TEST_F(DBTest, DynamicMiscOptions) {
5795
5836
  ASSERT_OK(dbfull()->TEST_GetLatestMutableCFOptions(handles_[1],
5796
5837
  &mutable_cf_options));
5797
5838
  ASSERT_TRUE(mutable_cf_options.report_bg_io_stats);
5798
- ASSERT_TRUE(mutable_cf_options.check_flush_compaction_key_order);
5799
-
5800
- ASSERT_OK(dbfull()->SetOptions(
5801
- handles_[1], {{"check_flush_compaction_key_order", "false"}}));
5802
- ASSERT_OK(dbfull()->TEST_GetLatestMutableCFOptions(handles_[1],
5803
- &mutable_cf_options));
5804
- ASSERT_FALSE(mutable_cf_options.check_flush_compaction_key_order);
5805
5839
  }
5806
5840
 
5807
5841
  TEST_F(DBTest, L0L1L2AndUpHitCounter) {
@@ -6181,7 +6215,7 @@ TEST_F(DBTest, SuggestCompactRangeTest) {
6181
6215
  return "CompactionFilterFactoryGetContext";
6182
6216
  }
6183
6217
  static bool IsManual(CompactionFilterFactory* compaction_filter_factory) {
6184
- return reinterpret_cast<CompactionFilterFactoryGetContext*>(
6218
+ return static_cast<CompactionFilterFactoryGetContext*>(
6185
6219
  compaction_filter_factory)
6186
6220
  ->saved_context.is_manual_compaction;
6187
6221
  }
@@ -7064,9 +7098,8 @@ TEST_F(DBTest, PinnableSliceAndRowCache) {
7064
7098
  ASSERT_OK(Flush());
7065
7099
 
7066
7100
  ASSERT_EQ(Get("foo"), "bar");
7067
- ASSERT_EQ(
7068
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7069
- 1);
7101
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7102
+ 1);
7070
7103
 
7071
7104
  {
7072
7105
  PinnableSlice pin_slice;
@@ -7074,13 +7107,11 @@ TEST_F(DBTest, PinnableSliceAndRowCache) {
7074
7107
  ASSERT_EQ(pin_slice.ToString(), "bar");
7075
7108
  // Entry is already in cache, lookup will remove the element from lru
7076
7109
  ASSERT_EQ(
7077
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7078
- 0);
7110
+ static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(), 0);
7079
7111
  }
7080
7112
  // After PinnableSlice destruction element is added back in LRU
7081
- ASSERT_EQ(
7082
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7083
- 1);
7113
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7114
+ 1);
7084
7115
  }
7085
7116
 
7086
7117
  TEST_F(DBTest, ReusePinnableSlice) {
@@ -7093,9 +7124,8 @@ TEST_F(DBTest, ReusePinnableSlice) {
7093
7124
  ASSERT_OK(Flush());
7094
7125
 
7095
7126
  ASSERT_EQ(Get("foo"), "bar");
7096
- ASSERT_EQ(
7097
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7098
- 1);
7127
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7128
+ 1);
7099
7129
 
7100
7130
  {
7101
7131
  PinnableSlice pin_slice;
@@ -7105,17 +7135,15 @@ TEST_F(DBTest, ReusePinnableSlice) {
7105
7135
 
7106
7136
  // Entry is already in cache, lookup will remove the element from lru
7107
7137
  ASSERT_EQ(
7108
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7109
- 0);
7138
+ static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(), 0);
7110
7139
  }
7111
7140
  // After PinnableSlice destruction element is added back in LRU
7112
- ASSERT_EQ(
7113
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7114
- 1);
7141
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7142
+ 1);
7115
7143
 
7116
7144
  {
7117
7145
  std::vector<Slice> multiget_keys;
7118
- multiget_keys.push_back("foo");
7146
+ multiget_keys.emplace_back("foo");
7119
7147
  std::vector<PinnableSlice> multiget_values(1);
7120
7148
  std::vector<Status> statuses({Status::NotFound()});
7121
7149
  ReadOptions ropt;
@@ -7130,19 +7158,17 @@ TEST_F(DBTest, ReusePinnableSlice) {
7130
7158
 
7131
7159
  // Entry is already in cache, lookup will remove the element from lru
7132
7160
  ASSERT_EQ(
7133
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7134
- 0);
7161
+ static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(), 0);
7135
7162
  }
7136
7163
  // After PinnableSlice destruction element is added back in LRU
7137
- ASSERT_EQ(
7138
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7139
- 1);
7164
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7165
+ 1);
7140
7166
 
7141
7167
  {
7142
7168
  std::vector<ColumnFamilyHandle*> multiget_cfs;
7143
7169
  multiget_cfs.push_back(dbfull()->DefaultColumnFamily());
7144
7170
  std::vector<Slice> multiget_keys;
7145
- multiget_keys.push_back("foo");
7171
+ multiget_keys.emplace_back("foo");
7146
7172
  std::vector<PinnableSlice> multiget_values(1);
7147
7173
  std::vector<Status> statuses({Status::NotFound()});
7148
7174
  ReadOptions ropt;
@@ -7157,13 +7183,11 @@ TEST_F(DBTest, ReusePinnableSlice) {
7157
7183
 
7158
7184
  // Entry is already in cache, lookup will remove the element from lru
7159
7185
  ASSERT_EQ(
7160
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7161
- 0);
7186
+ static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(), 0);
7162
7187
  }
7163
7188
  // After PinnableSlice destruction element is added back in LRU
7164
- ASSERT_EQ(
7165
- reinterpret_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7166
- 1);
7189
+ ASSERT_EQ(static_cast<LRUCache*>(options.row_cache.get())->TEST_GetLRUSize(),
7190
+ 1);
7167
7191
  }
7168
7192
 
7169
7193
 
@@ -7322,7 +7346,7 @@ TEST_F(DBTest, CreationTimeOfOldestFile) {
7322
7346
 
7323
7347
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
7324
7348
  "PropertyBlockBuilder::AddTableProperty:Start", [&](void* arg) {
7325
- TableProperties* props = reinterpret_cast<TableProperties*>(arg);
7349
+ TableProperties* props = static_cast<TableProperties*>(arg);
7326
7350
  if (set_file_creation_time_to_zero) {
7327
7351
  if (idx == 0) {
7328
7352
  props->file_creation_time = 0;