@nxtedition/rocksdb 7.1.29 → 7.1.31

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 (382) hide show
  1. package/binding.cc +34 -0
  2. package/deps/rocksdb/rocksdb/CMakeLists.txt +2 -2
  3. package/deps/rocksdb/rocksdb/cache/cache_test.cc +15 -23
  4. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +0 -1
  5. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +4 -5
  6. package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -1
  7. package/deps/rocksdb/rocksdb/crash_test.mk +1 -1
  8. package/deps/rocksdb/rocksdb/db/blob/blob_log_format.h +15 -0
  9. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +1 -1
  10. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -1
  11. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +78 -6
  12. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +32 -6
  13. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +8 -8
  14. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +47 -8
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +3 -3
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +105 -166
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +3 -4
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +46 -15
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +47 -26
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +17 -10
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +11 -5
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +12 -6
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +1 -2
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +337 -103
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +43 -5
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +1 -2
  28. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +524 -1
  29. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +164 -0
  30. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +6 -6
  31. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -0
  32. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +5 -7
  33. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +11 -1
  34. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +4 -4
  35. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +1 -0
  36. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +2 -3
  37. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +1 -1
  38. package/deps/rocksdb/rocksdb/db/db_test2.cc +1 -1
  39. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -23
  40. package/deps/rocksdb/rocksdb/db/merge_helper.cc +30 -0
  41. package/deps/rocksdb/rocksdb/db/merge_helper.h +9 -0
  42. package/deps/rocksdb/rocksdb/db/range_del_aggregator_bench.cc +29 -9
  43. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.cc +10 -7
  44. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +12 -8
  45. package/deps/rocksdb/rocksdb/db/version_set.cc +11 -6
  46. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +142 -0
  47. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +59 -53
  48. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +3 -2
  49. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +4 -0
  50. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +1 -3
  51. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +7 -4
  52. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +0 -2
  53. package/deps/rocksdb/rocksdb/env/env.cc +16 -19
  54. package/deps/rocksdb/rocksdb/env/env_basic_test.cc +1 -1
  55. package/deps/rocksdb/rocksdb/env/env_chroot.cc +20 -20
  56. package/deps/rocksdb/rocksdb/env/env_encryption.cc +62 -60
  57. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  58. package/deps/rocksdb/rocksdb/env/env_test.cc +179 -176
  59. package/deps/rocksdb/rocksdb/env/file_system.cc +3 -4
  60. package/deps/rocksdb/rocksdb/env/io_posix.cc +3 -2
  61. package/deps/rocksdb/rocksdb/env/io_posix.h +1 -2
  62. package/deps/rocksdb/rocksdb/env/mock_env.h +1 -0
  63. package/deps/rocksdb/rocksdb/env/mock_env_test.cc +4 -4
  64. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +6 -5
  65. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +2 -5
  66. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +6 -7
  67. package/deps/rocksdb/rocksdb/file/file_util.cc +1 -1
  68. package/deps/rocksdb/rocksdb/file/filename.cc +16 -17
  69. package/deps/rocksdb/rocksdb/file/filename.h +4 -5
  70. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +492 -496
  71. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +1 -1
  72. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +1 -3
  73. package/deps/rocksdb/rocksdb/file/read_write_util.cc +1 -0
  74. package/deps/rocksdb/rocksdb/file/read_write_util.h +1 -0
  75. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +6 -8
  76. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +1 -2
  77. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +4 -4
  78. package/deps/rocksdb/rocksdb/include/rocksdb/block_cache_trace_writer.h +4 -4
  79. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +166 -167
  80. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +1 -0
  81. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +0 -1
  82. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +12 -12
  83. package/deps/rocksdb/rocksdb/include/rocksdb/io_status.h +2 -0
  84. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +1 -0
  85. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +1 -0
  86. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +2 -1
  87. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +1 -0
  88. package/deps/rocksdb/rocksdb/include/rocksdb/persistent_cache.h +1 -0
  89. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +0 -4
  90. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +3 -3
  91. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +1 -1
  92. package/deps/rocksdb/rocksdb/include/rocksdb/transaction_log.h +1 -0
  93. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +1 -0
  94. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +1 -0
  95. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +1 -0
  96. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/option_change_migration.h +1 -0
  97. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +4 -4
  98. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/sim_cache.h +2 -0
  99. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +4 -4
  100. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +1 -1
  101. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +2 -2
  102. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  103. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +3 -3
  104. package/deps/rocksdb/rocksdb/logging/auto_roll_logger.h +3 -7
  105. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +20 -23
  106. package/deps/rocksdb/rocksdb/logging/env_logger_test.cc +1 -0
  107. package/deps/rocksdb/rocksdb/logging/event_logger.cc +1 -3
  108. package/deps/rocksdb/rocksdb/logging/event_logger.h +4 -5
  109. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +2 -1
  110. package/deps/rocksdb/rocksdb/logging/log_buffer.cc +2 -3
  111. package/deps/rocksdb/rocksdb/logging/log_buffer.h +3 -2
  112. package/deps/rocksdb/rocksdb/logging/logging.h +3 -3
  113. package/deps/rocksdb/rocksdb/memory/allocator.h +1 -0
  114. package/deps/rocksdb/rocksdb/memory/arena_test.cc +1 -1
  115. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +2 -0
  116. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -0
  117. package/deps/rocksdb/rocksdb/memtable/alloc_tracker.cc +1 -0
  118. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +17 -20
  119. package/deps/rocksdb/rocksdb/memtable/hash_skiplist_rep.cc +13 -15
  120. package/deps/rocksdb/rocksdb/memtable/inlineskiplist.h +11 -10
  121. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +3 -3
  122. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +2 -2
  123. package/deps/rocksdb/rocksdb/memtable/skiplist.h +30 -28
  124. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +4 -6
  125. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +73 -70
  126. package/deps/rocksdb/rocksdb/memtable/stl_wrappers.h +1 -1
  127. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +21 -23
  128. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +1 -0
  129. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +24 -38
  130. package/deps/rocksdb/rocksdb/monitoring/histogram.h +10 -17
  131. package/deps/rocksdb/rocksdb/monitoring/histogram_test.cc +19 -19
  132. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.cc +22 -30
  133. package/deps/rocksdb/rocksdb/monitoring/histogram_windowing.h +4 -6
  134. package/deps/rocksdb/rocksdb/monitoring/in_memory_stats_history.cc +1 -0
  135. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +4 -12
  136. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +2 -3
  137. package/deps/rocksdb/rocksdb/monitoring/iostats_context_test.cc +1 -0
  138. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +12 -14
  139. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +2 -3
  140. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -1
  141. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -3
  142. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +1 -0
  143. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +1 -1
  144. package/deps/rocksdb/rocksdb/monitoring/statistics.h +7 -7
  145. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +12 -22
  146. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +7 -10
  147. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +2 -2
  148. package/deps/rocksdb/rocksdb/port/lang.h +3 -1
  149. package/deps/rocksdb/rocksdb/port/likely.h +2 -2
  150. package/deps/rocksdb/rocksdb/port/mmap.h +2 -2
  151. package/deps/rocksdb/rocksdb/port/port_dirent.h +2 -2
  152. package/deps/rocksdb/rocksdb/port/port_posix.cc +32 -27
  153. package/deps/rocksdb/rocksdb/port/port_posix.h +31 -30
  154. package/deps/rocksdb/rocksdb/port/stack_trace.cc +1 -1
  155. package/deps/rocksdb/rocksdb/port/sys_time.h +1 -1
  156. package/deps/rocksdb/rocksdb/port/win/io_win.h +6 -7
  157. package/deps/rocksdb/rocksdb/port/win/port_win.h +12 -20
  158. package/deps/rocksdb/rocksdb/port/win/win_jemalloc.cc +5 -4
  159. package/deps/rocksdb/rocksdb/port/win/win_logger.cc +3 -5
  160. package/deps/rocksdb/rocksdb/port/win/win_logger.h +3 -4
  161. package/deps/rocksdb/rocksdb/port/win/win_thread.cc +30 -49
  162. package/deps/rocksdb/rocksdb/port/win/win_thread.h +5 -5
  163. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +51 -62
  164. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +2 -2
  165. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +4 -3
  166. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +1 -0
  167. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +2 -2
  168. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +2 -1
  169. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +0 -1
  170. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -4
  171. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +1 -1
  172. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -1
  173. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +2 -0
  174. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +2 -1
  175. package/deps/rocksdb/rocksdb/table/block_based/cachable_entry.h +28 -30
  176. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index.cc +2 -1
  177. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -3
  178. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +3 -3
  179. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -0
  180. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +4 -5
  181. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -3
  182. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +1 -2
  183. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +1 -0
  184. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +0 -1
  185. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +1 -1
  186. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +0 -1
  187. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -6
  188. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.h +0 -1
  189. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +1 -0
  190. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -6
  191. package/deps/rocksdb/rocksdb/table/block_fetcher.h +2 -2
  192. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +90 -80
  193. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +5 -4
  194. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +63 -69
  195. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_factory.h +2 -1
  196. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +58 -57
  197. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +3 -3
  198. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +35 -30
  199. package/deps/rocksdb/rocksdb/table/get_context.cc +16 -10
  200. package/deps/rocksdb/rocksdb/table/iter_heap.h +2 -0
  201. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -1
  202. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +1 -3
  203. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +31 -16
  204. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -6
  205. package/deps/rocksdb/rocksdb/table/multiget_context.h +5 -6
  206. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.cc +1 -0
  207. package/deps/rocksdb/rocksdb/table/plain/plain_table_bloom.cc +1 -1
  208. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +7 -10
  209. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -1
  210. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.h +2 -2
  211. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +4 -3
  212. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +2 -2
  213. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -0
  214. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +10 -21
  215. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +14 -12
  216. package/deps/rocksdb/rocksdb/table/scoped_arena_iterator.h +2 -5
  217. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +2 -3
  218. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +0 -6
  219. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +0 -33
  220. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +3 -6
  221. package/deps/rocksdb/rocksdb/table/table_properties.cc +24 -37
  222. package/deps/rocksdb/rocksdb/table/table_reader.h +3 -2
  223. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +9 -8
  224. package/deps/rocksdb/rocksdb/table/table_test.cc +77 -82
  225. package/deps/rocksdb/rocksdb/table/two_level_iterator.cc +1 -0
  226. package/deps/rocksdb/rocksdb/table/two_level_iterator.h +1 -1
  227. package/deps/rocksdb/rocksdb/test_util/sync_point.cc +8 -18
  228. package/deps/rocksdb/rocksdb/test_util/sync_point.h +2 -2
  229. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.cc +4 -3
  230. package/deps/rocksdb/rocksdb/test_util/sync_point_impl.h +13 -18
  231. package/deps/rocksdb/rocksdb/test_util/testharness.cc +1 -2
  232. package/deps/rocksdb/rocksdb/test_util/testutil.h +6 -7
  233. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +3 -4
  234. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +1 -1
  235. package/deps/rocksdb/rocksdb/tools/blob_dump.cc +1 -0
  236. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -7
  237. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +3 -2
  238. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +296 -314
  239. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +6 -6
  240. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +2 -1
  241. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +57 -64
  242. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +6 -5
  243. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +2 -2
  244. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -0
  245. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  246. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +1 -2
  247. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +10 -10
  248. package/deps/rocksdb/rocksdb/tools/trace_analyzer_test.cc +1 -1
  249. package/deps/rocksdb/rocksdb/tools/write_stress.cc +6 -3
  250. package/deps/rocksdb/rocksdb/util/aligned_buffer.h +12 -31
  251. package/deps/rocksdb/rocksdb/util/autovector.h +3 -6
  252. package/deps/rocksdb/rocksdb/util/autovector_test.cc +12 -12
  253. package/deps/rocksdb/rocksdb/util/bloom_test.cc +8 -12
  254. package/deps/rocksdb/rocksdb/util/coding.cc +1 -0
  255. package/deps/rocksdb/rocksdb/util/coding.h +17 -15
  256. package/deps/rocksdb/rocksdb/util/coding_test.cc +14 -15
  257. package/deps/rocksdb/rocksdb/util/comparator.cc +4 -4
  258. package/deps/rocksdb/rocksdb/util/compression.h +6 -3
  259. package/deps/rocksdb/rocksdb/util/compression_context_cache.cc +2 -2
  260. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.cc +5 -8
  261. package/deps/rocksdb/rocksdb/util/concurrent_task_limiter_impl.h +1 -1
  262. package/deps/rocksdb/rocksdb/util/crc32c.cc +202 -297
  263. package/deps/rocksdb/rocksdb/util/crc32c.h +2 -3
  264. package/deps/rocksdb/rocksdb/util/crc32c_arm64.h +2 -0
  265. package/deps/rocksdb/rocksdb/util/crc32c_test.cc +39 -54
  266. package/deps/rocksdb/rocksdb/util/defer.h +2 -1
  267. package/deps/rocksdb/rocksdb/util/defer_test.cc +2 -1
  268. package/deps/rocksdb/rocksdb/util/duplicate_detector.h +2 -1
  269. package/deps/rocksdb/rocksdb/util/dynamic_bloom.cc +1 -1
  270. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +3 -3
  271. package/deps/rocksdb/rocksdb/util/dynamic_bloom_test.cc +1 -1
  272. package/deps/rocksdb/rocksdb/util/filelock_test.cc +24 -29
  273. package/deps/rocksdb/rocksdb/util/filter_bench.cc +4 -4
  274. package/deps/rocksdb/rocksdb/util/hash_test.cc +2 -2
  275. package/deps/rocksdb/rocksdb/util/heap.h +5 -4
  276. package/deps/rocksdb/rocksdb/util/heap_test.cc +15 -25
  277. package/deps/rocksdb/rocksdb/util/kv_map.h +1 -1
  278. package/deps/rocksdb/rocksdb/util/murmurhash.cc +7 -2
  279. package/deps/rocksdb/rocksdb/util/murmurhash.h +4 -3
  280. package/deps/rocksdb/rocksdb/util/mutexlock.h +5 -11
  281. package/deps/rocksdb/rocksdb/util/random.cc +1 -0
  282. package/deps/rocksdb/rocksdb/util/random.h +2 -4
  283. package/deps/rocksdb/rocksdb/util/random_test.cc +2 -1
  284. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +4 -3
  285. package/deps/rocksdb/rocksdb/util/slice.cc +1 -1
  286. package/deps/rocksdb/rocksdb/util/slice_test.cc +1 -2
  287. package/deps/rocksdb/rocksdb/util/status.cc +2 -0
  288. package/deps/rocksdb/rocksdb/util/string_util.cc +2 -0
  289. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +64 -76
  290. package/deps/rocksdb/rocksdb/util/thread_local.cc +18 -32
  291. package/deps/rocksdb/rocksdb/util/thread_local.h +2 -3
  292. package/deps/rocksdb/rocksdb/util/thread_operation.h +34 -43
  293. package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +54 -73
  294. package/deps/rocksdb/rocksdb/util/threadpool_imp.h +18 -18
  295. package/deps/rocksdb/rocksdb/util/timer.h +4 -9
  296. package/deps/rocksdb/rocksdb/util/timer_queue.h +1 -0
  297. package/deps/rocksdb/rocksdb/util/timer_queue_test.cc +1 -0
  298. package/deps/rocksdb/rocksdb/util/xxhash.cc +1 -2
  299. package/deps/rocksdb/rocksdb/util/xxhash.h +7 -4
  300. package/deps/rocksdb/rocksdb/util/xxph3.h +3 -1
  301. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +16 -24
  302. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +1 -1
  303. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +106 -104
  304. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +3 -4
  305. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +6 -6
  306. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +1 -2
  307. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +3 -4
  308. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +3 -1
  309. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +11 -15
  310. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +1 -2
  311. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +3 -3
  312. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +12 -12
  313. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_format_test.cc +56 -55
  314. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_functional_test.cc +91 -74
  315. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_row_merge_test.cc +17 -34
  316. package/deps/rocksdb/rocksdb/utilities/cassandra/cassandra_serialize_test.cc +21 -45
  317. package/deps/rocksdb/rocksdb/utilities/cassandra/format.cc +74 -97
  318. package/deps/rocksdb/rocksdb/utilities/cassandra/format.h +17 -18
  319. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.cc +3 -4
  320. package/deps/rocksdb/rocksdb/utilities/cassandra/merge_operator.h +19 -19
  321. package/deps/rocksdb/rocksdb/utilities/cassandra/serialize.h +19 -18
  322. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.cc +7 -10
  323. package/deps/rocksdb/rocksdb/utilities/cassandra/test_utils.h +3 -4
  324. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.h +2 -2
  325. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +10 -15
  326. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +2 -1
  327. package/deps/rocksdb/rocksdb/utilities/convenience/info_log_finder.cc +1 -0
  328. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +5 -3
  329. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +1 -2
  330. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +4 -5
  331. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -7
  332. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +9 -13
  333. package/deps/rocksdb/rocksdb/utilities/leveldb_options/leveldb_options.cc +1 -0
  334. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.cc +7 -9
  335. package/deps/rocksdb/rocksdb/utilities/merge_operators/bytesxor.h +4 -5
  336. package/deps/rocksdb/rocksdb/utilities/merge_operators/put.cc +4 -3
  337. package/deps/rocksdb/rocksdb/utilities/merge_operators/sortlist.cc +1 -1
  338. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.cc +3 -3
  339. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend.h +2 -4
  340. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend2.h +2 -2
  341. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +39 -50
  342. package/deps/rocksdb/rocksdb/utilities/merge_operators/uint64add.cc +2 -2
  343. package/deps/rocksdb/rocksdb/utilities/merge_operators.h +4 -3
  344. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +2 -2
  345. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +5 -7
  346. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +5 -4
  347. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
  348. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +3 -6
  349. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +1 -1
  350. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +2 -2
  351. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -1
  352. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +1 -0
  353. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_test.cc +3 -1
  354. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +1 -1
  355. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.cc +18 -13
  356. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +1 -3
  357. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +15 -14
  358. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +14 -12
  359. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -2
  360. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +4 -7
  361. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +1 -2
  362. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  363. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +1 -1
  364. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +1 -1
  365. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +3 -2
  366. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +1 -2
  367. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +3 -2
  368. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +5 -5
  369. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -4
  370. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +2 -2
  371. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +5 -4
  372. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +1 -1
  373. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +1 -0
  374. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +3 -4
  375. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +2 -6
  376. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +80 -79
  377. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -3
  378. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +9 -17
  379. package/index.js +4 -0
  380. package/package.json +2 -2
  381. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  382. package/prebuilds/linux-x64/node.napi.node +0 -0
