@nxtedition/rocksdb 7.1.30 → 7.1.32

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 (381) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +2 -2
  2. package/deps/rocksdb/rocksdb/cache/cache_test.cc +15 -23
  3. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +0 -1
  4. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +4 -5
  5. package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -1
  6. package/deps/rocksdb/rocksdb/crash_test.mk +1 -1
  7. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +15 -0
  8. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +1 -1
  9. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -1
  10. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +78 -6
  11. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +32 -6
  12. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +8 -8
  13. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  14. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +47 -8
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +3 -3
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +105 -166
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +3 -4
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +46 -15
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +47 -26
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +17 -10
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +11 -5
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +12 -6
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -2
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +337 -103
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +43 -5
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -2
  27. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +524 -1
  28. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +164 -0
  29. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +6 -6
  30. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
  31. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5 -7
  32. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +11 -1
  33. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +4 -4
  34. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +1 -0
  35. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +2 -3
  36. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +1 -1
  37. package/deps/rocksdb/rocksdb/db/db_test2.cc +1 -1
  38. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -23
  39. package/deps/rocksdb/rocksdb/db/merge_helper.cc +30 -0
  40. package/deps/rocksdb/rocksdb/db/merge_helper.h +9 -0
  41. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +29 -9
  42. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +10 -7
  43. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +12 -8
  44. package/deps/rocksdb/rocksdb/db/version_set.cc +11 -6
  45. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +142 -0
  46. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +59 -53
  47. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +3 -2
  48. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +4 -0
  49. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +1 -3
  50. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +7 -4
  51. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +0 -2
  52. package/deps/rocksdb/rocksdb/env/env.cc +16 -19
  53. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +1 -1
  54. package/deps/rocksdb/rocksdb/env/env_chroot.cc +20 -20
  55. package/deps/rocksdb/rocksdb/env/env_encryption.cc +62 -60
  56. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  57. package/deps/rocksdb/rocksdb/env/env_test.cc +179 -176
  58. package/deps/rocksdb/rocksdb/env/file_system.cc +3 -4
  59. package/deps/rocksdb/rocksdb/env/io_posix.cc +3 -2
  60. package/deps/rocksdb/rocksdb/env/io_posix.h +1 -2
  61. package/deps/rocksdb/rocksdb/env/mock_env.h +1 -0
  62. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +4 -4
  63. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +6 -5
  64. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +2 -5
  65. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +6 -7
  66. package/deps/rocksdb/rocksdb/file/file_util.cc +1 -1
  67. package/deps/rocksdb/rocksdb/file/filename.cc +16 -17
  68. package/deps/rocksdb/rocksdb/file/filename.h +4 -5
  69. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +492 -496
  70. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +1 -1
  71. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +1 -3
  72. package/deps/rocksdb/rocksdb/file/read_write_util.cc +1 -0
  73. package/deps/rocksdb/rocksdb/file/read_write_util.h +1 -0
  74. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +6 -8
  75. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +1 -2
  76. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +4 -4
  77. package/deps/rocksdb/rocksdb/include/rocksdb/block_cache_trace_writer.h +4 -4
  78. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +166 -167
  79. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +1 -0
  80. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +0 -1
  81. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +12 -12
  82. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +2 -0
  83. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +1 -0
  84. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +1 -0
  85. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -1
  86. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +1 -0
  87. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +1 -0
  88. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -4
  89. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -3
  90. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +1 -1
  91. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -0
  92. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +1 -0
  93. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +1 -0
  94. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -0
  95. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +1 -0
  96. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +4 -4
  97. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -0
  98. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +4 -4
  99. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +1 -1
  100. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +2 -2
  101. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  102. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +3 -3
  103. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +3 -7
  104. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +20 -23
  105. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -0
  106. package/deps/rocksdb/rocksdb/logging/event_logger.cc +1 -3
  107. package/deps/rocksdb/rocksdb/logging/event_logger.h +4 -5
  108. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +2 -1
  109. package/deps/rocksdb/rocksdb/logging/log_buffer.cc +2 -3
  110. package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -2
  111. package/deps/rocksdb/rocksdb/logging/logging.h +3 -3
  112. package/deps/rocksdb/rocksdb/memory/allocator.h +1 -0
  113. package/deps/rocksdb/rocksdb/memory/arena_test.cc +1 -1
  114. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +2 -0
  115. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -0
  116. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -0
  117. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +17 -20
  118. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +13 -15
  119. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +11 -10
  120. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +3 -3
  121. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +2 -2
  122. package/deps/rocksdb/rocksdb/memtable/skiplist.h +30 -28
  123. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +4 -6
  124. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +73 -70
  125. package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +1 -1
  126. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +21 -23
  127. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -0
  128. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +24 -38
  129. package/deps/rocksdb/rocksdb/monitoring/histogram.h +10 -17
  130. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +19 -19
  131. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +22 -30
  132. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +4 -6
  133. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -0
  134. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +4 -12
  135. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +2 -3
  136. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +1 -0
  137. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +12 -14
  138. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +2 -3
  139. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -1
  140. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -3
  141. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +1 -0
  142. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
  143. package/deps/rocksdb/rocksdb/monitoring/statistics.h +7 -7
  144. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +12 -22
  145. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +7 -10
  146. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
  147. package/deps/rocksdb/rocksdb/port/lang.h +3 -1
  148. package/deps/rocksdb/rocksdb/port/likely.h +2 -2
  149. package/deps/rocksdb/rocksdb/port/mmap.h +2 -2
  150. package/deps/rocksdb/rocksdb/port/port_dirent.h +2 -2
  151. package/deps/rocksdb/rocksdb/port/port_posix.cc +32 -27
  152. package/deps/rocksdb/rocksdb/port/port_posix.h +31 -30
  153. package/deps/rocksdb/rocksdb/port/stack_trace.cc +1 -1
  154. package/deps/rocksdb/rocksdb/port/sys_time.h +1 -1
  155. package/deps/rocksdb/rocksdb/port/win/io_win.h +6 -7
  156. package/deps/rocksdb/rocksdb/port/win/port_win.h +12 -20
  157. package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +5 -4
  158. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -5
  159. package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -4
  160. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +30 -49
  161. package/deps/rocksdb/rocksdb/port/win/win_thread.h +5 -5
  162. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +51 -62
  163. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +2 -2
  164. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +4 -3
  165. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -0
  166. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -2
  167. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +2 -1
  168. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +0 -1
  169. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -4
  170. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +1 -1
  171. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -1
  172. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +2 -0
  173. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +2 -1
  174. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +28 -30
  175. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +2 -1
  176. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -3
  177. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +3 -3
  178. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -0
  179. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +4 -5
  180. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -3
  181. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -2
  182. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +1 -0
  183. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +0 -1
  184. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +1 -1
  185. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +0 -1
  186. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -6
  187. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +0 -1
  188. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +1 -0
  189. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -6
  190. package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -2
  191. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +90 -80
  192. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +5 -4
  193. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +63 -69
  194. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +2 -1
  195. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +58 -57
  196. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +3 -3
  197. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +35 -30
  198. package/deps/rocksdb/rocksdb/table/get_context.cc +16 -10
  199. package/deps/rocksdb/rocksdb/table/iter_heap.h +2 -0
  200. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -1
  201. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +1 -3
  202. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +31 -16
  203. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -6
  204. package/deps/rocksdb/rocksdb/table/multiget_context.h +5 -6
  205. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +1 -0
  206. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +1 -1
  207. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +7 -10
  208. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -1
  209. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +2 -2
  210. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +4 -3
  211. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +2 -2
  212. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -0
  213. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +10 -21
  214. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +14 -12
  215. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +2 -5
  216. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -3
  217. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -6
  218. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -33
  219. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -6
  220. package/deps/rocksdb/rocksdb/table/table_properties.cc +24 -37
  221. package/deps/rocksdb/rocksdb/table/table_reader.h +3 -2
  222. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +9 -8
  223. package/deps/rocksdb/rocksdb/table/table_test.cc +77 -82
  224. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +1 -0
  225. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
  226. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +8 -18
  227. package/deps/rocksdb/rocksdb/test_util/sync_point.h +2 -2
  228. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +4 -3
  229. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +13 -18
  230. package/deps/rocksdb/rocksdb/test_util/testharness.cc +1 -2
  231. package/deps/rocksdb/rocksdb/test_util/testutil.h +6 -7
  232. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +3 -4
  233. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +1 -1
  234. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +1 -0
  235. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -7
  236. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +3 -2
  237. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +296 -314
  238. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +6 -6
  239. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +2 -1
  240. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +57 -64
  241. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +6 -5
  242. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +2 -2
  243. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -0
  244. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  245. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +1 -2
  246. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +10 -10
  247. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -1
  248. package/deps/rocksdb/rocksdb/tools/write_stress.cc +6 -3
  249. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +12 -31
  250. package/deps/rocksdb/rocksdb/util/autovector.h +3 -6
  251. package/deps/rocksdb/rocksdb/util/autovector_test.cc +12 -12
  252. package/deps/rocksdb/rocksdb/util/bloom_test.cc +8 -12
  253. package/deps/rocksdb/rocksdb/util/coding.cc +1 -0
  254. package/deps/rocksdb/rocksdb/util/coding.h +17 -15
  255. package/deps/rocksdb/rocksdb/util/coding_test.cc +14 -15
  256. package/deps/rocksdb/rocksdb/util/comparator.cc +4 -4
  257. package/deps/rocksdb/rocksdb/util/compression.h +6 -3
  258. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +2 -2
  259. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +5 -8
  260. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +1 -1
  261. package/deps/rocksdb/rocksdb/util/crc32c.cc +202 -297
  262. package/deps/rocksdb/rocksdb/util/crc32c.h +2 -3
  263. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +2 -0
  264. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +39 -54
  265. package/deps/rocksdb/rocksdb/util/defer.h +2 -1
  266. package/deps/rocksdb/rocksdb/util/defer_test.cc +2 -1
  267. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +2 -1
  268. package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +1 -1
  269. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
  270. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +1 -1
  271. package/deps/rocksdb/rocksdb/util/filelock_test.cc +24 -29
  272. package/deps/rocksdb/rocksdb/util/filter_bench.cc +4 -4
  273. package/deps/rocksdb/rocksdb/util/hash_test.cc +2 -2
  274. package/deps/rocksdb/rocksdb/util/heap.h +5 -4
  275. package/deps/rocksdb/rocksdb/util/heap_test.cc +15 -25
  276. package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
  277. package/deps/rocksdb/rocksdb/util/murmurhash.cc +7 -2
  278. package/deps/rocksdb/rocksdb/util/murmurhash.h +4 -3
  279. package/deps/rocksdb/rocksdb/util/mutexlock.h +5 -11
  280. package/deps/rocksdb/rocksdb/util/random.cc +1 -0
  281. package/deps/rocksdb/rocksdb/util/random.h +2 -4
  282. package/deps/rocksdb/rocksdb/util/random_test.cc +2 -1
  283. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +4 -3
  284. package/deps/rocksdb/rocksdb/util/slice.cc +1 -1
  285. package/deps/rocksdb/rocksdb/util/slice_test.cc +1 -2
  286. package/deps/rocksdb/rocksdb/util/status.cc +2 -0
  287. package/deps/rocksdb/rocksdb/util/string_util.cc +2 -0
  288. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +64 -76
  289. package/deps/rocksdb/rocksdb/util/thread_local.cc +18 -32
  290. package/deps/rocksdb/rocksdb/util/thread_local.h +2 -3
  291. package/deps/rocksdb/rocksdb/util/thread_operation.h +34 -43
  292. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +54 -73
  293. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +18 -18
  294. package/deps/rocksdb/rocksdb/util/timer.h +4 -9
  295. package/deps/rocksdb/rocksdb/util/timer_queue.h +1 -0
  296. package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +1 -0
  297. package/deps/rocksdb/rocksdb/util/xxhash.cc +1 -2
  298. package/deps/rocksdb/rocksdb/util/xxhash.h +7 -4
  299. package/deps/rocksdb/rocksdb/util/xxph3.h +3 -1
  300. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +16 -24
  301. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +1 -1
  302. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +106 -104
  303. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +3 -4
  304. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +6 -6
  305. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +1 -2
  306. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +3 -4
  307. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -1
  308. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +11 -15
  309. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +1 -2
  310. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +3 -3
  311. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +12 -12
  312. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +56 -55
  313. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +91 -74
  314. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +17 -34
  315. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +21 -45
  316. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +74 -97
  317. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +17 -18
  318. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -4
  319. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +19 -19
  320. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +19 -18
  321. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +7 -10
  322. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +3 -4
  323. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +2 -2
  324. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +10 -15
  325. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +2 -1
  326. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +1 -0
  327. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +5 -3
  328. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +1 -2
  329. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +4 -5
  330. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -7
  331. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +9 -13
  332. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -0
  333. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +7 -9
  334. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +4 -5
  335. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +4 -3
  336. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +1 -1
  337. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +3 -3
  338. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +2 -4
  339. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +2 -2
  340. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +39 -50
  341. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +2 -2
  342. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +4 -3
  343. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +2 -2
  344. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +5 -7
  345. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +5 -4
  346. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
  347. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +3 -6
  348. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +1 -1
  349. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +2 -2
  350. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -1
  351. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +1 -0
  352. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -1
  353. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +1 -1
  354. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +18 -13
  355. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +1 -3
  356. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +15 -14
  357. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +14 -12
  358. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -2
  359. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +4 -7
  360. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1 -2
  361. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  362. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +1 -1
  363. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -1
  364. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +3 -2
  365. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +1 -2
  366. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +3 -2
  367. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +5 -5
  368. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -4
  369. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +2 -2
  370. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +5 -4
  371. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +1 -1
  372. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +1 -0
  373. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +3 -4
  374. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +2 -6
  375. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +80 -79
  376. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -3
  377. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +9 -17
  378. package/package.json +1 -1
  379. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  380. package/prebuilds/darwin-x64/node.napi.node +0 -0
  381. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -21,74 +21,76 @@ class SkipListRep : public MemTableRep {
21
21
  const size_t lookahead_;
22
22
 
23
23
  friend class LookaheadIterator;
24
- public:
25
- explicit SkipListRep(const MemTableRep::KeyComparator& compare,
26
- Allocator* allocator, const SliceTransform* transform,
27
- const size_t lookahead)
28
- : MemTableRep(allocator),
29
- skip_list_(compare, allocator),
30
- cmp_(compare),
31
- transform_(transform),
32
- lookahead_(lookahead) {}
33
-
34
- KeyHandle Allocate(const size_t len, char** buf) override {
35
- *buf = skip_list_.AllocateKey(len);
36
- return static_cast<KeyHandle>(*buf);
37
- }
24
+
25
+ public:
26
+ explicit SkipListRep(const MemTableRep::KeyComparator& compare,
27
+ Allocator* allocator, const SliceTransform* transform,
28
+ const size_t lookahead)
29
+ : MemTableRep(allocator),
30
+ skip_list_(compare, allocator),
31
+ cmp_(compare),
32
+ transform_(transform),
33
+ lookahead_(lookahead) {}
34
+
35
+ KeyHandle Allocate(const size_t len, char** buf) override {
36
+ *buf = skip_list_.AllocateKey(len);
37
+ return static_cast<KeyHandle>(*buf);
38
+ }
38
39
 
39
40
  // Insert key into the list.
40
41
  // REQUIRES: nothing that compares equal to key is currently in the list.
41
- void Insert(KeyHandle handle) override {
42
- skip_list_.Insert(static_cast<char*>(handle));
43
- }
42
+ void Insert(KeyHandle handle) override {
43
+ skip_list_.Insert(static_cast<char*>(handle));
44
+ }
44
45
 
45
- bool InsertKey(KeyHandle handle) override {
46
- return skip_list_.Insert(static_cast<char*>(handle));
47
- }
46
+ bool InsertKey(KeyHandle handle) override {
47
+ return skip_list_.Insert(static_cast<char*>(handle));
48
+ }
48
49
 
49
- void InsertWithHint(KeyHandle handle, void** hint) override {
50
- skip_list_.InsertWithHint(static_cast<char*>(handle), hint);
51
- }
50
+ void InsertWithHint(KeyHandle handle, void** hint) override {
51
+ skip_list_.InsertWithHint(static_cast<char*>(handle), hint);
52
+ }
52
53
 
53
- bool InsertKeyWithHint(KeyHandle handle, void** hint) override {
54
- return skip_list_.InsertWithHint(static_cast<char*>(handle), hint);
55
- }
54
+ bool InsertKeyWithHint(KeyHandle handle, void** hint) override {
55
+ return skip_list_.InsertWithHint(static_cast<char*>(handle), hint);
56
+ }
56
57
 
57
- void InsertWithHintConcurrently(KeyHandle handle, void** hint) override {
58
- skip_list_.InsertWithHintConcurrently(static_cast<char*>(handle), hint);
59
- }
58
+ void InsertWithHintConcurrently(KeyHandle handle, void** hint) override {
59
+ skip_list_.InsertWithHintConcurrently(static_cast<char*>(handle), hint);
60
+ }
60
61
 
61
- bool InsertKeyWithHintConcurrently(KeyHandle handle, void** hint) override {
62
- return skip_list_.InsertWithHintConcurrently(static_cast<char*>(handle),
63
- hint);
64
- }
62
+ bool InsertKeyWithHintConcurrently(KeyHandle handle, void** hint) override {
63
+ return skip_list_.InsertWithHintConcurrently(static_cast<char*>(handle),
64
+ hint);
65
+ }
65
66
 
66
- void InsertConcurrently(KeyHandle handle) override {
67
- skip_list_.InsertConcurrently(static_cast<char*>(handle));
68
- }
67
+ void InsertConcurrently(KeyHandle handle) override {
68
+ skip_list_.InsertConcurrently(static_cast<char*>(handle));
69
+ }
69
70
 
70
- bool InsertKeyConcurrently(KeyHandle handle) override {
71
- return skip_list_.InsertConcurrently(static_cast<char*>(handle));
72
- }
71
+ bool InsertKeyConcurrently(KeyHandle handle) override {
72
+ return skip_list_.InsertConcurrently(static_cast<char*>(handle));
73
+ }
73
74
 
74
75
  // Returns true iff an entry that compares equal to key is in the list.
75
- bool Contains(const char* key) const override {
76
- return skip_list_.Contains(key);
77
- }
78
-
79
- size_t ApproximateMemoryUsage() override {
80
- // All memory is allocated through allocator; nothing to report here
81
- return 0;
82
- }
83
-
84
- void Get(const LookupKey& k, void* callback_args,
85
- bool (*callback_func)(void* arg, const char* entry)) override {
86
- SkipListRep::Iterator iter(&skip_list_);
87
- Slice dummy_slice;
88
- for (iter.Seek(dummy_slice, k.memtable_key().data());
89
- iter.Valid() && callback_func(callback_args, iter.key()); iter.Next()) {
90
- }
91
- }
76
+ bool Contains(const char* key) const override {
77
+ return skip_list_.Contains(key);
78
+ }
79
+
80
+ size_t ApproximateMemoryUsage() override {
81
+ // All memory is allocated through allocator; nothing to report here
82
+ return 0;
83
+ }
84
+
85
+ void Get(const LookupKey& k, void* callback_args,
86
+ bool (*callback_func)(void* arg, const char* entry)) override {
87
+ SkipListRep::Iterator iter(&skip_list_);
88
+ Slice dummy_slice;
89
+ for (iter.Seek(dummy_slice, k.memtable_key().data());
90
+ iter.Valid() && callback_func(callback_args, iter.key());
91
+ iter.Next()) {
92
+ }
93
+ }
92
94
 
93
95
  uint64_t ApproximateNumEntries(const Slice& start_ikey,
94
96
  const Slice& end_ikey) override {
@@ -218,7 +220,7 @@ public:
218
220
  void SeekToLast() override { iter_.SeekToLast(); }
219
221
 
220
222
  protected:
221
- std::string tmp_; // For passing to EncodeKey
223
+ std::string tmp_; // For passing to EncodeKey
222
224
  };
223
225
 
224
226
  // Iterator over the contents of a skip list which also keeps track of the
@@ -227,8 +229,8 @@ public:
227
229
  // the target key hasn't been found.
228
230
  class LookaheadIterator : public MemTableRep::Iterator {
229
231
  public:
230
- explicit LookaheadIterator(const SkipListRep& rep) :
231
- rep_(rep), iter_(&rep_.skip_list_), prev_(iter_) {}
232
+ explicit LookaheadIterator(const SkipListRep& rep)
233
+ : rep_(rep), iter_(&rep_.skip_list_), prev_(iter_) {}
232
234
 
233
235
  ~LookaheadIterator() override {}
234
236
 
@@ -271,9 +273,9 @@ public:
271
273
  }
272
274
 
273
275
  void Seek(const Slice& internal_key, const char* memtable_key) override {
274
- const char *encoded_key =
275
- (memtable_key != nullptr) ?
276
- memtable_key : EncodeKey(&tmp_, internal_key);
276
+ const char* encoded_key = (memtable_key != nullptr)
277
+ ? memtable_key
278
+ : EncodeKey(&tmp_, internal_key);
277
279
 
278
280
  if (prev_.Valid() && rep_.cmp_(encoded_key, prev_.key()) >= 0) {
279
281
  // prev_.key() is smaller or equal to our target key; do a quick
@@ -313,7 +315,7 @@ public:
313
315
  }
314
316
 
315
317
  protected:
316
- std::string tmp_; // For passing to EncodeKey
318
+ std::string tmp_; // For passing to EncodeKey
317
319
 
318
320
  private:
319
321
  const SkipListRep& rep_;
@@ -323,19 +325,20 @@ public:
323
325
 
324
326
  MemTableRep::Iterator* GetIterator(Arena* arena = nullptr) override {
325
327
  if (lookahead_ > 0) {
326
- void *mem =
327
- arena ? arena->AllocateAligned(sizeof(SkipListRep::LookaheadIterator))
328
- : operator new(sizeof(SkipListRep::LookaheadIterator));
328
+ void* mem =
329
+ arena ? arena->AllocateAligned(sizeof(SkipListRep::LookaheadIterator))
330
+ :
331
+ operator new(sizeof(SkipListRep::LookaheadIterator));
329
332
  return new (mem) SkipListRep::LookaheadIterator(*this);
330
333
  } else {
331
- void *mem =
332
- arena ? arena->AllocateAligned(sizeof(SkipListRep::Iterator))
333
- : operator new(sizeof(SkipListRep::Iterator));
334
+ void* mem = arena ? arena->AllocateAligned(sizeof(SkipListRep::Iterator))
335
+ :
336
+ operator new(sizeof(SkipListRep::Iterator));
334
337
  return new (mem) SkipListRep::Iterator(&skip_list_);
335
338
  }
336
339
  }
337
340
  };
338
- }
341
+ } // namespace
339
342
 
