@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
@@ -5,12 +5,12 @@
5
5
 
6
6
  #include <cstring>
7
7
  #include <memory>
8
+
8
9
  #include "test_util/testharness.h"
9
10
  #include "utilities/cassandra/format.h"
10
11
  #include "utilities/cassandra/serialize.h"
11
12
  #include "utilities/cassandra/test_utils.h"
12
13
 
13
-
14
14
  namespace ROCKSDB_NAMESPACE {
15
15
  namespace cassandra {
16
16
 
@@ -51,8 +51,8 @@ TEST(ColumnTest, Column) {
51
51
 
52
52
  c1->Serialize(&dest);
53
53
  EXPECT_EQ(dest.size(), 2 * c.Size());
54
- EXPECT_TRUE(
55
- std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) == 0);
54
+ EXPECT_TRUE(std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) ==
55
+ 0);
56
56
 
57
57
  // Verify the ColumnBase::Deserialization.
58
58
  saved_dest = dest;
@@ -60,9 +60,8 @@ TEST(ColumnTest, Column) {
60
60
  ColumnBase::Deserialize(saved_dest.c_str(), c.Size());
61
61
  c2->Serialize(&dest);
62
62
  EXPECT_EQ(dest.size(), 3 * c.Size());
63
- EXPECT_TRUE(
64
- std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2, c.Size())
65
- == 0);
63
+ EXPECT_TRUE(std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2,
64
+ c.Size()) == 0);
66
65
  }
67
66
 
68
67
  TEST(ExpiringColumnTest, ExpiringColumn) {
@@ -71,8 +70,8 @@ TEST(ExpiringColumnTest, ExpiringColumn) {
71
70
  int8_t index = 3;
72
71
  int64_t timestamp = 1494022807044;
73
72
  int32_t ttl = 3600;
74
- ExpiringColumn c = ExpiringColumn(mask, index, timestamp,
75
- sizeof(data), data, ttl);
73
+ ExpiringColumn c =
74
+ ExpiringColumn(mask, index, timestamp, sizeof(data), data, ttl);
76
75
 
77
76
  EXPECT_EQ(c.Index(), index);
78
77
  EXPECT_EQ(c.Timestamp(), timestamp);
@@ -107,8 +106,8 @@ TEST(ExpiringColumnTest, ExpiringColumn) {
107
106
 
108
107
  c1->Serialize(&dest);
109
108
  EXPECT_EQ(dest.size(), 2 * c.Size());
110
- EXPECT_TRUE(
111
- std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) == 0);
109
+ EXPECT_TRUE(std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) ==
110
+ 0);
112
111
 
113
112
  // Verify the ColumnBase::Deserialization.
114
113
  saved_dest = dest;
@@ -116,23 +115,24 @@ TEST(ExpiringColumnTest, ExpiringColumn) {
116
115
  ColumnBase::Deserialize(saved_dest.c_str(), c.Size());
117
116
  c2->Serialize(&dest);
118
117
  EXPECT_EQ(dest.size(), 3 * c.Size());
119
- EXPECT_TRUE(
120
- std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2, c.Size())
121
- == 0);
118
+ EXPECT_TRUE(std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2,
119
+ c.Size()) == 0);
122
120
  }
123
121
 
124
122
  TEST(TombstoneTest, TombstoneCollectable) {
125
123
  int32_t now = (int32_t)time(nullptr);
126
124
  int32_t gc_grace_seconds = 16440;
127
125
  int32_t time_delta_seconds = 10;
128
- EXPECT_TRUE(Tombstone(ColumnTypeMask::DELETION_MASK, 0,
129
- now - gc_grace_seconds - time_delta_seconds,
130
- ToMicroSeconds(now - gc_grace_seconds - time_delta_seconds))
131
- .Collectable(gc_grace_seconds));
132
- EXPECT_FALSE(Tombstone(ColumnTypeMask::DELETION_MASK, 0,
133
- now - gc_grace_seconds + time_delta_seconds,
134
- ToMicroSeconds(now - gc_grace_seconds + time_delta_seconds))
135
- .Collectable(gc_grace_seconds));
126
+ EXPECT_TRUE(
127
+ Tombstone(ColumnTypeMask::DELETION_MASK, 0,
128
+ now - gc_grace_seconds - time_delta_seconds,
129
+ ToMicroSeconds(now - gc_grace_seconds - time_delta_seconds))
130
+ .Collectable(gc_grace_seconds));
131
+ EXPECT_FALSE(
132
+ Tombstone(ColumnTypeMask::DELETION_MASK, 0,
133
+ now - gc_grace_seconds + time_delta_seconds,
134
+ ToMicroSeconds(now - gc_grace_seconds + time_delta_seconds))
135
+ .Collectable(gc_grace_seconds));
136
136
  }
