@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
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @author Deon Nicholas (dnicholas@fb.com)
12
12
  * Copyright 2013 Facebook, Inc.
13
- */
13
+ */
14
14
 
15
15
  #include "utilities/merge_operators/string_append/stringappend.h"
16
16
 
@@ -27,7 +27,6 @@
27
27
  #include "utilities/merge_operators.h"
28
28
  #include "utilities/merge_operators/string_append/stringappend2.h"
29
29
 
30
-
31
30
  namespace ROCKSDB_NAMESPACE {
32
31
 
33
32
  // Path to the database on file system
@@ -73,18 +72,15 @@ std::shared_ptr<DB> OpenTtlDb(const std::string& delim) {
73
72
  /// Supports Append(list, string) and Get(list)
74
73
  class StringLists {
75
74
  public:
76
-
77
- //Constructor: specifies the rocksdb db
75
+ // Constructor: specifies the rocksdb db
78
76
  /* implicit */
79
77
  StringLists(std::shared_ptr<DB> db)
80
- : db_(db),
81
- merge_option_(),
82
- get_option_() {
78
+ : db_(db), merge_option_(), get_option_() {
83
79
  assert(db);
84
80
  }
85
81
 
86
82
  // Append string val onto the list defined by key; return true on success
87
- bool Append(const std::string& key, const std::string& val){
83
+ bool Append(const std::string& key, const std::string& val) {
88
84
  Slice valSlice(val.data(), val.size());
89
85
  auto s = db_->Merge(merge_option_, key, valSlice);
90
86
 
@@ -97,8 +93,8 @@ class StringLists {
97
93
  }
98
94
 
99
95
  // Returns the list of strings associated with key (or "" if does not exist)
100
- bool Get(const std::string& key, std::string* const result){
101
- assert(result != nullptr); // we should have a place to store the result
96
+ bool Get(const std::string& key, std::string* const result) {
97
+ assert(result != nullptr); // we should have a place to store the result
102
98
  auto s = db_->Get(get_option_, key, result);
103
99
 
104
100
  if (s.ok()) {
@@ -106,10 +102,10 @@ class StringLists {
106
102
  }
107
103
 
108
104
  // Either key does not exist, or there is some error.
109
- *result = ""; // Always return empty string (just for convention)
105
+ *result = ""; // Always return empty string (just for convention)
110
106
 
111
- //NotFound is okay; just return empty (similar to std::map)
112
- //But network or db errors, etc, should fail the test (or at least yell)
107
+ // NotFound is okay; just return empty (similar to std::map)
108
+ // But network or db errors, etc, should fail the test (or at least yell)
113
109
  if (!s.IsNotFound()) {
114
110
  std::cerr << "ERROR " << s.ToString() << std::endl;
115
111
  }
@@ -118,15 +114,12 @@ class StringLists {
118
114
  return false;
119
115
  }
120
116
 
121
-
122
117
  private:
123
118
  std::shared_ptr<DB> db_;
124
119
  WriteOptions merge_option_;
125
120
  ReadOptions get_option_;
126
-
127
121
  };
128
122
 
129
-
130
123
  // The class for unit-testing
131
124
  class StringAppendOperatorTest : public testing::Test,
132
125
  public ::testing::WithParamInterface<bool> {
@@ -153,14 +146,13 @@ class StringAppendOperatorTest : public testing::Test,
153
146
 
154
147
  // Allows user to open databases with different configurations.
155
148
  // e.g.: Can open a DB or a TtlDB, etc.
156
- static void SetOpenDbFunction(OpenFuncPtr func) {
157
- OpenDb = func;
158
- }
149
+ static void SetOpenDbFunction(OpenFuncPtr func) { OpenDb = func; }
159
150
 
160
151
  protected:
161
152
  static OpenFuncPtr OpenDb;
162
153
  };
163
- StringAppendOperatorTest::OpenFuncPtr StringAppendOperatorTest::OpenDb = nullptr;
154
+ StringAppendOperatorTest::OpenFuncPtr StringAppendOperatorTest::OpenDb =
155
+ nullptr;
164
156
 
165
157
  // THE TEST CASES BEGIN HERE
166
158
 
@@ -206,7 +198,6 @@ TEST_P(StringAppendOperatorTest, IteratorTest) {
206
198
  }
207
199
  }
208
200
 
209
-
210
201
  // Should release the snapshot and be aware of the new stuff now
211
202
  it.reset(db_->NewIterator(ReadOptions()));
212
203
  first = true;
@@ -236,7 +227,7 @@ TEST_P(StringAppendOperatorTest, IteratorTest) {
236
227
  it.reset(db_->NewIterator(ReadOptions()));
237
228
  first = true;
238
229
  std::string k3("k3");
239
- for(it->Seek(k2); it->Valid(); it->Next()) {
230
+ for (it->Seek(k2); it->Valid(); it->Next()) {
240
231
  res = it->value().ToString();
241
232
  if (first) {
242
233
  ASSERT_EQ(res, "a1,a2,a3,a4");
@@ -245,7 +236,7 @@ TEST_P(StringAppendOperatorTest, IteratorTest) {
245
236
  ASSERT_EQ(res, "g1");
246
237
  }
247
238
  }
248
- for(it->Seek(k3); it->Valid(); it->Next()) {
239
+ for (it->Seek(k3); it->Valid(); it->Next()) {
249
240
  res = it->value().ToString();
250
241
  if (first) {
251
242
  // should not be hit
@@ -353,7 +344,7 @@ TEST_P(StringAppendOperatorTest, VariousKeys) {
353
344
  sb = slists.Get("b", &b);
354
345
  sc = slists.Get("c", &c);
355
346
 
356
- ASSERT_TRUE(sa && sb && sc); // All three keys should have been found
347
+ ASSERT_TRUE(sa && sb && sc); // All three keys should have been found
357
348
 
358
349
  ASSERT_EQ(a, "x\nt\nr");
359
350
  ASSERT_EQ(b, "y\n2");
@@ -367,22 +358,23 @@ TEST_P(StringAppendOperatorTest, RandomMixGetAppend) {
367
358
 
368
359
  // Generate a list of random keys and values
369
360
  const int kWordCount = 15;
370
- std::string words[] = {"sdasd", "triejf", "fnjsdfn", "dfjisdfsf", "342839",
371
- "dsuha", "mabuais", "sadajsid", "jf9834hf", "2d9j89",
372
- "dj9823jd", "a", "dk02ed2dh", "$(jd4h984$(*", "mabz"};
361
+ std::string words[] = {"sdasd", "triejf", "fnjsdfn", "dfjisdfsf",
362
+ "342839", "dsuha", "mabuais", "sadajsid",
363
+ "jf9834hf", "2d9j89", "dj9823jd", "a",
364
+ "dk02ed2dh", "$(jd4h984$(*", "mabz"};
373
365
  const int kKeyCount = 6;
374
- std::string keys[] = {"dhaiusdhu", "denidw", "daisda", "keykey", "muki",
375
- "shzassdianmd"};
366
+ std::string keys[] = {"dhaiusdhu", "denidw", "daisda",
367
+ "keykey", "muki", "shzassdianmd"};
376
368
 
377
369
  // Will store a local copy of all data in order to verify correctness
378
370
  std::map<std::string, std::string> parallel_copy;
379
371
 
380
372
  // Generate a bunch of random queries (Append and Get)!
381
- enum query_t { APPEND_OP, GET_OP, NUM_OPS };
382
- Random randomGen(1337); //deterministic seed; always get same results!
373
+ enum query_t { APPEND_OP, GET_OP, NUM_OPS };
374
+ Random randomGen(1337); // deterministic seed; always get same results!
383
375
 
384
376
  const int kNumQueries = 30;
385
- for (int q=0; q<kNumQueries; ++q) {
377
+ for (int q = 0; q < kNumQueries; ++q) {
386
378
  // Generate a random query (Append or Get) and random parameters
387
379
  query_t query = (query_t)randomGen.Uniform((int)NUM_OPS);
388
380
  std::string key = keys[randomGen.Uniform((int)kKeyCount)];
@@ -390,9 +382,8 @@ TEST_P(StringAppendOperatorTest, RandomMixGetAppend) {
390
382
 
391
383
  // Apply the query and any checks.
392
384
  if (query == APPEND_OP) {
393
-
394
385
  // Apply the rocksdb test-harness Append defined above
395
- slists.Append(key, word); //apply the rocksdb append
386
+ slists.Append(key, word); // apply the rocksdb append
396
387
 
397
388
  // Apply the similar "Append" to the parallel copy
398
389
  if (parallel_copy[key].size() > 0) {
@@ -407,7 +398,6 @@ TEST_P(StringAppendOperatorTest, RandomMixGetAppend) {
407
398
  slists.Get(key, &res);
408
399
  ASSERT_EQ(res, parallel_copy[key]);
409
400
  }
410
-
411
401
  }
412
402
  }
413
403
 
@@ -417,32 +407,32 @@ TEST_P(StringAppendOperatorTest, BIGRandomMixGetAppend) {
417
407
 
418
408
  // Generate a list of random keys and values
419
409
  const int kWordCount = 15;
420
- std::string words[] = {"sdasd", "triejf", "fnjsdfn", "dfjisdfsf", "342839",
421
- "dsuha", "mabuais", "sadajsid", "jf9834hf", "2d9j89",
422
- "dj9823jd", "a", "dk02ed2dh", "$(jd4h984$(*", "mabz"};
410
+ std::string words[] = {"sdasd", "triejf", "fnjsdfn", "dfjisdfsf",
411
+ "342839", "dsuha", "mabuais", "sadajsid",
412
+ "jf9834hf", "2d9j89", "dj9823jd", "a",
413
+ "dk02ed2dh", "$(jd4h984$(*", "mabz"};
423
414
  const int kKeyCount = 6;
424
- std::string keys[] = {"dhaiusdhu", "denidw", "daisda", "keykey", "muki",
425
- "shzassdianmd"};
415
+ std::string keys[] = {"dhaiusdhu", "denidw", "daisda",
416
+ "keykey", "muki", "shzassdianmd"};
426
417
 
427
418
  // Will store a local copy of all data in order to verify correctness
428
419
  std::map<std::string, std::string> parallel_copy;
429
420
 
430
421
  // Generate a bunch of random queries (Append and Get)!
431
- enum query_t { APPEND_OP, GET_OP, NUM_OPS };
432
- Random randomGen(9138204); // deterministic seed
422
+ enum query_t { APPEND_OP, GET_OP, NUM_OPS };
423
+ Random randomGen(9138204); // deterministic seed
433
424
 
434
425
  const int kNumQueries = 1000;
435
- for (int q=0; q<kNumQueries; ++q) {
426
+ for (int q = 0; q < kNumQueries; ++q) {
436
427
  // Generate a random query (Append or Get) and random parameters
437
428
  query_t query = (query_t)randomGen.Uniform((int)NUM_OPS);
438
429
  std::string key = keys[randomGen.Uniform((int)kKeyCount)];
439
430
  std::string word = words[randomGen.Uniform((int)kWordCount)];
440
431
 
441
- //Apply the query and any checks.
432
+ // Apply the query and any checks.
442
433
  if (query == APPEND_OP) {
443
-
444
434
  // Apply the rocksdb test-harness Append defined above
445
- slists.Append(key, word); //apply the rocksdb append
435
+ slists.Append(key, word); // apply the rocksdb append
446
436
 
447
437
  // Apply the similar "Append" to the parallel copy
448
438
  if (parallel_copy[key].size() > 0) {
@@ -457,7 +447,6 @@ TEST_P(StringAppendOperatorTest, BIGRandomMixGetAppend) {
457
447
  slists.Get(key, &res);
458
448
  ASSERT_EQ(res, parallel_copy[key]);
459
449
  }
460
-
461
450
  }
462
451
  }
463
452
 
@@ -578,7 +567,7 @@ TEST_P(StringAppendOperatorTest, PersistentFlushAndCompaction) {
578
567
  ASSERT_TRUE(slists.Get("a", &a));
579
568
  ASSERT_EQ(a, "x\nt\nr");
580
569
 
581
- //Append, Compact, Get
570
+ // Append, Compact, Get
582
571
  slists.Append("c", "bbnagnagsx");
583
572
  slists.Append("a", "sa");
584
573
  slists.Append("b", "df");
@@ -629,8 +618,8 @@ TEST_P(StringAppendOperatorTest, SimpleTestNullDelimiter) {
629
618
  ASSERT_TRUE(slists.Get("k1", &res));
630
619
 
631
620
  // Construct the desired string. Default constructor doesn't like '\0' chars.
632
- std::string checker("v1,v2,v3"); // Verify that the string is right size.
633
- checker[2] = '\0'; // Use null delimiter instead of comma.
621
+ std::string checker("v1,v2,v3"); // Verify that the string is right size.
622
+ checker[2] = '\0'; // Use null delimiter instead of comma.
634
623
  checker[5] = '\0';
635
624
  ASSERT_EQ(checker.size(), 8); // Verify it is still the correct size
636
625
 
@@ -12,7 +12,7 @@
12
12
  #include "util/coding.h"
13
13
  #include "utilities/merge_operators.h"
14
14
 
15
- namespace { // anonymous namespace
15
+ namespace { // anonymous namespace
16
16
 
17
17
  using ROCKSDB_NAMESPACE::AssociativeMergeOperator;
18
18
  using ROCKSDB_NAMESPACE::InfoLogLevel;
@@ -27,7 +27,7 @@ class UInt64AddOperator : public AssociativeMergeOperator {
27
27
  const Slice& value, std::string* new_value,
28
28
  Logger* logger) const override {
29
29
  uint64_t orig_value = 0;
30
- if (existing_value){
30
+ if (existing_value) {
31
31
  orig_value = DecodeInteger(*existing_value, logger);
32
32
  }
33
33
  uint64_t operand = DecodeInteger(value, logger);
@@ -4,13 +4,13 @@
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
  //
6
6
  #pragma once
7
- #include "rocksdb/merge_operator.h"
8
-
9
7
  #include <stdio.h>
10
8
 
11
9
  #include <memory>
12
10
  #include <string>
13
11
 
12
+ #include "rocksdb/merge_operator.h"
13
+
14
14
  namespace ROCKSDB_NAMESPACE {
15
15
 
16
16
  class MergeOperators {
@@ -19,7 +19,8 @@ class MergeOperators {
19
19
  static std::shared_ptr<MergeOperator> CreateDeprecatedPutOperator();
20
20
  static std::shared_ptr<MergeOperator> CreateUInt64AddOperator();
21
21
  static std::shared_ptr<MergeOperator> CreateStringAppendOperator();
22
- static std::shared_ptr<MergeOperator> CreateStringAppendOperator(char delim_char);
22
+ static std::shared_ptr<MergeOperator> CreateStringAppendOperator(
23
+ char delim_char);
23
24
  static std::shared_ptr<MergeOperator> CreateStringAppendOperator(
24
25
  const std::string& delim);
25
26
  static std::shared_ptr<MergeOperator> CreateStringAppendTESTOperator();
@@ -57,8 +57,8 @@ Status LoadOptionsFromFile(const ConfigOptions& config_options,
57
57
  return Status::OK();
58
58
  }
59
59
 
60
- Status GetLatestOptionsFileName(const std::string& dbpath,
61
- Env* env, std::string* options_file_name) {
60
+ Status GetLatestOptionsFileName(const std::string& dbpath, Env* env,
61
+ std::string* options_file_name) {
62
62
  Status s;
63
63
  std::string latest_file_name;
64
64
  uint64_t latest_time_stamp = 0;
@@ -132,7 +132,7 @@ Status BlockCacheTier::Close() {
132
132
  return Status::OK();
133
133
  }
134
134
 
135
- template<class T>
135
+ template <class T>
136
136
  void Add(std::map<std::string, double>* stats, const std::string& key,
137
137
  const T& t) {
138
138
  stats->insert({key, static_cast<double>(t)});
@@ -148,8 +148,7 @@ PersistentCache::StatsType BlockCacheTier::Stats() {
148
148
  stats_.bytes_read_.Average());
149
149
  Add(&stats, "persistentcache.blockcachetier.insert_dropped",
150
150
  stats_.insert_dropped_);
151
- Add(&stats, "persistentcache.blockcachetier.cache_hits",
152
- stats_.cache_hits_);
151
+ Add(&stats, "persistentcache.blockcachetier.cache_hits", stats_.cache_hits_);
153
152
  Add(&stats, "persistentcache.blockcachetier.cache_misses",
154
153
  stats_.cache_misses_);
155
154
  Add(&stats, "persistentcache.blockcachetier.cache_errors",
@@ -326,10 +325,9 @@ Status BlockCacheTier::NewCacheFile() {
326
325
  TEST_SYNC_POINT_CALLBACK("BlockCacheTier::NewCacheFile:DeleteDir",
327
326
  (void*)(GetCachePath().c_str()));
328
327
 
329
- std::unique_ptr<WriteableCacheFile> f(
330
- new WriteableCacheFile(opt_.env, &buffer_allocator_, &writer_,
331
- GetCachePath(), writer_cache_id_,
332
- opt_.cache_file_size, opt_.log));
328
+ std::unique_ptr<WriteableCacheFile> f(new WriteableCacheFile(
329
+ opt_.env, &buffer_allocator_, &writer_, GetCachePath(), writer_cache_id_,
330
+ opt_.cache_file_size, opt_.log));
333
331
 
334
332
  bool status = f->Create(opt_.enable_direct_writes, opt_.enable_direct_reads);
335
333
  if (!status) {
@@ -6,9 +6,9 @@
6
6
 
7
7
  #ifndef ROCKSDB_LITE
8
8
 
9
- #ifndef OS_WIN
9
+ #ifndef OS_WIN
10
10
  #include <unistd.h>
11
- #endif // ! OS_WIN
11
+ #endif // ! OS_WIN
12
12
 
13
13
  #include <atomic>
14
14
  #include <list>
@@ -45,7 +45,8 @@ class BlockCacheTier : public PersistentCacheTier {
45
45
  : opt_(opt),
46
46
  insert_ops_(static_cast<size_t>(opt_.max_write_pipeline_backlog_size)),
47
47
  buffer_allocator_(opt.write_buffer_size, opt.write_buffer_count()),
48
- writer_(this, opt_.writer_qdepth, static_cast<size_t>(opt_.writer_dispatch_size)) {
48
+ writer_(this, opt_.writer_qdepth,
49
+ static_cast<size_t>(opt_.writer_dispatch_size)) {
49
50
  Info(opt_.log, "Initializing allocator. size=%d B count=%" ROCKSDB_PRIszt,
50
51
  opt_.write_buffer_size, opt_.write_buffer_count());
51
52
  }
@@ -147,7 +148,7 @@ class BlockCacheTier : public PersistentCacheTier {
147
148
  ThreadedWriter writer_; // Writer threads
148
149
  BlockCacheTierMetadata metadata_; // Cache meta data manager
149
150
  std::atomic<uint64_t> size_{0}; // Size of the cache
150
- Statistics stats_; // Statistics
151
+ Statistics stats_; // Statistics
151
152
  };
152
153
 
153
154
  } // namespace ROCKSDB_NAMESPACE
@@ -68,8 +68,7 @@ Status BlockCacheFile::Delete(uint64_t* size) {
68
68
  // <-- 4 --><-- 4 --><-- 4 --><-- 4 --><-- key size --><-- v-size -->
69
69
  //
70
70
  struct CacheRecordHeader {
71
- CacheRecordHeader()
72
- : magic_(0), crc_(0), key_size_(0), val_size_(0) {}
71
+ CacheRecordHeader() : magic_(0), crc_(0), key_size_(0), val_size_(0) {}
73
72
  CacheRecordHeader(const uint32_t magic, const uint32_t key_size,
74
73
  const uint32_t val_size)
75
74
  : magic_(magic), crc_(0), key_size_(key_size), val_size_(val_size) {}
@@ -12,19 +12,16 @@
12
12
  #include <vector>
13
13
 
14
14
  #include "file/random_access_file_reader.h"
15
-
15
+ #include "port/port.h"
16
16
  #include "rocksdb/comparator.h"
17
17
  #include "rocksdb/env.h"
18
-
18
+ #include "util/crc32c.h"
19
+ #include "util/mutexlock.h"
19
20
  #include "utilities/persistent_cache/block_cache_tier_file_buffer.h"
20
21
  #include "utilities/persistent_cache/lrulist.h"
21
22
  #include "utilities/persistent_cache/persistent_cache_tier.h"
22
23
  #include "utilities/persistent_cache/persistent_cache_util.h"
23
24
 
24
- #include "port/port.h"
25
- #include "util/crc32c.h"
26
- #include "util/mutexlock.h"
27
-
28
25
  // The io code path of persistent cache uses pipelined architecture
29
26
  //
30
27
  // client -> In Queue <-- BlockCacheTier --> Out Queue <-- Writer <--> Kernel
@@ -8,8 +8,8 @@
8
8
  #include <memory>
9
9
  #include <string>
10
10
 
11
- #include "rocksdb/comparator.h"
12
11
  #include "memory/arena.h"
12
+ #include "rocksdb/comparator.h"
13
13
  #include "util/mutexlock.h"
14
14
 
15
15
  namespace ROCKSDB_NAMESPACE {
@@ -32,8 +32,8 @@ BlockCacheFile* BlockCacheTierMetadata::Evict() {
32
32
  }
33
33
 
34
34
  void BlockCacheTierMetadata::Clear() {
35
- cache_file_index_.Clear([](BlockCacheFile* arg){ delete arg; });
36
- block_index_.Clear([](BlockInfo* arg){ delete arg; });
35
+ cache_file_index_.Clear([](BlockCacheFile* arg) { delete arg; });
36
+ block_index_.Clear([](BlockInfo* arg) { delete arg; });
37
37
  }
38
38
 
39
39
  BlockInfo* BlockCacheTierMetadata::Insert(const Slice& key, const LBA& lba) {
@@ -11,7 +11,6 @@
11
11
  #include <unordered_map>
12
12
 
13
13
  #include "rocksdb/slice.h"
14
-
15
14
  #include "utilities/persistent_cache/block_cache_tier_file.h"
16
15
  #include "utilities/persistent_cache/hash_table.h"
17
16
  #include "utilities/persistent_cache/hash_table_evictable.h"
@@ -8,6 +8,7 @@
8
8
  #ifndef ROCKSDB_LITE
9
9
 
10
10
  #include <assert.h>
11
+
11
12
  #include <list>
12
13
  #include <vector>
13
14
 
@@ -3,7 +3,10 @@
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 "utilities/persistent_cache/hash_table.h"
7
+
6
8
  #include <stdlib.h>
9
+
7
10
  #include <iostream>
8
11
  #include <set>
9
12
  #include <string>
@@ -12,7 +15,6 @@
12
15
  #include "memory/arena.h"
13
16
  #include "test_util/testharness.h"
14
17
  #include "util/random.h"
15
- #include "utilities/persistent_cache/hash_table.h"
16
18
  #include "utilities/persistent_cache/hash_table_evictable.h"
17
19
 
18
20
  #ifndef ROCKSDB_LITE
@@ -234,7 +234,7 @@ class CacheTierBenchmark {
234
234
  fprintf(stderr, "%s\n", status.ToString().c_str());
235
235
  }
236
236
  assert(status.ok());
237
- assert(size == (size_t) FLAGS_iosize);
237
+ assert(size == (size_t)FLAGS_iosize);
238
238
 
239
239
  // adjust stats
240
240
  const size_t elapsed_micro = timer.ElapsedNanos() / 1000;
@@ -84,7 +84,8 @@ std::unique_ptr<PersistentCacheTier> NewBlockCache(
84
84
  Env* env, const std::string& path,
85
85
  const uint64_t max_size = std::numeric_limits<uint64_t>::max(),
86
86
  const bool enable_direct_writes = false) {
87
- const uint32_t max_file_size = static_cast<uint32_t>(12 * 1024 * 1024 * kStressFactor);
87
+ const uint32_t max_file_size =
88
+ static_cast<uint32_t>(12 * 1024 * 1024 * kStressFactor);
88
89
  auto log = std::make_shared<ConsoleLogger>();
89
90
  PersistentCacheConfig opt(env, path, max_size, log);
90
91
  opt.cache_file_size = max_file_size;
@@ -101,7 +102,8 @@ std::unique_ptr<PersistentTieredCache> NewTieredCache(
101
102
  Env* env, const std::string& path, const uint64_t max_volatile_cache_size,
102
103
  const uint64_t max_block_cache_size =
103
104
  std::numeric_limits<uint64_t>::max()) {
104
- const uint32_t max_file_size = static_cast<uint32_t>(12 * 1024 * 1024 * kStressFactor);
105
+ const uint32_t max_file_size =
106
+ static_cast<uint32_t>(12 * 1024 * 1024 * kStressFactor);
105
107
  auto log = std::make_shared<ConsoleLogger>();
106
108
  auto opt = PersistentCacheConfig(env, path, max_block_cache_size, log);
107
109
  opt.cache_file_size = max_file_size;
@@ -126,13 +128,13 @@ PersistentCacheTierTest::PersistentCacheTierTest()
126
128
  TEST_F(PersistentCacheTierTest, DISABLED_BlockCacheInsertWithFileCreateError) {
127
129
  cache_ = NewBlockCache(Env::Default(), path_,
128
130
  /*size=*/std::numeric_limits<uint64_t>::max(),
129
- /*direct_writes=*/ false);
131
+ /*direct_writes=*/false);
130
132
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack(
131
133
  "BlockCacheTier::NewCacheFile:DeleteDir", OnDeleteDir);
132
134
 
133
- RunNegativeInsertTest(/*nthreads=*/ 1,
135
+ RunNegativeInsertTest(/*nthreads=*/1,
134
136
  /*max_keys*/
135
- static_cast<size_t>(10 * 1024 * kStressFactor));
137
+ static_cast<size_t>(10 * 1024 * kStressFactor));
136
138
 
137
139
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks();
138
140
  }
@@ -171,7 +173,8 @@ TEST_F(PersistentCacheTierTest, DISABLED_VolatileCacheInsertWithEviction) {
171
173
  for (auto nthreads : {1, 5}) {
172
174
  for (auto max_keys : {1 * 1024 * 1024 * kStressFactor}) {
173
175
  cache_ = std::make_shared<VolatileCacheTier>(
174
- /*compressed=*/true, /*size=*/static_cast<size_t>(1 * 1024 * 1024 * kStressFactor));
176
+ /*compressed=*/true,
177
+ /*size=*/static_cast<size_t>(1 * 1024 * 1024 * kStressFactor));
175
178
  RunInsertTestWithEviction(nthreads, static_cast<size_t>(max_keys));
176
179
  }
177
180
  }
@@ -197,8 +200,9 @@ TEST_F(PersistentCacheTierTest, DISABLED_BlockCacheInsert) {
197
200
  TEST_F(PersistentCacheTierTest, DISABLED_BlockCacheInsertWithEviction) {
198
201
  for (auto nthreads : {1, 5}) {
199
202
  for (auto max_keys : {1 * 1024 * 1024 * kStressFactor}) {
200
- cache_ = NewBlockCache(Env::Default(), path_,
201
- /*max_size=*/static_cast<size_t>(200 * 1024 * 1024 * kStressFactor));
203
+ cache_ = NewBlockCache(
204
+ Env::Default(), path_,
205
+ /*max_size=*/static_cast<size_t>(200 * 1024 * 1024 * kStressFactor));
202
206
  RunInsertTestWithEviction(nthreads, static_cast<size_t>(max_keys));
203
207
  }
204
208
  }
@@ -210,8 +214,9 @@ TEST_F(PersistentCacheTierTest, DISABLED_TieredCacheInsert) {
210
214
  for (auto nthreads : {1, 5}) {
211
215
  for (auto max_keys :
212
216
  {10 * 1024 * kStressFactor, 1 * 1024 * 1024 * kStressFactor}) {
213
- cache_ = NewTieredCache(Env::Default(), path_,
214
- /*memory_size=*/static_cast<size_t>(1 * 1024 * 1024 * kStressFactor));
217
+ cache_ = NewTieredCache(
218
+ Env::Default(), path_,
219
+ /*memory_size=*/static_cast<size_t>(1 * 1024 * 1024 * kStressFactor));
215
220
  RunInsertTest(nthreads, static_cast<size_t>(max_keys));
216
221
  }
217
222
  }
@@ -226,7 +231,8 @@ TEST_F(PersistentCacheTierTest, DISABLED_TieredCacheInsertWithEviction) {
226
231
  cache_ = NewTieredCache(
227
232
  Env::Default(), path_,
228
233
  /*memory_size=*/static_cast<size_t>(1 * 1024 * 1024 * kStressFactor),
229
- /*block_cache_size*/ static_cast<size_t>(200 * 1024 * 1024 * kStressFactor));
234
+ /*block_cache_size*/
235
+ static_cast<size_t>(200 * 1024 * 1024 * kStressFactor));
230
236
  RunInsertTestWithEviction(nthreads, static_cast<size_t>(max_keys));
231
237
  }
232
238
  }
@@ -291,14 +297,13 @@ PersistentCacheDBTest::PersistentCacheDBTest()
291
297
  void PersistentCacheDBTest::RunTest(
292
298
  const std::function<std::shared_ptr<PersistentCacheTier>(bool)>& new_pcache,
293
299
  const size_t max_keys = 100 * 1024, const size_t max_usecase = 5) {
294
-
295
300
  // number of insertion interations
296
301
  int num_iter = static_cast<int>(max_keys * kStressFactor);
297
302
 
298
303
  for (size_t iter = 0; iter < max_usecase; iter++) {
299
304
  Options options;
300
305
  options.write_buffer_size =
301
- static_cast<size_t>(64 * 1024 * kStressFactor); // small write buffer
306
+ static_cast<size_t>(64 * 1024 * kStressFactor); // small write buffer
302
307
  options.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
303
308
  options = CurrentOptions(options);
304
309
 
@@ -41,9 +41,7 @@ class CompactOnDeletionCollector : public TablePropertiesCollector {
41
41
  }
42
42
 
43
43
  // EXPERIMENTAL Return whether the output file should be further compacted
44
- virtual bool NeedCompact() const override {
45
- return need_compaction_;
46
- }
44
+ virtual bool NeedCompact() const override { return need_compaction_; }
47
45
 
48
46
  static const int kNumBuckets = 128;
49
47
 
@@ -80,10 +80,10 @@ TEST(CompactOnDeletionCollector, DeletionRatio) {
80
80
  }
81
81
 
82
82
  TEST(CompactOnDeletionCollector, SlidingWindow) {
83
- const int kWindowSizes[] =
84
- {1000, 10000, 10000, 127, 128, 129, 255, 256, 257, 2, 10000};
85
- const int kDeletionTriggers[] =
86
- {500, 9500, 4323, 47, 61, 128, 250, 250, 250, 2, 2};
83
+ const int kWindowSizes[] = {1000, 10000, 10000, 127, 128, 129,
84
+ 255, 256, 257, 2, 10000};
85
+ const int kDeletionTriggers[] = {500, 9500, 4323, 47, 61, 128,
86
+ 250, 250, 250, 2, 2};
87
87
  TablePropertiesCollectorFactory::Context context;
88
88
  context.column_family_id =
89
89
  TablePropertiesCollectorFactory::Context::kUnknownColumnFamily;
@@ -134,13 +134,13 @@ TEST(CompactOnDeletionCollector, SlidingWindow) {
134
134
  collector->AddUserKey("hello", "rocksdb", kEntryPut, 0, 0));
135
135
  }
136
136
  }
137
- if (collector->NeedCompact() !=
138
- (deletions >= kNumDeletionTrigger) &&
137
+ if (collector->NeedCompact() != (deletions >= kNumDeletionTrigger) &&
139
138
  std::abs(deletions - kNumDeletionTrigger) > kBias) {
140
- fprintf(stderr, "[Error] collector->NeedCompact() != (%d >= %d)"
139
+ fprintf(stderr,
140
+ "[Error] collector->NeedCompact() != (%d >= %d)"
141
141
  " with kWindowSize = %d and kNumDeletionTrigger = %d\n",
142
- deletions, kNumDeletionTrigger,
143
- kWindowSize, kNumDeletionTrigger);
142
+ deletions, kNumDeletionTrigger, kWindowSize,
143
+ kNumDeletionTrigger);
144
144
  ASSERT_TRUE(false);
145
145
  }
146
146
  ASSERT_OK(collector->Finish(nullptr));
@@ -182,11 +182,11 @@ TEST(CompactOnDeletionCollector, SlidingWindow) {
182
182
  }
183
183
  if (collector->NeedCompact() != (deletions >= kNumDeletionTrigger) &&
184
184
  std::abs(deletions - kNumDeletionTrigger) > kBias) {
185
- fprintf(stderr, "[Error] collector->NeedCompact() %d != (%d >= %d)"
185
+ fprintf(stderr,
186
+ "[Error] collector->NeedCompact() %d != (%d >= %d)"
186
187
  " with kWindowSize = %d, kNumDeletionTrigger = %d\n",
187
- collector->NeedCompact(),
188
- deletions, kNumDeletionTrigger, kWindowSize,
189
- kNumDeletionTrigger);
188
+ collector->NeedCompact(), deletions, kNumDeletionTrigger,
189
+ kWindowSize, kNumDeletionTrigger);
190
190
  ASSERT_TRUE(false);
191
191
  }
192
192
  ASSERT_OK(collector->Finish(nullptr));
@@ -218,7 +218,8 @@ TEST(CompactOnDeletionCollector, SlidingWindow) {
218
218
  }
219
219
  if (collector->NeedCompact() &&
220
220
  std::abs(kDeletionsPerSection - kNumDeletionTrigger) > kBias) {
221
- fprintf(stderr, "[Error] collector->NeedCompact() != false"
221
+ fprintf(stderr,
222
+ "[Error] collector->NeedCompact() != false"
222
223
  " with kWindowSize = %d and kNumDeletionTrigger = %d\n",
223
224
  kWindowSize, kNumDeletionTrigger);
224
225
  ASSERT_TRUE(false);