340
343
  static std::unordered_map<std::string, OptionTypeInfo> skiplist_factory_info = {
341
344
  #ifndef ROCKSDB_LITE
@@ -29,5 +29,5 @@ struct Compare : private Base {
29
29
  }
30
30
  };
31
31
 
32
- }
32
+ } // namespace stl_wrappers
33
33
  } // namespace ROCKSDB_NAMESPACE
@@ -48,13 +48,14 @@ class VectorRep : public MemTableRep {
48
48
  std::shared_ptr<std::vector<const char*>> bucket_;
49
49
  std::vector<const char*>::const_iterator mutable cit_;
50
50
  const KeyComparator& compare_;
51
- std::string tmp_; // For passing to EncodeKey
51
+ std::string tmp_; // For passing to EncodeKey
52
52
  bool mutable sorted_;
53
53
  void DoSort() const;
54
+
54
55
  public:
55
56
  explicit Iterator(class VectorRep* vrep,
56
- std::shared_ptr<std::vector<const char*>> bucket,
57
- const KeyComparator& compare);
57
+ std::shared_ptr<std::vector<const char*>> bucket,
58
+ const KeyComparator& compare);
58
59
 
59
60
  // Initialize an iterator over the specified collection.
60
61
  // The returned iterator is not valid.
@@ -123,12 +124,10 @@ void VectorRep::MarkReadOnly() {
123
124
  }