137
137
 
138
138
  TEST(TombstoneTest, Tombstone) {
@@ -140,8 +140,8 @@ TEST(TombstoneTest, Tombstone) {
140
140
  int8_t index = 2;
141
141
  int32_t local_deletion_time = 1494022807;
142
142
  int64_t marked_for_delete_at = 1494022807044;
143
- Tombstone c = Tombstone(mask, index, local_deletion_time,
144
- marked_for_delete_at);
143
+ Tombstone c =
144
+ Tombstone(mask, index, local_deletion_time, marked_for_delete_at);
145
145
 
146
146
  EXPECT_EQ(c.Index(), index);
147
147
  EXPECT_EQ(c.Timestamp(), marked_for_delete_at);
@@ -170,17 +170,16 @@ TEST(TombstoneTest, Tombstone) {
170
170
 
171
171
  c1->Serialize(&dest);
172
172
  EXPECT_EQ(dest.size(), 2 * c.Size());
173
- EXPECT_TRUE(
174
- std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) == 0);
173
+ EXPECT_TRUE(std::memcmp(dest.c_str(), dest.c_str() + c.Size(), c.Size()) ==
174
+ 0);
175
175
 
176
176
  // Verify the ColumnBase::Deserialization.
177
177
  std::shared_ptr<ColumnBase> c2 =
178
- ColumnBase::Deserialize(dest.c_str(), c.Size());
178
+ ColumnBase::Deserialize(dest.c_str(), c.Size());
179
179
  c2->Serialize(&dest);
180
180
  EXPECT_EQ(dest.size(), 3 * c.Size());
181
- EXPECT_TRUE(
182
- std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2, c.Size())
183
- == 0);
181
+ EXPECT_TRUE(std::memcmp(dest.c_str() + c.Size(), dest.c_str() + c.Size() * 2,
182
+ c.Size()) == 0);
184
183
  }
185
184
 
186
185
  class RowValueTest : public testing::Test {};
@@ -213,8 +212,8 @@ TEST(RowValueTest, RowTombstone) {
213
212
 
214
213
  r1.Serialize(&dest);
215
214
  EXPECT_EQ(dest.size(), 2 * r.Size());
216
- EXPECT_TRUE(
217
- std::memcmp(dest.c_str(), dest.c_str() + r.Size(), r.Size()) == 0);
215
+ EXPECT_TRUE(std::memcmp(dest.c_str(), dest.c_str() + r.Size(), r.Size()) ==
216
+ 0);
218
217
  }
219
218
 
220
219
  TEST(RowValueTest, RowWithColumns) {
@@ -227,23 +226,23 @@ TEST(RowValueTest, RowWithColumns) {
227
226
  int64_t e_timestamp = 1494022807044;
228
227
  int32_t e_ttl = 3600;
229
228
  columns.push_back(std::shared_ptr<ExpiringColumn>(
230
- new ExpiringColumn(ColumnTypeMask::EXPIRATION_MASK, e_index,
231
- e_timestamp, sizeof(e_data), e_data, e_ttl)));
229
+ new ExpiringColumn(ColumnTypeMask::EXPIRATION_MASK, e_index, e_timestamp,
230
+ sizeof(e_data), e_data, e_ttl)));
232
231
  columns_data_size += columns[0]->Size();
233
232
 
234
233
  char c_data[4] = {'d', 'a', 't', 'a'};