@@ -9,9 +9,11 @@
9
9
 
10
10
  #pragma once
11
11
  #include <assert.h>
12
+
12
13
  #include <atomic>
13
14
  #include <mutex>
14
15
  #include <thread>
16
+
15
17
  #include "port/port.h"
16
18
 
17
19
  namespace ROCKSDB_NAMESPACE {
@@ -28,9 +30,7 @@ namespace ROCKSDB_NAMESPACE {
28
30
 
29
31
  class MutexLock {
30
32
  public:
31
- explicit MutexLock(port::Mutex *mu) : mu_(mu) {
32
- this->mu_->Lock();
33
- }
33
+ explicit MutexLock(port::Mutex *mu) : mu_(mu) { this->mu_->Lock(); }
34
34
  // No copying allowed
35
35
  MutexLock(const MutexLock &) = delete;
36
36
  void operator=(const MutexLock &) = delete;
@@ -48,9 +48,7 @@ class MutexLock {
48
48
  //
49
49
  class ReadLock {
50
50
  public:
51
- explicit ReadLock(port::RWMutex *mu) : mu_(mu) {
52
- this->mu_->ReadLock();
53
- }
51
+ explicit ReadLock(port::RWMutex *mu) : mu_(mu) { this->mu_->ReadLock(); }
54
52
  // No copying allowed
55
53
  ReadLock(const ReadLock &) = delete;
56
54
  void operator=(const ReadLock &) = delete;
@@ -84,9 +82,7 @@ class ReadUnlock {
84
82
  //
85
83
  class WriteLock {
86
84
  public:
87
- explicit WriteLock(port::RWMutex *mu) : mu_(mu) {
88
- this->mu_->WriteLock();
89
- }
85
+ explicit WriteLock(port::RWMutex *mu) : mu_(mu) { this->mu_->WriteLock(); }
90
86
  // No copying allowed
91
87
  WriteLock(const WriteLock &) = delete;
92
88
  void operator=(const WriteLock &) = delete;
@@ -152,13 +148,11 @@ class Striped {
152
148
  public:
153
149
  Striped(size_t stripes, std::function<uint64_t(const P &)> hash)
154
150
  : stripes_(stripes), hash_(hash) {
155
-
156
151
  locks_ = reinterpret_cast<LockData<T> *>(
157
152
  port::cacheline_aligned_alloc(sizeof(LockData<T>) * stripes));
158
153
  for (size_t i = 0; i < stripes; i++) {
159
154
  new (&locks_[i]) LockData<T>();
160
155
  }
161
-
162
156
  }
163
157
 
164
158
  virtual ~Striped() {
@@ -8,6 +8,7 @@
8
8
 
9
9
  #include <stdint.h>
10
10
  #include <string.h>
11
+
11
12
  #include <thread>
12
13
  #include <utility>
13
14
 
@@ -85,9 +85,7 @@ class Random {
85
85
  // Skewed: pick "base" uniformly from range [0,max_log] and then
86
86
  // return "base" random bits. The effect is to pick a number in the
87
87
  // range [0,2^max_log-1] with exponential bias towards smaller numbers.
88
- uint32_t Skewed(int max_log) {
89
- return Uniform(1 << Uniform(max_log + 1));
90
- }
88
+ uint32_t Skewed(int max_log) { return Uniform(1 << Uniform(max_log + 1)); }
91
89
 
92
90
  // Returns a random string of length "len"
93
91
  std::string RandomString(int len);
@@ -153,7 +151,7 @@ class Random64 {
153
151
  std::mt19937_64 generator_;
154
152
 
155
153
  public:
156
- explicit Random64(uint64_t s) : generator_(s) { }
154
+ explicit Random64(uint64_t s) : generator_(s) {}
157
155
 
158
156
  // Generates the next random number
159
157
  uint64_t Next() { return generator_(); }
@@ -7,11 +7,12 @@
7
7
  // Use of this source code is governed by a BSD-style license that can be
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
+ #include "util/random.h"
11
+
10
12
  #include <cstring>
11
13
  #include <vector>
12
14
 
13
15
  #include "test_util/testharness.h"
14
- #include "util/random.h"
15
16
 
16
17
  using ROCKSDB_NAMESPACE::Random;
17
18
 
@@ -836,9 +836,10 @@ TYPED_TEST(RibbonTypeParamTest, CompactnessAndBacktrackAndFpRate) {
836
836
  double single_failure_rate = 1.0 * total_single_failures / total_singles;
837
837
  fprintf(stderr, "Add'l single, failure rate: %g\n", single_failure_rate);
838
838
  // A rough bound (one sided) based on nothing in particular
839
- double expected_single_failures =
840
- 1.0 * total_singles /
841
- (sizeof(CoeffRow) == 16 ? 128 : TypeParam::kUseSmash ? 64 : 32);
839
+ double expected_single_failures = 1.0 * total_singles /
840
+ (sizeof(CoeffRow) == 16 ? 128
841
+ : TypeParam::kUseSmash ? 64
842
+ : 32);
842
843
  EXPECT_LE(total_single_failures,
843
844
  InfrequentPoissonUpperBound(expected_single_failures));
844
845
  }
@@ -128,7 +128,7 @@ class CappedPrefixTransform : public SliceTransform {
128
128
 
129
129
  class NoopTransform : public SliceTransform {
130
130
  public:
131
- explicit NoopTransform() { }
131
+ explicit NoopTransform() {}
132
132
 
133
133
  static const char* kClassName() { return "rocksdb.Noop"; }
134
134
  const char* Name() const override { return kClassName(); }
@@ -32,8 +32,7 @@ void Multiplier(void* arg1, void* arg2) {
32
32
 
33
33
  class PinnableSliceTest : public testing::Test {
34
34
  public:
35
- void AssertSameData(const std::string& expected,
36
- const PinnableSlice& slice) {
35
+ void AssertSameData(const std::string& expected, const PinnableSlice& slice) {
37
36
  std::string got;
38
37
  got.assign(slice.data(), slice.size());
39
38
  ASSERT_EQ(expected, got);
@@ -8,11 +8,13 @@
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
10
  #include "rocksdb/status.h"
11
+
11
12
  #include <stdio.h>
12
13
  #ifdef OS_WIN
13
14
  #include <string.h>
14
15
  #endif
15
16
  #include <cstring>
17
+
16
18
  #include "port/port.h"
17
19
 
18
20
  namespace ROCKSDB_NAMESPACE {
@@ -8,6 +8,7 @@
8
8
  #include <errno.h>
9
9
  #include <stdio.h>
10
10
  #include <stdlib.h>
11
+
11
12
  #include <algorithm>
12
13
  #include <cinttypes>
13
14
  #include <cmath>
@@ -15,6 +16,7 @@
15
16
  #include <string>
16
17
  #include <utility>
17
18
  #include <vector>
19
+
18
20
  #include "port/port.h"
19
21
  #include "port/sys_time.h"
20
22
  #include "rocksdb/slice.h"
@@ -3,8 +3,8 @@
3
3
  // COPYING file in the root directory) and Apache 2.0 License
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
 
6
- #include <mutex>
7
6
  #include <condition_variable>
7
+ #include <mutex>
8
8
 
9
9
  #include "monitoring/thread_status_updater.h"
10
10
  #include "rocksdb/db.h"
@@ -17,16 +17,19 @@ namespace ROCKSDB_NAMESPACE {
17
17
  class SimulatedBackgroundTask {
18
18
  public:
19
19
  SimulatedBackgroundTask(
20
- const void* db_key, const std::string& db_name,
21
- const void* cf_key, const std::string& cf_name,
20
+ const void* db_key, const std::string& db_name, const void* cf_key,
21
+ const std::string& cf_name,
22
22
  const ThreadStatus::OperationType operation_type =
23
23
  ThreadStatus::OP_UNKNOWN,
24
- const ThreadStatus::StateType state_type =
25
- ThreadStatus::STATE_UNKNOWN)
26
- : db_key_(db_key), db_name_(db_name),
27
- cf_key_(cf_key), cf_name_(cf_name),
28
- operation_type_(operation_type), state_type_(state_type),
29
- should_run_(true), running_count_(0) {
24
+ const ThreadStatus::StateType state_type = ThreadStatus::STATE_UNKNOWN)
25
+ : db_key_(db_key),
26
+ db_name_(db_name),
27
+ cf_key_(cf_key),
28
+ cf_name_(cf_name),
29
+ operation_type_(operation_type),
30
+ state_type_(state_type),
31
+ should_run_(true),
32
+ running_count_(0) {
30
33
  Env::Default()->GetThreadStatusUpdater()->NewColumnFamilyInfo(
31
34
  db_key_, db_name_, cf_key_, cf_name_);
32
35
  }
@@ -92,24 +95,22 @@ class SimulatedBackgroundTask {
92
95
 
93
96
  class ThreadListTest : public testing::Test {
94
97
  public:
95
- ThreadListTest() {
96
- }
98
+ ThreadListTest() {}
97
99
  };
98
100
 
99
101
  TEST_F(ThreadListTest, GlobalTables) {
100
102
  // verify the global tables for operations and states are properly indexed.
101
103
  for (int type = 0; type != ThreadStatus::NUM_OP_TYPES; ++type) {
102
104
  ASSERT_EQ(global_operation_table[type].type, type);
103
- ASSERT_EQ(global_operation_table[type].name,
104
- ThreadStatus::GetOperationName(
105
- ThreadStatus::OperationType(type)));
105
+ ASSERT_EQ(
106
+ global_operation_table[type].name,
107
+ ThreadStatus::GetOperationName(ThreadStatus::OperationType(type)));
106
108
  }
107
109
 
108
110
  for (int type = 0; type != ThreadStatus::NUM_STATE_TYPES; ++type) {
109
111
  ASSERT_EQ(global_state_table[type].type, type);
110
112
  ASSERT_EQ(global_state_table[type].name,
111
- ThreadStatus::GetStateName(
112
- ThreadStatus::StateType(type)));
113
+ ThreadStatus::GetStateName(ThreadStatus::StateType(type)));
113
114
  }
114
115
 
115
116
  for (int stage = 0; stage != ThreadStatus::NUM_OP_STAGES; ++stage) {
@@ -131,18 +132,18 @@ TEST_F(ThreadListTest, SimpleColumnFamilyInfoTest) {
131
132
  env->SetBackgroundThreads(kLowPriorityThreads, Env::LOW);
132
133
  // Wait 1 second so that threads start
133
134
  Env::Default()->SleepForMicroseconds(kDelayMicros);
134
- SimulatedBackgroundTask running_task(
135
- reinterpret_cast<void*>(1234), "running",
136
- reinterpret_cast<void*>(5678), "pikachu");
135
+ SimulatedBackgroundTask running_task(reinterpret_cast<void*>(1234), "running",
136
+ reinterpret_cast<void*>(5678),
137
+ "pikachu");
137
138
 
138
139
  for (int test = 0; test < kSimulatedHighPriThreads; ++test) {
139
- env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
140
- &running_task, Env::Priority::HIGH);
140
+ env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask, &running_task,
141
+ Env::Priority::HIGH);
141
142
  }
142
143
 
143
144
  for (int test = 0; test < kSimulatedLowPriThreads; ++test) {
144
- env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
145
- &running_task, Env::Priority::LOW);
145
+ env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask, &running_task,
146
+ Env::Priority::LOW);
146
147
  }
147
148
  running_task.WaitUntilScheduled(kSimulatedHighPriThreads +
148
149
  kSimulatedLowPriThreads);
@@ -168,14 +169,10 @@ TEST_F(ThreadListTest, SimpleColumnFamilyInfoTest) {
168
169
  ASSERT_EQ(0, env->ReserveThreads(kHighPriorityThreads, Env::Priority::HIGH));
169
170
  ASSERT_EQ(0, env->ReserveThreads(kLowPriorityThreads, Env::Priority::LOW));
170
171
 
171
- ASSERT_EQ(
172
- running_count[ThreadStatus::HIGH_PRIORITY],
173
- kSimulatedHighPriThreads);
174
- ASSERT_EQ(
175
- running_count[ThreadStatus::LOW_PRIORITY],
176
- kSimulatedLowPriThreads);
177
- ASSERT_EQ(
178
- running_count[ThreadStatus::USER], 0);
172
+ ASSERT_EQ(running_count[ThreadStatus::HIGH_PRIORITY],
173
+ kSimulatedHighPriThreads);
174
+ ASSERT_EQ(running_count[ThreadStatus::LOW_PRIORITY], kSimulatedLowPriThreads);
175
+ ASSERT_EQ(running_count[ThreadStatus::USER], 0);
179
176
 
180
177
  running_task.FinishAllTasks();
181
178
  running_task.WaitUntilDone();
@@ -197,37 +194,33 @@ TEST_F(ThreadListTest, SimpleColumnFamilyInfoTest) {
197
194
  }
198
195
  }
199
196
 
200
- ASSERT_EQ(
201
- running_count[ThreadStatus::HIGH_PRIORITY], 0);
202
- ASSERT_EQ(
203
- running_count[ThreadStatus::LOW_PRIORITY], 0);
204
- ASSERT_EQ(
205
- running_count[ThreadStatus::USER], 0);
197
+ ASSERT_EQ(running_count[ThreadStatus::HIGH_PRIORITY], 0);
198
+ ASSERT_EQ(running_count[ThreadStatus::LOW_PRIORITY], 0);
199
+ ASSERT_EQ(running_count[ThreadStatus::USER], 0);
206
200
  }
207
201
 
208
202
  namespace {
209
- void UpdateStatusCounts(
210
- const std::vector<ThreadStatus>& thread_list,
211
- int operation_counts[], int state_counts[]) {
212
- for (auto thread_status : thread_list) {
213
- operation_counts[thread_status.operation_type]++;
214
- state_counts[thread_status.state_type]++;
215
- }
203
+ void UpdateStatusCounts(const std::vector<ThreadStatus>& thread_list,
204
+ int operation_counts[], int state_counts[]) {
205
+ for (auto thread_status : thread_list) {
206
+ operation_counts[thread_status.operation_type]++;
207
+ state_counts[thread_status.state_type]++;
216
208
  }
209
+ }
217
210
 
218
- void VerifyAndResetCounts(
219
- const int correct_counts[], int collected_counts[], int size) {
220
- for (int i = 0; i < size; ++i) {
221
- ASSERT_EQ(collected_counts[i], correct_counts[i]);
222
- collected_counts[i] = 0;
223
- }
211
+ void VerifyAndResetCounts(const int correct_counts[], int collected_counts[],
212
+ int size) {
213
+ for (int i = 0; i < size; ++i) {
214
+ ASSERT_EQ(collected_counts[i], correct_counts[i]);
215
+ collected_counts[i] = 0;
224
216
  }
217
+ }
225
218
 
226
- void UpdateCount(
227
- int operation_counts[], int from_event, int to_event, int amount) {
228
- operation_counts[from_event] -= amount;
229
- operation_counts[to_event] += amount;
230
- }
219
+ void UpdateCount(int operation_counts[], int from_event, int to_event,
220
+ int amount) {
221
+ operation_counts[from_event] -= amount;
222
+ operation_counts[to_event] += amount;
223
+ }
231
224
  } // namespace
232
225
 
233
226
  TEST_F(ThreadListTest, SimpleEventTest) {
@@ -236,62 +229,57 @@ TEST_F(ThreadListTest, SimpleEventTest) {
236
229
  // simulated tasks
237
230
  const int kFlushWriteTasks = 3;
238
231
  SimulatedBackgroundTask flush_write_task(
239
- reinterpret_cast<void*>(1234), "running",
240
- reinterpret_cast<void*>(5678), "pikachu",
241
- ThreadStatus::OP_FLUSH);
232
+ reinterpret_cast<void*>(1234), "running", reinterpret_cast<void*>(5678),
233
+ "pikachu", ThreadStatus::OP_FLUSH);
242
234
 
243
235
  const int kCompactionWriteTasks = 4;
244
236
  SimulatedBackgroundTask compaction_write_task(
245
- reinterpret_cast<void*>(1234), "running",
246
- reinterpret_cast<void*>(5678), "pikachu",
247
- ThreadStatus::OP_COMPACTION);
237
+ reinterpret_cast<void*>(1234), "running", reinterpret_cast<void*>(5678),
238
+ "pikachu", ThreadStatus::OP_COMPACTION);
248
239
 
249
240
  const int kCompactionReadTasks = 5;
250
241
  SimulatedBackgroundTask compaction_read_task(
251
- reinterpret_cast<void*>(1234), "running",
252
- reinterpret_cast<void*>(5678), "pikachu",
253
- ThreadStatus::OP_COMPACTION);
242
+ reinterpret_cast<void*>(1234), "running", reinterpret_cast<void*>(5678),
243
+ "pikachu", ThreadStatus::OP_COMPACTION);
254
244
 
255
245
  const int kCompactionWaitTasks = 6;
256
246
  SimulatedBackgroundTask compaction_wait_task(
257
- reinterpret_cast<void*>(1234), "running",
258
- reinterpret_cast<void*>(5678), "pikachu",
259
- ThreadStatus::OP_COMPACTION);
247
+ reinterpret_cast<void*>(1234), "running", reinterpret_cast<void*>(5678),
248
+ "pikachu", ThreadStatus::OP_COMPACTION);
260
249
 
261
250
  // setup right answers
262
251
  int correct_operation_counts[ThreadStatus::NUM_OP_TYPES] = {0};
263
- correct_operation_counts[ThreadStatus::OP_FLUSH] =
264
- kFlushWriteTasks;
252
+ correct_operation_counts[ThreadStatus::OP_FLUSH] = kFlushWriteTasks;
265
253
  correct_operation_counts[ThreadStatus::OP_COMPACTION] =
266
254
  kCompactionWriteTasks + kCompactionReadTasks + kCompactionWaitTasks;
267
255
 
268
- env->SetBackgroundThreads(
269
- correct_operation_counts[ThreadStatus::OP_FLUSH], Env::HIGH);
256
+ env->SetBackgroundThreads(correct_operation_counts[ThreadStatus::OP_FLUSH],
257
+ Env::HIGH);
270
258
  env->SetBackgroundThreads(
271
259
  correct_operation_counts[ThreadStatus::OP_COMPACTION], Env::LOW);
272
260
 
273
261
  // schedule the simulated tasks
274
262
  for (int t = 0; t < kFlushWriteTasks; ++t) {
275
- env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
276
- &flush_write_task, Env::Priority::HIGH);
263
+ env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask, &flush_write_task,
264
+ Env::Priority::HIGH);
277
265
  }
278
266
  flush_write_task.WaitUntilScheduled(kFlushWriteTasks);
279
267
 
280
268
  for (int t = 0; t < kCompactionWriteTasks; ++t) {
281
269
  env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
282
- &compaction_write_task, Env::Priority::LOW);
270
+ &compaction_write_task, Env::Priority::LOW);
283
271
  }
284
272
  compaction_write_task.WaitUntilScheduled(kCompactionWriteTasks);
285
273
 
286
274
  for (int t = 0; t < kCompactionReadTasks; ++t) {
287
275
  env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
288
- &compaction_read_task, Env::Priority::LOW);
276
+ &compaction_read_task, Env::Priority::LOW);
289
277
  }
290
278
  compaction_read_task.WaitUntilScheduled(kCompactionReadTasks);
291
279
 
292
280
  for (int t = 0; t < kCompactionWaitTasks; ++t) {
293
281
  env->Schedule(&SimulatedBackgroundTask::DoSimulatedTask,
294
- &compaction_wait_task, Env::Priority::LOW);
282
+ &compaction_wait_task, Env::Priority::LOW);
295
283
  }
296
284
  compaction_wait_task.WaitUntilScheduled(kCompactionWaitTasks);
297
285
 
@@ -8,10 +8,12 @@
8
8
  // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
9
 
10
10
  #include "util/thread_local.h"
11
- #include "util/mutexlock.h"
12
- #include "port/likely.h"
11
+
13
12
  #include <stdlib.h>
14
13
 
14
+ #include "port/likely.h"
15
+ #include "util/mutexlock.h"
16
+
15
17
  namespace ROCKSDB_NAMESPACE {
16
18
 
17
19
  struct Entry {
@@ -39,10 +41,7 @@ class StaticMeta;
39
41
  // ---------------------------------------------------
40
42
  struct ThreadData {
41
43
  explicit ThreadData(ThreadLocalPtr::StaticMeta* _inst)
42
- : entries(),
43
- next(nullptr),
44
- prev(nullptr),
45
- inst(_inst) {}
44
+ : entries(), next(nullptr), prev(nullptr), inst(_inst) {}
46
45
  std::vector<Entry> entries;
47
46
  ThreadData* next;
48
47
  ThreadData* prev;
@@ -50,7 +49,7 @@ struct ThreadData {
50
49
  };
51
50
 
52
51
  class ThreadLocalPtr::StaticMeta {
53
- public:
52
+ public:
54
53
  StaticMeta();
55
54
 
56
55
  // Return the next available Id
@@ -107,7 +106,7 @@ public:
107
106
  // should be used. One example is OnThreadExit() function.
108
107
  port::Mutex* MemberMutex() { return &mutex_; }
109
108
 
110
- private:
109
+ private:
111
110
  // Get UnrefHandler for id with acquiring mutex
112
111
  // REQUIRES: mutex locked
113
112
  UnrefHandler GetHandler(uint32_t id);
@@ -173,7 +172,7 @@ namespace wintlscleanup {
173
172
 
174
173
  // This is set to OnThreadExit in StaticMeta singleton constructor
175
174
  UnrefHandler thread_local_inclass_routine = nullptr;
176
- pthread_key_t thread_local_key = pthread_key_t (-1);
175
+ pthread_key_t thread_local_key = pthread_key_t(-1);
177
176
 
178
177
  // Static callback function to call with each thread termination.
179
178
  void NTAPI WinOnThreadExit(PVOID module, DWORD reason, PVOID reserved) {
@@ -189,7 +188,7 @@ void NTAPI WinOnThreadExit(PVOID module, DWORD reason, PVOID reserved) {
189
188
  }
190
189
  }
191
190
 
192
- } // wintlscleanup
191
+ } // namespace wintlscleanup
193
192
 
194
193
  // extern "C" suppresses C++ name mangling so we know the symbol name for the
195
194
  // linker /INCLUDE:symbol pragma above.
@@ -298,9 +297,7 @@ void ThreadLocalPtr::StaticMeta::OnThreadExit(void* ptr) {
298
297
  }
299
298
 
300
299
  ThreadLocalPtr::StaticMeta::StaticMeta()
301
- : next_instance_id_(0),
302
- head_(this),
303
- pthread_key_(0) {
300
+ : next_instance_id_(0), head_(this), pthread_key_(0) {
304
301
  if (pthread_key_create(&pthread_key_, &OnThreadExit) != 0) {
305
302
  abort();
306
303
  }
@@ -345,8 +342,7 @@ void ThreadLocalPtr::StaticMeta::AddThreadData(ThreadData* d) {
345
342
  head_.prev = d;
346
343
  }
347
344
 
348
- void ThreadLocalPtr::StaticMeta::RemoveThreadData(
349
- ThreadData* d) {
345
+ void ThreadLocalPtr::StaticMeta::RemoveThreadData(ThreadData* d) {
350
346
  Mutex()->AssertHeld();
351
347
  d->next->prev = d->prev;
352
348
  d->prev->next = d->next;
@@ -406,7 +402,7 @@ void* ThreadLocalPtr::StaticMeta::Swap(uint32_t id, void* ptr) {
406
402
  }
407
403
 
408
404
  bool ThreadLocalPtr::StaticMeta::CompareAndSwap(uint32_t id, void* ptr,
409
- void*& expected) {
405
+ void*& expected) {
410
406
  auto* tls = GetThreadLocal();
411
407
  if (UNLIKELY(id >= tls->entries.size())) {
412
408
  // Need mutex to protect entries access within ReclaimId
@@ -418,7 +414,7 @@ bool ThreadLocalPtr::StaticMeta::CompareAndSwap(uint32_t id, void* ptr,
418
414
  }
419
415
 
420
416
  void ThreadLocalPtr::StaticMeta::Scrape(uint32_t id, autovector<void*>* ptrs,
421
- void* const replacement) {
417
+ void* const replacement) {
422
418
  MutexLock l(Mutex());
423
419
  for (ThreadData* t = head_.next; t != &head_; t = t->next) {
424
420
  if (id < t->entries.size()) {
@@ -443,9 +439,7 @@ void ThreadLocalPtr::StaticMeta::Fold(uint32_t id, FoldFunc func, void* res) {
443
439
  }
444
440
  }
445
441
 
446
- uint32_t ThreadLocalPtr::TEST_PeekId() {
447
- return Instance()->PeekId();
448
- }
442
+ uint32_t ThreadLocalPtr::TEST_PeekId() { return Instance()->PeekId(); }
449
443
 
450
444
  void ThreadLocalPtr::StaticMeta::SetHandler(uint32_t id, UnrefHandler handler) {
451
445
  MutexLock l(Mutex());
@@ -504,21 +498,13 @@ ThreadLocalPtr::ThreadLocalPtr(UnrefHandler handler)
504
498
  }
505
499
  }
506
500
 
507
- ThreadLocalPtr::~ThreadLocalPtr() {
508
- Instance()->ReclaimId(id_);
509
- }
501
+ ThreadLocalPtr::~ThreadLocalPtr() { Instance()->ReclaimId(id_); }
510
502
 
511
- void* ThreadLocalPtr::Get() const {
512
- return Instance()->Get(id_);
513
- }
503
+ void* ThreadLocalPtr::Get() const { return Instance()->Get(id_); }
514
504
 
515
- void ThreadLocalPtr::Reset(void* ptr) {
516
- Instance()->Reset(id_, ptr);
517
- }
505
+ void ThreadLocalPtr::Reset(void* ptr) { Instance()->Reset(id_, ptr); }
518
506
 
519
- void* ThreadLocalPtr::Swap(void* ptr) {
520
- return Instance()->Swap(id_, ptr);
521
- }
507
+ void* ThreadLocalPtr::Swap(void* ptr) { return Instance()->Swap(id_, ptr); }
522
508
 
523
509
  bool ThreadLocalPtr::CompareAndSwap(void* ptr, void*& expected) {
524
510
  return Instance()->CompareAndSwap(id_, ptr, expected);
@@ -15,8 +15,8 @@
15
15
  #include <unordered_map>
16
16
  #include <vector>
17
17
 
18
- #include "util/autovector.h"
19
18
  #include "port/port.h"
19
+ #include "util/autovector.h"
20
20
 
21
21
  namespace ROCKSDB_NAMESPACE {
22
22
 
@@ -91,8 +91,7 @@ class ThreadLocalPtr {
91
91
 
92
92
  class StaticMeta;
93
93
 
94
- private:
95
-
94
+ private:
96
95
  static StaticMeta* Instance();
97
96
 
98
97
  const uint32_t id_;