124
125
 
125
126
  size_t VectorRep::ApproximateMemoryUsage() {
126
- return
127
- sizeof(bucket_) + sizeof(*bucket_) +
128
- bucket_->size() *
129
- sizeof(
130
- std::remove_reference<decltype(*bucket_)>::type::value_type
131
- );
127
+ return sizeof(bucket_) + sizeof(*bucket_) +
128
+ bucket_->size() *
129
+ sizeof(
130
+ std::remove_reference<decltype(*bucket_)>::type::value_type);
132
131
  }
133
132
 
134
133
  VectorRep::VectorRep(const KeyComparator& compare, Allocator* allocator,
@@ -142,13 +141,13 @@ VectorRep::VectorRep(const KeyComparator& compare, Allocator* allocator,
142
141
  }
143
142
 
144
143
  VectorRep::Iterator::Iterator(class VectorRep* vrep,
145
- std::shared_ptr<std::vector<const char*>> bucket,
146
- const KeyComparator& compare)
147
- : vrep_(vrep),
148
- bucket_(bucket),
149
- cit_(bucket_->end()),
150
- compare_(compare),
151
- sorted_(false) { }
144
+ std::shared_ptr<std::vector<const char*>> bucket,
145
+ const KeyComparator& compare)
146
+ : vrep_(vrep),
147
+ bucket_(bucket),
148
+ cit_(bucket_->end()),
149
+ compare_(compare),
150
+ sorted_(false) {}
152
151
 