235
234
  int8_t c_index = 1;
236
235
  int64_t c_timestamp = 1494022807048;
237
236
  columns.push_back(std::shared_ptr<Column>(
238
- new Column(0, c_index, c_timestamp, sizeof(c_data), c_data)));
237
+ new Column(0, c_index, c_timestamp, sizeof(c_data), c_data)));
239
238
  columns_data_size += columns[1]->Size();
240
239
 
241
240
  int8_t t_index = 2;
242
241
  int32_t t_local_deletion_time = 1494022801;
243
242
  int64_t t_marked_for_delete_at = 1494022807043;
244
243
  columns.push_back(std::shared_ptr<Tombstone>(
245
- new Tombstone(ColumnTypeMask::DELETION_MASK,
246
- t_index, t_local_deletion_time, t_marked_for_delete_at)));
244
+ new Tombstone(ColumnTypeMask::DELETION_MASK, t_index,
245
+ t_local_deletion_time, t_marked_for_delete_at)));
247
246
  columns_data_size += columns[2]->Size();
248
247
 
249
248
  RowValue r = RowValue(std::move(columns), last_modified_time);
@@ -260,15 +259,15 @@ TEST(RowValueTest, RowWithColumns) {
260
259
  EXPECT_EQ(dest.size(), r.Size());
261
260
  std::size_t offset = 0;
262
261
  EXPECT_EQ(Deserialize<int32_t>(dest.c_str(), offset),
263
- std::numeric_limits<int32_t>::max());
262
+ std::numeric_limits<int32_t>::max());
264
263
  offset += sizeof(int32_t);
265
264
  EXPECT_EQ(Deserialize<int64_t>(dest.c_str(), offset),
266
- std::numeric_limits<int64_t>::min());
265
+ std::numeric_limits<int64_t>::min());
267
266
  offset += sizeof(int64_t);
268
267
 
269
268
  // Column0: ExpiringColumn
270
269
  EXPECT_EQ(Deserialize<int8_t>(dest.c_str(), offset),
271
- ColumnTypeMask::EXPIRATION_MASK);
270
+ ColumnTypeMask::EXPIRATION_MASK);
272
271
  offset += sizeof(int8_t);
273
272
  EXPECT_EQ(Deserialize<int8_t>(dest.c_str(), offset), e_index);
274
273
  offset += sizeof(int8_t);
@@ -295,7 +294,7 @@ TEST(RowValueTest, RowWithColumns) {
295
294
 
296
295
  // Column2: Tombstone
297
296
  EXPECT_EQ(Deserialize<int8_t>(dest.c_str(), offset),
298
- ColumnTypeMask::DELETION_MASK);
297
+ ColumnTypeMask::DELETION_MASK);
299
298
  offset += sizeof(int8_t);
300
299
  EXPECT_EQ(Deserialize<int8_t>(dest.c_str(), offset), t_index);
301
300
  offset += sizeof(int8_t);
@@ -311,19 +310,20 @@ TEST(RowValueTest, RowWithColumns) {
311
310
 
312
311
  r1.Serialize(&dest);
313
312
  EXPECT_EQ(dest.size(), 2 * r.Size());
314
- EXPECT_TRUE(
315
- std::memcmp(dest.c_str(), dest.c_str() + r.Size(), r.Size()) == 0);
313
+ EXPECT_TRUE(std::memcmp(dest.c_str(), dest.c_str() + r.Size(), r.Size()) ==
314
+ 0);
316
315
  }
317
316
 
318
317
  TEST(RowValueTest, PurgeTtlShouldRemvoeAllColumnsExpired) {
319
318
  int64_t now = time(nullptr);
320
319
 
321
- auto row_value = CreateTestRowValue({
322
- CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now)),
323
- CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now - kTtl - 10)), //expired
324
- CreateTestColumnSpec(kExpiringColumn, 2, ToMicroSeconds(now)), // not expired
325
- CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))
326
- });
320
+ auto row_value = CreateTestRowValue(
321
+ {CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now)),
322
+ CreateTestColumnSpec(kExpiringColumn, 1,
323
+ ToMicroSeconds(now - kTtl - 10)), // expired
324
+ CreateTestColumnSpec(kExpiringColumn, 2,
325
+ ToMicroSeconds(now)), // not expired
326
+ CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))});
327
327
 
328
328
  bool changed = false;
329
329
  auto purged = row_value.RemoveExpiredColumns(&changed);
@@ -343,12 +343,13 @@ TEST(RowValueTest, PurgeTtlShouldRemvoeAllColumnsExpired) {
343
343
  TEST(RowValueTest, ExpireTtlShouldConvertExpiredColumnsToTombstones) {
344
344
  int64_t now = time(nullptr);
345
345
 
346
- auto row_value = CreateTestRowValue({
347
- CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now)),
348
- CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now - kTtl - 10)), //expired
349
- CreateTestColumnSpec(kExpiringColumn, 2, ToMicroSeconds(now)), // not expired
350
- CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))
351
- });
346
+ auto row_value = CreateTestRowValue(
347
+ {CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now)),
348
+ CreateTestColumnSpec(kExpiringColumn, 1,
349
+ ToMicroSeconds(now - kTtl - 10)), // expired
350
+ CreateTestColumnSpec(kExpiringColumn, 2,
351
+ ToMicroSeconds(now)), // not expired
352
+ CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))});
352
353
 
353
354
  bool changed = false;
354
355
  auto compacted = row_value.ConvertExpiredColumnsToTombstones(&changed);
@@ -366,7 +367,7 @@ TEST(RowValueTest, ExpireTtlShouldConvertExpiredColumnsToTombstones) {
366
367
  compacted.ConvertExpiredColumnsToTombstones(&changed);
367
368
  EXPECT_FALSE(changed);
368
369
  }
369
- } // namespace cassandra
370
+ } // namespace cassandra
370
371
  } // namespace ROCKSDB_NAMESPACE
371
372
 