153
152
  void VectorRep::Iterator::DoSort() const {
154
153
  // vrep is non-null means that we are working on an immutable memtable
@@ -216,12 +215,11 @@ void VectorRep::Iterator::Seek(const Slice& user_key,
216
215
  // Do binary search to find first value not less than the target
217
216
  const char* encoded_key =
218
217
  (memtable_key != nullptr) ? memtable_key : EncodeKey(&tmp_, user_key);
219
- cit_ = std::equal_range(bucket_->begin(),
220
- bucket_->end(),
221
- encoded_key,
222
- [this] (const char* a, const char* b) {
218
+ cit_ = std::equal_range(bucket_->begin(), bucket_->end(), encoded_key,
219
+ [this](const char* a, const char* b) {
223
220
  return compare_(a, b) < 0;
224
- }).first;
221
+ })
222
+ .first;
225
223
  }
226
224
 
227
225
  // Advance to the first entry with a key <= target
@@ -282,7 +280,7 @@ MemTableRep::Iterator* VectorRep::GetIterator(Arena* arena) {
282
280
  }
283
281
  } else {
284
282
  std::shared_ptr<Bucket> tmp;
285
- tmp.reset(new Bucket(*bucket_)); // make a copy
283
+ tmp.reset(new Bucket(*bucket_)); // make a copy
286
284
  if (arena == nullptr) {
287
285
  return new Iterator(nullptr, tmp, compare_);
288
286
  } else {
@@ -290,7 +288,7 @@ MemTableRep::Iterator* VectorRep::GetIterator(Arena* arena) {
290
288
  }
291
289
  }
292
290
  }