372
373
  int main(int argc, char** argv) {
@@ -18,7 +18,6 @@
18
18
  #include "utilities/cassandra/test_utils.h"
19
19
  #include "utilities/merge_operators.h"
20
20
 
21
-
22
21
  namespace ROCKSDB_NAMESPACE {
23
22
  namespace cassandra {
24
23
 
@@ -32,7 +31,7 @@ class CassandraStore {
32
31
  assert(db);
33
32
  }
34
33
 
35
- bool Append(const std::string& key, const RowValue& val){
34
+ bool Append(const std::string& key, const RowValue& val) {
36
35
  std::string result;
37
36
  val.Serialize(&result);
38
37
  Slice valSlice(result.data(), result.size());
@@ -72,14 +71,13 @@ class CassandraStore {
72
71
  db_->DefaultColumnFamily());
73
72
  }
74
73
 
75
- std::tuple<bool, RowValue> Get(const std::string& key){
74
+ std::tuple<bool, RowValue> Get(const std::string& key) {
76
75
  std::string result;
77
76
  auto s = db_->Get(get_option_, key, &result);
78
77
 
79
78
  if (s.ok()) {
80
- return std::make_tuple(true,
81
- RowValue::Deserialize(result.data(),
82
- result.size()));
79
+ return std::make_tuple(
80
+ true, RowValue::Deserialize(result.data(), result.size()));
83
81
  }
84
82
 
85
83
  if (!s.IsNotFound()) {
@@ -98,29 +96,28 @@ class CassandraStore {
98
96
  };
99
97
 
100
98
  class TestCompactionFilterFactory : public CompactionFilterFactory {
101
- public:
102
- explicit TestCompactionFilterFactory(bool purge_ttl_on_expiration,
103
- int32_t gc_grace_period_in_seconds)
104
- : purge_ttl_on_expiration_(purge_ttl_on_expiration),
105
- gc_grace_period_in_seconds_(gc_grace_period_in_seconds) {}
106
-
107
- std::unique_ptr<CompactionFilter> CreateCompactionFilter(
108
- const CompactionFilter::Context& /*context*/) override {
109
- return std::unique_ptr<CompactionFilter>(new CassandraCompactionFilter(
110
- purge_ttl_on_expiration_, gc_grace_period_in_seconds_));
111
- }
99
+ public:
100
+ explicit TestCompactionFilterFactory(bool purge_ttl_on_expiration,
101
+ int32_t gc_grace_period_in_seconds)
102
+ : purge_ttl_on_expiration_(purge_ttl_on_expiration),
103
+ gc_grace_period_in_seconds_(gc_grace_period_in_seconds) {}
104
+
105
+ std::unique_ptr<CompactionFilter> CreateCompactionFilter(
106
+ const CompactionFilter::Context& /*context*/) override {
107
+ return std::unique_ptr<CompactionFilter>(new CassandraCompactionFilter(
108
+ purge_ttl_on_expiration_, gc_grace_period_in_seconds_));
109
+ }
112
110
 
113
- const char* Name() const override { return "TestCompactionFilterFactory"; }
111
+ const char* Name() const override { return "TestCompactionFilterFactory"; }
114
112
 
115
- private:
113
+ private:
116
114
  bool purge_ttl_on_expiration_;
117
115
  int32_t gc_grace_period_in_seconds_;
118
116
  };
119
117
 
120
-
121
118
  // The class for unit-testing
122
119
  class CassandraFunctionalTest : public testing::Test {
123
- public:
120
+ public:
124
121
  CassandraFunctionalTest() {
125
122
  EXPECT_OK(
126
123
  DestroyDB(kDbName, Options())); // Start each test with a fresh DB
@@ -130,7 +127,8 @@ public:
130
127
  DB* db;
131
128
  Options options;
132
129
  options.create_if_missing = true;
133
- options.merge_operator.reset(new CassandraValueMergeOperator(gc_grace_period_in_seconds_));
130
+ options.merge_operator.reset(
131
+ new CassandraValueMergeOperator(gc_grace_period_in_seconds_));
134
132
  auto* cf_factory = new TestCompactionFilterFactory(
135
133
  purge_ttl_on_expiration_, gc_grace_period_in_seconds_);
136
134
  options.compaction_filter_factory.reset(cf_factory);
@@ -148,23 +146,29 @@ TEST_F(CassandraFunctionalTest, SimpleMergeTest) {
148
146
  CassandraStore store(OpenDb());
149
147
  int64_t now = time(nullptr);
150
148
 
151
- store.Append("k1", CreateTestRowValue({
152
- CreateTestColumnSpec(kTombstone, 0, ToMicroSeconds(now + 5)),
153
- CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now + 8)),
154
- CreateTestColumnSpec(kExpiringColumn, 2, ToMicroSeconds(now + 5)),
155
- }));
156
- store.Append("k1",CreateTestRowValue({
157
- CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now + 2)),
158
- CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now + 5)),
159
- CreateTestColumnSpec(kTombstone, 2, ToMicroSeconds(now + 7)),
160
- CreateTestColumnSpec(kExpiringColumn, 7, ToMicroSeconds(now + 17)),
161
- }));
162
- store.Append("k1", CreateTestRowValue({
163
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now + 6)),
164
- CreateTestColumnSpec(kTombstone, 1, ToMicroSeconds(now + 5)),
165
- CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now + 4)),
166
- CreateTestColumnSpec(kTombstone, 11, ToMicroSeconds(now + 11)),
167
- }));
149
+ store.Append(
150
+ "k1",
151
+ CreateTestRowValue({
152
+ CreateTestColumnSpec(kTombstone, 0, ToMicroSeconds(now + 5)),
153
+ CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now + 8)),
154
+ CreateTestColumnSpec(kExpiringColumn, 2, ToMicroSeconds(now + 5)),
155
+ }));
156
+ store.Append(
157
+ "k1",
158
+ CreateTestRowValue({
159
+ CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now + 2)),
160
+ CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now + 5)),
161
+ CreateTestColumnSpec(kTombstone, 2, ToMicroSeconds(now + 7)),
162
+ CreateTestColumnSpec(kExpiringColumn, 7, ToMicroSeconds(now + 17)),
163
+ }));
164
+ store.Append(
165
+ "k1",
166
+ CreateTestRowValue({
167
+ CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now + 6)),
168
+ CreateTestColumnSpec(kTombstone, 1, ToMicroSeconds(now + 5)),
169
+ CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now + 4)),
170
+ CreateTestColumnSpec(kTombstone, 11, ToMicroSeconds(now + 11)),
171
+ }));
168
172
 
169
173
  auto ret = store.Get("k1");
170
174
 
@@ -188,7 +192,7 @@ constexpr int64_t kTestTimeoutSecs = 600;
188
192
  TEST_F(CassandraFunctionalTest,
189
193
  CompactionShouldConvertExpiredColumnsToTombstone) {
190
194
  CassandraStore store(OpenDb());
191
- int64_t now= time(nullptr);
195
+ int64_t now = time(nullptr);
192
196
 
193
197
  store.Append(
194
198
  "k1",
@@ -202,10 +206,12 @@ TEST_F(CassandraFunctionalTest,
202
206
 
203
207
  ASSERT_OK(store.Flush());
204
208
 
205
- store.Append("k1",CreateTestRowValue({
206
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now - kTtl - 10)), //expired
207
- CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now))
208
- }));
209
+ store.Append(
210
+ "k1",
211
+ CreateTestRowValue(
212
+ {CreateTestColumnSpec(kExpiringColumn, 0,
213
+ ToMicroSeconds(now - kTtl - 10)), // expired
214
+ CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now))}));
209
215
 
210
216
  ASSERT_OK(store.Flush());
211
217
  ASSERT_OK(store.Compact());
@@ -224,25 +230,29 @@ TEST_F(CassandraFunctionalTest,
224
230
  ToMicroSeconds(now));
225
231
  }
226
232
 
227
-
228
233
  TEST_F(CassandraFunctionalTest,
229
234
  CompactionShouldPurgeExpiredColumnsIfPurgeTtlIsOn) {
230
235
  purge_ttl_on_expiration_ = true;
231
236
  CassandraStore store(OpenDb());
232
237
  int64_t now = time(nullptr);
233
238
 
234
- store.Append("k1", CreateTestRowValue({
235
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now - kTtl - 20)), //expired
236
- CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now)), // not expired
237
- CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))
238
- }));
239
+ store.Append(
240
+ "k1",
241
+ CreateTestRowValue(
242
+ {CreateTestColumnSpec(kExpiringColumn, 0,
243
+ ToMicroSeconds(now - kTtl - 20)), // expired
244
+ CreateTestColumnSpec(kExpiringColumn, 1,
245
+ ToMicroSeconds(now)), // not expired
246
+ CreateTestColumnSpec(kTombstone, 3, ToMicroSeconds(now))}));
239
247
 
240
248
  ASSERT_OK(store.Flush());
241
249
 
242
- store.Append("k1",CreateTestRowValue({
243
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now - kTtl - 10)), //expired
244
- CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now))
245
- }));
250
+ store.Append(
251
+ "k1",
252
+ CreateTestRowValue(
253
+ {CreateTestColumnSpec(kExpiringColumn, 0,
254
+ ToMicroSeconds(now - kTtl - 10)), // expired
255
+ CreateTestColumnSpec(kColumn, 2, ToMicroSeconds(now))}));
246
256
 
247
257
  ASSERT_OK(store.Flush());
248
258
  ASSERT_OK(store.Compact());
@@ -266,15 +276,18 @@ TEST_F(CassandraFunctionalTest,
266
276
  int64_t now = time(nullptr);
267
277
 
268
278
  store.Append("k1", CreateTestRowValue({
269
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now - kTtl - 20)),
270
- CreateTestColumnSpec(kExpiringColumn, 1, ToMicroSeconds(now - kTtl - 20)),
271
- }));
279
+ CreateTestColumnSpec(kExpiringColumn, 0,
280
+ ToMicroSeconds(now - kTtl - 20)),
281
+ CreateTestColumnSpec(kExpiringColumn, 1,
282
+ ToMicroSeconds(now - kTtl - 20)),
283
+ }));
272
284
 