293
- } // anon namespace
291
+ } // namespace
294
292
 
295
293
  static std::unordered_map<std::string, OptionTypeInfo> vector_rep_table_info = {
296
294
  {"count",
@@ -8,6 +8,7 @@
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
10
  #include "rocksdb/write_buffer_manager.h"
11
+
11
12
  #include "test_util/testharness.h"
12
13
 
13
14
  namespace ROCKSDB_NAMESPACE {
@@ -52,11 +52,10 @@ size_t HistogramBucketMapper::IndexForValue(const uint64_t value) const {
52
52
  }
53
53
 
54
54
  namespace {
55
- const HistogramBucketMapper bucketMapper;
55
+ const HistogramBucketMapper bucketMapper;
56
56
  }
57
57
 
58
- HistogramStat::HistogramStat()
59
- : num_buckets_(bucketMapper.BucketCount()) {
58
+ HistogramStat::HistogramStat() : num_buckets_(bucketMapper.BucketCount()) {
60
59
  assert(num_buckets_ == sizeof(buckets_) / sizeof(*buckets_));
61
60
  Clear();
62
61
  }
@@ -109,12 +108,14 @@ void HistogramStat::Merge(const HistogramStat& other) {
109
108
  uint64_t old_min = min();
110
109
  uint64_t other_min = other.min();
111
110
  while (other_min < old_min &&
112
- !min_.compare_exchange_weak(old_min, other_min)) {}
111
+ !min_.compare_exchange_weak(old_min, other_min)) {
112
+ }
113
113
 
114
114
  uint64_t old_max = max();
115
115
  uint64_t other_max = other.max();
116
116
  while (other_max > old_max &&
117
- !max_.compare_exchange_weak(old_max, other_max)) {}
117
+ !max_.compare_exchange_weak(old_max, other_max)) {
118
+ }
118
119
 
119
120
  num_.fetch_add(other.num(), std::memory_order_relaxed);
120
121
  sum_.fetch_add(other.sum(), std::memory_order_relaxed);
@@ -124,9 +125,7 @@ void HistogramStat::Merge(const HistogramStat& other) {
124
125
  }
125
126
  }
126
127
 
127
- double HistogramStat::Median() const {
128
- return Percentile(50.0);
129
- }
128
+ double HistogramStat::Median() const { return Percentile(50.0); }
130
129
 
131
130
  double HistogramStat::Percentile(double p) const {
132
131
  double threshold = num() * (p / 100.0);
@@ -136,14 +135,14 @@ double HistogramStat::Percentile(double p) const {
136
135
  cumulative_sum += bucket_value;
137
136
  if (cumulative_sum >= threshold) {
138
137
  // Scale linearly within this bucket
139
- uint64_t left_point = (b == 0) ? 0 : bucketMapper.BucketLimit(b-1);
138
+ uint64_t left_point = (b == 0) ? 0 : bucketMapper.BucketLimit(b - 1);
140
139
  uint64_t right_point = bucketMapper.BucketLimit(b);
141
140
  uint64_t left_sum = cumulative_sum - bucket_value;
142
141
  uint64_t right_sum = cumulative_sum;
143
142
  double pos = 0;
144
143
  uint64_t right_left_diff = right_sum - left_sum;
145
144
  if (right_left_diff != 0) {
146
- pos = (threshold - left_sum) / right_left_diff;
145
+ pos = (threshold - left_sum) / right_left_diff;
147
146
  }
148
147
  double r = left_point + (right_point - left_point) * pos;
149
148
  uint64_t cur_min = min();
@@ -180,8 +179,7 @@ std::string HistogramStat::ToString() const {
180
179
  uint64_t cur_num = num();
181
180
  std::string r;
182
181
  char buf[1650];
183
- snprintf(buf, sizeof(buf),
184
- "Count: %" PRIu64 " Average: %.4f StdDev: %.2f\n",
182
+ snprintf(buf, sizeof(buf), "Count: %" PRIu64 " Average: %.4f StdDev: %.2f\n",
185
183
  cur_num, Average(), StandardDeviation());
186
184
  r.append(buf);
187
185
  snprintf(buf, sizeof(buf),
@@ -195,7 +193,7 @@ std::string HistogramStat::ToString() const {
195
193
  Percentile(99.99));
196
194
  r.append(buf);
197
195
  r.append("------------------------------------------------------\n");
198
- if (cur_num == 0) return r; // all buckets are empty
196
+ if (cur_num == 0) return r; // all buckets are empty
199
197
  const double mult = 100.0 / cur_num;
200
198
  uint64_t cumulative_sum = 0;
201
199
  for (unsigned int b = 0; b < num_buckets_; b++) {
@@ -205,11 +203,11 @@ std::string HistogramStat::ToString() const {
205
203
  snprintf(buf, sizeof(buf),
206
204
  "%c %7" PRIu64 ", %7" PRIu64 " ] %8" PRIu64 " %7.3f%% %7.3f%% ",
207
205
  (b == 0) ? '[' : '(',
208
- (b == 0) ? 0 : bucketMapper.BucketLimit(b-1), // left
209
- bucketMapper.BucketLimit(b), // right
210
- bucket_value, // count
211
- (mult * bucket_value), // percentage
212
- (mult * cumulative_sum)); // cumulative percentage
206
+ (b == 0) ? 0 : bucketMapper.BucketLimit(b - 1), // left
207
+ bucketMapper.BucketLimit(b), // right
208
+ bucket_value, // count
209
+ (mult * bucket_value), // percentage
210
+ (mult * cumulative_sum)); // cumulative percentage
213
211
  r.append(buf);
214
212
 
215
213
  // Add hash marks based on percentage; 20 marks for 100%.
@@ -220,7 +218,7 @@ std::string HistogramStat::ToString() const {
220
218
  return r;
221
219
  }
222
220
 
223
- void HistogramStat::Data(HistogramData * const data) const {
221
+ void HistogramStat::Data(HistogramData* const data) const {
224
222
  assert(data);
225
223
  data->median = Median();
226
224
  data->percentile95 = Percentile(95);
@@ -238,13 +236,9 @@ void HistogramImpl::Clear() {
238
236
  stats_.Clear();
239
237
  }
240
238
 
241
- bool HistogramImpl::Empty() const {
242
- return stats_.Empty();
243
- }
239
+ bool HistogramImpl::Empty() const { return stats_.Empty(); }
244
240
 
245
- void HistogramImpl::Add(uint64_t value) {
246
- stats_.Add(value);
247
- }
241
+ void HistogramImpl::Add(uint64_t value) { stats_.Add(value); }
248
242
 
249
243
  void HistogramImpl::Merge(const Histogram& other) {
250
244
  if (strcmp(Name(), other.Name()) == 0) {
@@ -257,28 +251,20 @@ void HistogramImpl::Merge(const HistogramImpl& other) {
257
251
  stats_.Merge(other.stats_);
258
252
  }
259
253
 
260
- double HistogramImpl::Median() const {
261
- return stats_.Median();
262
- }
254
+ double HistogramImpl::Median() const { return stats_.Median(); }
263
255
 
264
256
  double HistogramImpl::Percentile(double p) const {
265
257
  return stats_.Percentile(p);
266
258
  }
267
259
 
268
- double HistogramImpl::Average() const {
269
- return stats_.Average();
270
- }
260
+ double HistogramImpl::Average() const { return stats_.Average(); }
271
261
 
272
262
  double HistogramImpl::StandardDeviation() const {
273
- return stats_.StandardDeviation();
263
+ return stats_.StandardDeviation();
274
264
  }
275
265
 
276
- std::string HistogramImpl::ToString() const {
277
- return stats_.ToString();
278
- }
266
+ std::string HistogramImpl::ToString() const { return stats_.ToString(); }
279
267
 
280
- void HistogramImpl::Data(HistogramData * const data) const {
281
- stats_.Data(data);
282
- }
268
+ void HistogramImpl::Data(HistogramData* const data) const { stats_.Data(data); }
283
269
 
284
270
  } // namespace ROCKSDB_NAMESPACE
@@ -8,36 +8,29 @@
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
10
  #pragma once
11
- #include "rocksdb/statistics.h"
12
-
13
11
  #include <cassert>
14
- #include <string>
15
- #include <vector>
16
12
  #include <map>
17
13
  #include <mutex>
14
+ #include <string>
15
+ #include <vector>
16
+
17
+ #include "rocksdb/statistics.h"
18
18
 
19
19
  namespace ROCKSDB_NAMESPACE {
20
20
 
21
21
  class HistogramBucketMapper {
22
22
  public:
23
-
24
23
  HistogramBucketMapper();
25
24
 
26
25
  // converts a value to the bucket index.
27
26
  size_t IndexForValue(uint64_t value) const;
28
27
  // number of buckets required.
29
28
 
30
- size_t BucketCount() const {
31
- return bucketValues_.size();
32
- }
29
+ size_t BucketCount() const { return bucketValues_.size(); }
33
30
 
34
- uint64_t LastValue() const {
35
- return maxBucketValue_;
36
- }
31
+ uint64_t LastValue() const { return maxBucketValue_; }
37
32
 
38
- uint64_t FirstValue() const {
39
- return minBucketValue_;
40
- }
33
+ uint64_t FirstValue() const { return minBucketValue_; }
41
34
 
42
35
  uint64_t BucketLimit(const size_t bucketNumber) const {
43
36
  assert(bucketNumber < BucketCount());
@@ -88,14 +81,14 @@ struct HistogramStat {
88
81
  std::atomic_uint_fast64_t num_;
89
82
  std::atomic_uint_fast64_t sum_;
90
83
  std::atomic_uint_fast64_t sum_squares_;
91
- std::atomic_uint_fast64_t buckets_[109]; // 109==BucketMapper::BucketCount()
84
+ std::atomic_uint_fast64_t buckets_[109]; // 109==BucketMapper::BucketCount()
92
85
  const uint64_t num_buckets_;
93
86
  };
94
87
 
95
88
  class Histogram {
96
- public:
89
+ public:
97
90
  Histogram() {}
98
- virtual ~Histogram() {};
91
+ virtual ~Histogram(){};
99
92
 
100
93
  virtual void Clear() = 0;
101
94
  virtual bool Empty() const = 0;
@@ -18,14 +18,14 @@ namespace ROCKSDB_NAMESPACE {
18
18
  class HistogramTest : public testing::Test {};
19
19
 
20
20
  namespace {
21
- const double kIota = 0.1;
22
- const HistogramBucketMapper bucketMapper;
23
- std::shared_ptr<MockSystemClock> clock =
24
- std::make_shared<MockSystemClock>(SystemClock::Default());
25
- }
26
-
27
- void PopulateHistogram(Histogram& histogram,
28
- uint64_t low, uint64_t high, uint64_t loop = 1) {
21
+ const double kIota = 0.1;
22
+ const HistogramBucketMapper bucketMapper;
23
+ std::shared_ptr<MockSystemClock> clock =
24
+ std::make_shared<MockSystemClock>(SystemClock::Default());
25
+ } // namespace
26
+
27
+ void PopulateHistogram(Histogram& histogram, uint64_t low, uint64_t high,
28
+ uint64_t loop = 1) {
29
29
  Random rnd(test::RandomSeed());
30
30
  for (; loop > 0; loop--) {
31
31
  for (uint64_t i = low; i <= high; i++) {
@@ -39,7 +39,7 @@ void PopulateHistogram(Histogram& histogram,
39
39
  }
40
40
 
41
41
  void BasicOperation(Histogram& histogram) {
42
- PopulateHistogram(histogram, 1, 110, 10); // fill up to bucket [70, 110)
42
+ PopulateHistogram(histogram, 1, 110, 10); // fill up to bucket [70, 110)
43
43
 
44
44
  HistogramData data;
45
45
  histogram.Data(&data);
@@ -47,8 +47,8 @@ void BasicOperation(Histogram& histogram) {
47
47
  ASSERT_LE(fabs(histogram.Percentile(100.0) - 110.0), kIota);
48
48
  ASSERT_LE(fabs(data.percentile99 - 108.9), kIota); // 99 * 110 / 100
49
49
  ASSERT_LE(fabs(data.percentile95 - 104.5), kIota); // 95 * 110 / 100
50
- ASSERT_LE(fabs(data.median - 55.0), kIota); // 50 * 110 / 100
51
- ASSERT_EQ(data.average, 55.5); // (1 + 110) / 2
50
+ ASSERT_LE(fabs(data.median - 55.0), kIota); // 50 * 110 / 100
51
+ ASSERT_EQ(data.average, 55.5); // (1 + 110) / 2
52
52
  }
53
53
 
54
54
  void MergeHistogram(Histogram& histogram, Histogram& other) {
@@ -62,8 +62,8 @@ void MergeHistogram(Histogram& histogram, Histogram& other) {
62
62
  ASSERT_LE(fabs(histogram.Percentile(100.0) - 250.0), kIota);
63
63
  ASSERT_LE(fabs(data.percentile99 - 247.5), kIota); // 99 * 250 / 100
64
64
  ASSERT_LE(fabs(data.percentile95 - 237.5), kIota); // 95 * 250 / 100
65
- ASSERT_LE(fabs(data.median - 125.0), kIota); // 50 * 250 / 100
66
- ASSERT_EQ(data.average, 125.5); // (1 + 250) / 2
65
+ ASSERT_LE(fabs(data.median - 125.0), kIota); // 50 * 250 / 100
66
+ ASSERT_EQ(data.average, 125.5); // (1 + 250) / 2
67
67
  }
68
68
 
69
69
  void EmptyHistogram(Histogram& histogram) {
@@ -139,8 +139,8 @@ TEST_F(HistogramTest, HistogramWindowingExpire) {
139
139
  int micros_per_window = 1000000;
140
140
  uint64_t min_num_per_window = 0;
141
141
 
142
- HistogramWindowingImpl
143
- histogramWindowing(num_windows, micros_per_window, min_num_per_window);
142
+ HistogramWindowingImpl histogramWindowing(num_windows, micros_per_window,
143
+ min_num_per_window);
144
144
  histogramWindowing.TEST_UpdateClock(clock);
145
145
  PopulateHistogram(histogramWindowing, 1, 1, 100);
146
146
  clock->SleepForMicroseconds(micros_per_window);
@@ -190,10 +190,10 @@ TEST_F(HistogramTest, HistogramWindowingMerge) {
190
190
  int micros_per_window = 1000000;
191
191
  uint64_t min_num_per_window = 0;
192
192
 
193
- HistogramWindowingImpl
194
- histogramWindowing(num_windows, micros_per_window, min_num_per_window);
195
- HistogramWindowingImpl
196
- otherWindowing(num_windows, micros_per_window, min_num_per_window);
193
+ HistogramWindowingImpl histogramWindowing(num_windows, micros_per_window,
194
+ min_num_per_window);
195
+ HistogramWindowingImpl otherWindowing(num_windows, micros_per_window,
196
+ min_num_per_window);
197
197
  histogramWindowing.TEST_UpdateClock(clock);
198
198
  otherWindowing.TEST_UpdateClock(clock);
199
199