273
285
  ASSERT_OK(store.Flush());
274
286
 
275
- store.Append("k1",CreateTestRowValue({
276
- CreateTestColumnSpec(kExpiringColumn, 0, ToMicroSeconds(now - kTtl - 10)),
277
- }));
287
+ store.Append("k1", CreateTestRowValue({
288
+ CreateTestColumnSpec(kExpiringColumn, 0,
289
+ ToMicroSeconds(now - kTtl - 10)),
290
+ }));
278
291
 
279
292
  ASSERT_OK(store.Flush());
280
293
  ASSERT_OK(store.Compact());
@@ -287,20 +300,21 @@ TEST_F(CassandraFunctionalTest,
287
300
  CassandraStore store(OpenDb());
288
301
  int64_t now = time(nullptr);
289
302
 
290
- store.Append("k1", CreateTestRowValue({
291
- CreateTestColumnSpec(kTombstone, 0, ToMicroSeconds(now - gc_grace_period_in_seconds_ - 1)),
292
- CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now))
293
- }));
303
+ store.Append("k1",
304
+ CreateTestRowValue(
305
+ {CreateTestColumnSpec(
306
+ kTombstone, 0,
307
+ ToMicroSeconds(now - gc_grace_period_in_seconds_ - 1)),
308
+ CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now))}));
294
309
 
295
- store.Append("k2", CreateTestRowValue({
296
- CreateTestColumnSpec(kColumn, 0, ToMicroSeconds(now))
297
- }));
310
+ store.Append("k2", CreateTestRowValue({CreateTestColumnSpec(
311
+ kColumn, 0, ToMicroSeconds(now))}));
298
312
 
299
313
  ASSERT_OK(store.Flush());
300
314
 
301
- store.Append("k1",CreateTestRowValue({
302
- CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now)),
303
- }));
315
+ store.Append("k1", CreateTestRowValue({
316
+ CreateTestColumnSpec(kColumn, 1, ToMicroSeconds(now)),
317
+ }));
304
318
 
305
319
  ASSERT_OK(store.Flush());
306
320
  ASSERT_OK(store.Compact());
@@ -317,9 +331,12 @@ TEST_F(CassandraFunctionalTest, CompactionShouldRemoveTombstoneFromPut) {
317
331
  CassandraStore store(OpenDb());
318
332
  int64_t now = time(nullptr);
319
333
 
320
- store.Put("k1", CreateTestRowValue({
321
- CreateTestColumnSpec(kTombstone, 0, ToMicroSeconds(now - gc_grace_period_in_seconds_ - 1)),
322
- }));
334
+ store.Put("k1",
335
+ CreateTestRowValue({
336
+ CreateTestColumnSpec(
337
+ kTombstone, 0,
338
+ ToMicroSeconds(now - gc_grace_period_in_seconds_ - 1)),
339
+ }));
323
340
 
324
341
  ASSERT_OK(store.Flush());
325
342
  ASSERT_OK(store.Compact());
@@ -419,7 +436,7 @@ TEST_F(CassandraFunctionalTest, LoadCompactionFilterFactory) {
419
436
  }
420
437
  #endif // ROCKSDB_LITE
421
438
 
422
- } // namespace cassandra
439
+ } // namespace cassandra
423
440
  } // namespace ROCKSDB_NAMESPACE
424
441
 
425
442
  int main(int argc, char** argv) {
@@ -4,6 +4,7 @@
4
4
  // (found in the LICENSE.Apache file in the root directory).
5
5
 
6
6
  #include <memory>
7
+
7
8
  #include "test_util/testharness.h"
8
9
  #include "utilities/cassandra/format.h"
9
10
  #include "utilities/cassandra/test_utils.h"
@@ -15,31 +16,25 @@ class RowValueMergeTest : public testing::Test {};
15
16
 
16
17
  TEST(RowValueMergeTest, Merge) {
17
18
  std::vector<RowValue> row_values;
18
- row_values.push_back(
19
- CreateTestRowValue({
19
+ row_values.push_back(CreateTestRowValue({
20
20
  CreateTestColumnSpec(kTombstone, 0, 5),
21
21
  CreateTestColumnSpec(kColumn, 1, 8),
22
22
  CreateTestColumnSpec(kExpiringColumn, 2, 5),
23
- })
24
- );
23
+ }));
25
24
 
26
- row_values.push_back(
27
- CreateTestRowValue({
25
+ row_values.push_back(CreateTestRowValue({
28
26
  CreateTestColumnSpec(kColumn, 0, 2),
29
27
  CreateTestColumnSpec(kExpiringColumn, 1, 5),
30
28
  CreateTestColumnSpec(kTombstone, 2, 7),
31
29
  CreateTestColumnSpec(kExpiringColumn, 7, 17),
32
- })
33
- );
30
+ }));
34
31
 
35
- row_values.push_back(
36
- CreateTestRowValue({
32
+ row_values.push_back(CreateTestRowValue({
37
33
  CreateTestColumnSpec(kExpiringColumn, 0, 6),
38
34
  CreateTestColumnSpec(kTombstone, 1, 5),
39
35
  CreateTestColumnSpec(kColumn, 2, 4),
40
36
  CreateTestColumnSpec(kTombstone, 11, 11),
41
- })
42
- );
37
+ }));
43
38
 
44
39
  RowValue merged = RowValue::Merge(std::move(row_values));
45
40
  EXPECT_FALSE(merged.IsTombstone());
@@ -55,33 +50,25 @@ TEST(RowValueMergeTest, MergeWithRowTombstone) {
55
50
  std::vector<RowValue> row_values;
56
51
 
57
52
  // A row tombstone.
58
- row_values.push_back(
59
- CreateRowTombstone(11)
60
- );
53
+ row_values.push_back(CreateRowTombstone(11));
61
54
 
62
55
  // This row's timestamp is smaller than tombstone.
63
- row_values.push_back(
64
- CreateTestRowValue({
56
+ row_values.push_back(CreateTestRowValue({
65
57
  CreateTestColumnSpec(kColumn, 0, 5),
66
58
  CreateTestColumnSpec(kColumn, 1, 6),
67
- })
68
- );
59
+ }));
69
60
 
70
61
  // Some of the column's row is smaller, some is larger.
71
- row_values.push_back(
72
- CreateTestRowValue({
62
+ row_values.push_back(CreateTestRowValue({
73
63
  CreateTestColumnSpec(kColumn, 2, 10),
74
64
  CreateTestColumnSpec(kColumn, 3, 12),
75
- })
76
- );
65
+ }));
77
66
 
78
67
  // All of the column's rows are larger than tombstone.
79
- row_values.push_back(
80
- CreateTestRowValue({
68
+ row_values.push_back(CreateTestRowValue({
81
69
  CreateTestColumnSpec(kColumn, 4, 13),
82
70
  CreateTestColumnSpec(kColumn, 5, 14),
83
- })
84
- );
71
+ }));
85
72
 
86
73
  RowValue merged = RowValue::Merge(std::move(row_values));
87
74
  EXPECT_FALSE(merged.IsTombstone());
@@ -92,20 +79,16 @@ TEST(RowValueMergeTest, MergeWithRowTombstone) {
92
79
 
93
80
  // If the tombstone's timestamp is the latest, then it returns a
94
81
  // row tombstone.
95
- row_values.push_back(
96
- CreateRowTombstone(15)
97
- );
82
+ row_values.push_back(CreateRowTombstone(15));
98
83
 
99
- row_values.push_back(
100
- CreateRowTombstone(17)
101
- );
84
+ row_values.push_back(CreateRowTombstone(17));
102
85
 
103
86
  merged = RowValue::Merge(std::move(row_values));
104
87
  EXPECT_TRUE(merged.IsTombstone());
105
88
  EXPECT_EQ(merged.LastModifiedTime(), 17);
106
89
  }
107
90
 
108
- } // namespace cassandra
91
+ } // namespace cassandra
109
92
  } // namespace ROCKSDB_NAMESPACE
110
93
 
111
94
  int main(int argc, char** argv) {