@nxtedition/rocksdb 8.2.0 → 8.2.2

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 (321) hide show
  1. package/binding.cc +3 -3
  2. package/deps/rocksdb/rocksdb/CMakeLists.txt +16 -52
  3. package/deps/rocksdb/rocksdb/Makefile +10 -5
  4. package/deps/rocksdb/rocksdb/TARGETS +8 -345
  5. package/deps/rocksdb/rocksdb/cache/cache_test.cc +92 -0
  6. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +32 -32
  7. package/deps/rocksdb/rocksdb/cache/clock_cache.h +12 -9
  8. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +6 -43
  9. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +3 -13
  10. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +8 -5
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +21 -47
  12. package/deps/rocksdb/rocksdb/cache/lru_cache.h +3 -8
  13. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -1
  14. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +1 -2
  15. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +44 -7
  16. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +13 -14
  17. package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +1 -1
  18. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -0
  19. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +2 -1
  21. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +17 -8
  22. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +40 -21
  23. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +5 -1
  24. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +41 -42
  25. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +1 -1
  26. package/deps/rocksdb/rocksdb/db/blob/blob_log_writer.cc +1 -1
  27. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +5 -4
  28. package/deps/rocksdb/rocksdb/db/blob/blob_source.h +2 -2
  29. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +5 -3
  30. package/deps/rocksdb/rocksdb/db/builder.cc +7 -6
  31. package/deps/rocksdb/rocksdb/db/builder.h +2 -2
  32. package/deps/rocksdb/rocksdb/db/c.cc +76 -5
  33. package/deps/rocksdb/rocksdb/db/c_test.c +141 -0
  34. package/deps/rocksdb/rocksdb/db/column_family.cc +32 -0
  35. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +3 -2
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +5 -0
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +8 -5
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +12 -10
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +21 -17
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -2
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -7
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +3 -1
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +1 -1
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +77 -50
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +4 -5
  46. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +55 -8
  47. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +142 -56
  48. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  49. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +1 -2
  50. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +21 -20
  51. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  52. package/deps/rocksdb/rocksdb/db/corruption_test.cc +5 -4
  53. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +6 -3
  54. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +260 -220
  55. package/deps/rocksdb/rocksdb/db/db_clip_test.cc +142 -0
  56. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +1 -1
  57. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +333 -27
  58. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +5 -0
  59. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +7 -0
  60. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +189 -27
  61. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +23 -10
  62. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +134 -90
  63. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +2 -2
  64. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -3
  65. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +5 -1
  66. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +124 -16
  67. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +10 -0
  68. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +7 -0
  69. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +15 -0
  70. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +11 -5
  71. package/deps/rocksdb/rocksdb/db/db_iter.cc +7 -8
  72. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +54 -3
  73. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +42 -0
  74. package/deps/rocksdb/rocksdb/db/db_options_test.cc +116 -1
  75. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -2
  76. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +3 -2
  77. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +9 -8
  78. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +142 -63
  79. package/deps/rocksdb/rocksdb/db/db_test.cc +28 -7
  80. package/deps/rocksdb/rocksdb/db/db_test2.cc +71 -131
  81. package/deps/rocksdb/rocksdb/db/db_test_util.cc +18 -0
  82. package/deps/rocksdb/rocksdb/db/db_test_util.h +6 -0
  83. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +10 -10
  84. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +25 -0
  85. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +88 -0
  86. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +67 -0
  87. package/deps/rocksdb/rocksdb/db/db_write_test.cc +5 -0
  88. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
  89. package/deps/rocksdb/rocksdb/db/experimental.cc +4 -2
  90. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +86 -1
  91. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +15 -2
  92. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -2
  93. package/deps/rocksdb/rocksdb/db/flush_job.cc +21 -14
  94. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +14 -7
  95. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +31 -8
  96. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +21 -19
  97. package/deps/rocksdb/rocksdb/db/internal_stats.cc +42 -12
  98. package/deps/rocksdb/rocksdb/db/internal_stats.h +1 -0
  99. package/deps/rocksdb/rocksdb/db/kv_checksum.h +92 -6
  100. package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -2
  101. package/deps/rocksdb/rocksdb/db/log_format.h +8 -4
  102. package/deps/rocksdb/rocksdb/db/log_reader.cc +129 -51
  103. package/deps/rocksdb/rocksdb/db/log_reader.h +16 -0
  104. package/deps/rocksdb/rocksdb/db/log_test.cc +125 -4
  105. package/deps/rocksdb/rocksdb/db/log_writer.cc +32 -2
  106. package/deps/rocksdb/rocksdb/db/log_writer.h +16 -0
  107. package/deps/rocksdb/rocksdb/db/memtable.cc +17 -46
  108. package/deps/rocksdb/rocksdb/db/memtable.h +1 -1
  109. package/deps/rocksdb/rocksdb/db/memtable_list.cc +8 -4
  110. package/deps/rocksdb/rocksdb/db/merge_helper.cc +1 -1
  111. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +2 -1
  112. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +5 -4
  113. package/deps/rocksdb/rocksdb/db/repair.cc +38 -11
  114. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +3 -3
  115. package/deps/rocksdb/rocksdb/db/table_cache.cc +68 -51
  116. package/deps/rocksdb/rocksdb/db/table_cache.h +20 -10
  117. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -1
  118. package/deps/rocksdb/rocksdb/db/table_properties_collector_test.cc +6 -3
  119. package/deps/rocksdb/rocksdb/db/version_builder.cc +9 -5
  120. package/deps/rocksdb/rocksdb/db/version_builder.h +2 -1
  121. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +140 -120
  122. package/deps/rocksdb/rocksdb/db/version_edit.cc +14 -0
  123. package/deps/rocksdb/rocksdb/db/version_edit.h +12 -4
  124. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +21 -13
  125. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +26 -16
  126. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +9 -9
  127. package/deps/rocksdb/rocksdb/db/version_set.cc +292 -96
  128. package/deps/rocksdb/rocksdb/db/version_set.h +53 -28
  129. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +1 -0
  130. package/deps/rocksdb/rocksdb/db/version_set_test.cc +62 -22
  131. package/deps/rocksdb/rocksdb/db/version_util.h +5 -4
  132. package/deps/rocksdb/rocksdb/db/write_batch.cc +3 -1
  133. package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
  134. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +119 -27
  135. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +123 -0
  136. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +4 -0
  137. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +7 -2
  138. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +34 -0
  139. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -0
  140. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +43 -33
  141. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +29 -17
  142. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +5 -0
  143. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +6 -1
  144. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +85 -50
  145. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +96 -54
  146. package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.cc +122 -0
  147. package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +206 -0
  148. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +9 -1
  149. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +9 -3
  150. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +322 -92
  151. package/deps/rocksdb/rocksdb/env/env_posix.cc +12 -8
  152. package/deps/rocksdb/rocksdb/env/env_test.cc +31 -0
  153. package/deps/rocksdb/rocksdb/env/mock_env.cc +1 -1
  154. package/deps/rocksdb/rocksdb/env/unique_id_gen.h +14 -0
  155. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +1 -1
  156. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +5 -1
  157. package/deps/rocksdb/rocksdb/file/file_util.cc +3 -3
  158. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  159. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +89 -0
  160. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +22 -7
  161. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -2
  162. package/deps/rocksdb/rocksdb/file/readahead_raf.cc +1 -1
  163. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +1 -1
  164. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +1 -1
  165. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +3 -0
  166. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +154 -74
  167. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +27 -7
  168. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +107 -28
  169. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +19 -0
  170. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +8 -0
  171. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +2 -0
  172. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +7 -1
  173. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +137 -152
  174. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +61 -26
  175. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +30 -26
  176. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +33 -16
  177. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +87 -8
  178. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +1 -1
  179. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
  180. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -0
  181. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +1 -0
  182. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +7 -0
  183. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -1
  184. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  185. package/deps/rocksdb/rocksdb/include/rocksdb/write_buffer_manager.h +9 -2
  186. package/deps/rocksdb/rocksdb/logging/env_logger.h +2 -0
  187. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +78 -42
  188. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +14 -9
  189. package/deps/rocksdb/rocksdb/memtable/inlineskiplist_test.cc +1 -0
  190. package/deps/rocksdb/rocksdb/memtable/skiplist_test.cc +1 -0
  191. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +4 -9
  192. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +19 -11
  193. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
  194. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +211 -555
  195. package/deps/rocksdb/rocksdb/monitoring/perf_step_timer.h +1 -1
  196. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +36 -2
  197. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +17 -7
  198. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +10 -7
  199. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +19 -18
  200. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +10 -2
  201. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -0
  202. package/deps/rocksdb/rocksdb/options/cf_options.cc +35 -2
  203. package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
  204. package/deps/rocksdb/rocksdb/options/customizable_test.cc +1 -1
  205. package/deps/rocksdb/rocksdb/options/options.cc +12 -53
  206. package/deps/rocksdb/rocksdb/options/options_helper.cc +4 -0
  207. package/deps/rocksdb/rocksdb/options/options_parser.cc +11 -0
  208. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +32 -4
  209. package/deps/rocksdb/rocksdb/options/options_test.cc +89 -5
  210. package/deps/rocksdb/rocksdb/port/lang.h +27 -0
  211. package/deps/rocksdb/rocksdb/port/stack_trace.cc +67 -24
  212. package/deps/rocksdb/rocksdb/src.mk +2 -0
  213. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -3
  214. package/deps/rocksdb/rocksdb/table/block_based/block.cc +195 -35
  215. package/deps/rocksdb/rocksdb/table/block_based/block.h +197 -24
  216. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +71 -51
  217. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +7 -1
  218. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +4 -6
  219. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +3 -0
  220. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +43 -2
  221. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +36 -6
  222. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +266 -166
  223. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +44 -14
  224. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +1 -1
  225. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +63 -56
  226. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +8 -2
  227. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +4 -2
  228. package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +10 -0
  229. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +14 -2
  230. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +918 -2
  231. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +3 -2
  232. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +10 -9
  233. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -8
  234. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.h +2 -2
  235. package/deps/rocksdb/rocksdb/table/block_based/flush_block_policy.cc +1 -1
  236. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.cc +18 -23
  237. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block.h +8 -8
  238. package/deps/rocksdb/rocksdb/table/block_based/full_filter_block_test.cc +16 -32
  239. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +7 -8
  240. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +4 -5
  241. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +3 -3
  242. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +46 -53
  243. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +12 -12
  244. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +7 -9
  245. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +26 -23
  246. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.h +2 -1
  247. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +3 -0
  248. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -2
  249. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +3 -2
  250. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +7 -1
  251. package/deps/rocksdb/rocksdb/table/block_fetcher.h +1 -1
  252. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +2 -1
  253. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +3 -2
  254. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +5 -2
  255. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.h +4 -2
  256. package/deps/rocksdb/rocksdb/table/format.cc +4 -4
  257. package/deps/rocksdb/rocksdb/table/format.h +1 -1
  258. package/deps/rocksdb/rocksdb/table/get_context.cc +1 -1
  259. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +33 -22
  260. package/deps/rocksdb/rocksdb/table/meta_blocks.h +4 -0
  261. package/deps/rocksdb/rocksdb/table/mock_table.cc +4 -2
  262. package/deps/rocksdb/rocksdb/table/persistent_cache_helper.h +1 -1
  263. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +1 -1
  264. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +18 -10
  265. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.h +4 -3
  266. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +10 -7
  267. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +4 -2
  268. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +11 -0
  269. package/deps/rocksdb/rocksdb/table/table_builder.h +14 -5
  270. package/deps/rocksdb/rocksdb/table/table_properties.cc +2 -0
  271. package/deps/rocksdb/rocksdb/table/table_reader.h +6 -3
  272. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +1 -1
  273. package/deps/rocksdb/rocksdb/table/table_test.cc +291 -34
  274. package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +3 -1
  275. package/deps/rocksdb/rocksdb/test_util/testharness.h +5 -0
  276. package/deps/rocksdb/rocksdb/test_util/testutil.cc +2 -2
  277. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +33 -17
  278. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +3 -1
  279. package/deps/rocksdb/rocksdb/util/bloom_impl.h +2 -2
  280. package/deps/rocksdb/rocksdb/util/compression.h +1 -1
  281. package/deps/rocksdb/rocksdb/util/crc32c.cc +24 -83
  282. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +7 -9
  283. package/deps/rocksdb/rocksdb/util/file_checksum_helper.cc +4 -1
  284. package/deps/rocksdb/rocksdb/util/filter_bench.cc +1 -1
  285. package/deps/rocksdb/rocksdb/util/gflags_compat.h +9 -10
  286. package/deps/rocksdb/rocksdb/util/math.h +12 -7
  287. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +16 -18
  288. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +46 -2
  289. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +6 -6
  290. package/deps/rocksdb/rocksdb/util/slice_transform_test.cc +12 -7
  291. package/deps/rocksdb/rocksdb/util/stop_watch.h +31 -13
  292. package/deps/rocksdb/rocksdb/util/thread_list_test.cc +2 -0
  293. package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
  294. package/deps/rocksdb/rocksdb/util/udt_util.h +77 -0
  295. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge.cc +2 -2
  296. package/deps/rocksdb/rocksdb/utilities/agg_merge/agg_merge_test.cc +1 -1
  297. package/deps/rocksdb/rocksdb/utilities/agg_merge/test_agg_merge.cc +1 -1
  298. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +1 -1
  299. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +1 -1
  300. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.h +1 -1
  301. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +11 -1
  302. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +34 -1
  303. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +15 -0
  304. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +1 -1
  305. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +5 -1
  306. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +29 -1
  307. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +0 -1
  308. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +0 -1
  309. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +6 -1
  310. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +10 -0
  311. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +6 -1
  312. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +5 -0
  313. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +5 -0
  314. package/package.json +1 -1
  315. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  316. package/prebuilds/linux-x64/node.napi.node +0 -0
  317. /package/deps/rocksdb/rocksdb/memory/{memory_allocator.h → memory_allocator_impl.h} +0 -0
  318. /package/deps/rocksdb/rocksdb/monitoring/{statistics.h → statistics_impl.h} +0 -0
  319. /package/deps/rocksdb/rocksdb/table/block_based/{flush_block_policy.h → flush_block_policy_impl.h} +0 -0
  320. /package/deps/rocksdb/rocksdb/util/{rate_limiter.h → rate_limiter_impl.h} +0 -0
  321. /package/deps/rocksdb/rocksdb/utilities/agg_merge/{agg_merge.h → agg_merge_impl.h} +0 -0
@@ -96,6 +96,7 @@ class TableCache {
96
96
  size_t max_file_size_for_l0_meta_pin,
97
97
  const InternalKey* smallest_compaction_key,
98
98
  const InternalKey* largest_compaction_key, bool allow_unprepared_value,
99
+ uint8_t protection_bytes_per_key,
99
100
  TruncatedRangeDelIterator** range_del_iter = nullptr);
100
101
 
101
102
  // If a seek to internal key "k" in specified file finds an entry,
@@ -112,6 +113,7 @@ class TableCache {
112
113
  const ReadOptions& options,
113
114
  const InternalKeyComparator& internal_comparator,
114
115
  const FileMetaData& file_meta, const Slice& k, GetContext* get_context,
116
+ uint8_t block_protection_bytes_per_key,
115
117
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
116
118
  HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
117
119
  int level = -1, size_t max_file_size_for_l0_meta_pin = 0);
@@ -121,7 +123,7 @@ class TableCache {
121
123
  Status GetRangeTombstoneIterator(
122
124
  const ReadOptions& options,
123
125
  const InternalKeyComparator& internal_comparator,
124
- const FileMetaData& file_meta,
126
+ const FileMetaData& file_meta, uint8_t block_protection_bytes_per_key,
125
127
  std::unique_ptr<FragmentedRangeTombstoneIterator>* out_iter);
126
128
 
127
129
  // Call table reader's MultiGetFilter to use the bloom filter to filter out
@@ -135,7 +137,8 @@ class TableCache {
135
137
  const FileMetaData& file_meta,
136
138
  const std::shared_ptr<const SliceTransform>& prefix_extractor,
137
139
  HistogramImpl* file_read_hist, int level,
138
- MultiGetContext::Range* mget_range, TypedHandle** table_handle);
140
+ MultiGetContext::Range* mget_range, TypedHandle** table_handle,
141
+ uint8_t block_protection_bytes_per_key);
139
142
 
140
143
  // If a seek to internal key "k" in specified file finds an entry,
141
144
  // call get_context->SaveValue() repeatedly until
@@ -150,6 +153,7 @@ class TableCache {
150
153
  Status, MultiGet, const ReadOptions& options,
151
154
  const InternalKeyComparator& internal_comparator,
152
155
  const FileMetaData& file_meta, const MultiGetContext::Range* mget_range,
156
+ uint8_t block_protection_bytes_per_key,
153
157
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
154
158
  HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
155
159
  bool skip_range_deletions = false, int level = -1,
@@ -165,6 +169,7 @@ class TableCache {
165
169
  const ReadOptions& ro, const FileOptions& toptions,
166
170
  const InternalKeyComparator& internal_comparator,
167
171
  const FileMetaData& file_meta, TypedHandle**,
172
+ uint8_t block_protection_bytes_per_key,
168
173
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
169
174
  const bool no_io = false, bool record_read_stats = true,
170
175
  HistogramImpl* file_read_hist = nullptr, bool skip_filters = false,
@@ -179,38 +184,43 @@ class TableCache {
179
184
  // return Status::Incomplete() if table is not present in cache and
180
185
  // we set `no_io` to be true.
181
186
  Status GetTableProperties(
182
- const FileOptions& toptions,
187
+ const FileOptions& toptions, const ReadOptions& read_options,
183
188
  const InternalKeyComparator& internal_comparator,
184
189
  const FileMetaData& file_meta,
185
190
  std::shared_ptr<const TableProperties>* properties,
191
+ uint8_t block_protection_bytes_per_key,
186
192
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
187
193
  bool no_io = false);
188
194
 
189
195
  Status ApproximateKeyAnchors(const ReadOptions& ro,
190
196
  const InternalKeyComparator& internal_comparator,
191
197
  const FileMetaData& file_meta,
198
+ uint8_t block_protection_bytes_per_key,
192
199
  std::vector<TableReader::Anchor>& anchors);
193
200
 
194
201
  // Return total memory usage of the table reader of the file.
195
202
  // 0 if table reader of the file is not loaded.
196
203
  size_t GetMemoryUsageByTableReader(
197
- const FileOptions& toptions,
204
+ const FileOptions& toptions, const ReadOptions& read_options,
198
205
  const InternalKeyComparator& internal_comparator,
199
- const FileMetaData& file_meta,
206
+ const FileMetaData& file_meta, uint8_t block_protection_bytes_per_key,
200
207
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
201
208
 
202
209
  // Returns approximated offset of a key in a file represented by fd.
203
210
  uint64_t ApproximateOffsetOf(
204
- const Slice& key, const FileMetaData& file_meta, TableReaderCaller caller,
211
+ const ReadOptions& read_options, const Slice& key,
212
+ const FileMetaData& file_meta, TableReaderCaller caller,
205
213
  const InternalKeyComparator& internal_comparator,
214
+ uint8_t block_protection_bytes_per_key,
206
215
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
207
216
 
208
217
  // Returns approximated data size between start and end keys in a file
209
218
  // represented by fd (the start key must not be greater than the end key).
210
219
  uint64_t ApproximateSize(
211
- const Slice& start, const Slice& end, const FileMetaData& file_meta,
212
- TableReaderCaller caller,
220
+ const ReadOptions& read_options, const Slice& start, const Slice& end,
221
+ const FileMetaData& file_meta, TableReaderCaller caller,
213
222
  const InternalKeyComparator& internal_comparator,
223
+ uint8_t block_protection_bytes_per_key,
214
224
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr);
215
225
 
216
226
  CacheInterface& get_cache() { return cache_; }
@@ -233,8 +243,8 @@ class TableCache {
233
243
  const ReadOptions& ro, const FileOptions& file_options,
234
244
  const InternalKeyComparator& internal_comparator,
235
245
  const FileMetaData& file_meta, bool sequential_mode,
236
- bool record_read_stats, HistogramImpl* file_read_hist,
237
- std::unique_ptr<TableReader>* table_reader,
246
+ bool record_read_stats, uint8_t block_protection_bytes_per_key,
247
+ HistogramImpl* file_read_hist, std::unique_ptr<TableReader>* table_reader,
238
248
  const std::shared_ptr<const SliceTransform>& prefix_extractor = nullptr,
239
249
  bool skip_filters = false, int level = -1,
240
250
  bool prefetch_index_and_filter_in_cache = true,
@@ -17,6 +17,7 @@ namespace ROCKSDB_NAMESPACE {
17
17
  DEFINE_SYNC_AND_ASYNC(Status, TableCache::MultiGet)
18
18
  (const ReadOptions& options, const InternalKeyComparator& internal_comparator,
19
19
  const FileMetaData& file_meta, const MultiGetContext::Range* mget_range,
20
+ uint8_t block_protection_bytes_per_key,
20
21
  const std::shared_ptr<const SliceTransform>& prefix_extractor,
21
22
  HistogramImpl* file_read_hist, bool skip_filters, bool skip_range_deletions,
22
23
  int level, TypedHandle* handle) {
@@ -65,7 +66,7 @@ DEFINE_SYNC_AND_ASYNC(Status, TableCache::MultiGet)
65
66
  if (t == nullptr) {
66
67
  assert(handle == nullptr);
67
68
  s = FindTable(options, file_options_, internal_comparator, file_meta,
68
- &handle, prefix_extractor,
69
+ &handle, block_protection_bytes_per_key, prefix_extractor,
69
70
  options.read_tier == kBlockCacheTier /* no_io */,
70
71
  true /* record_read_stats */, file_read_hist, skip_filters,
71
72
  level, true /* prefetch_index_and_filter_in_cache */,
@@ -292,8 +292,9 @@ void TestCustomizedTablePropertiesCollector(
292
292
  new RandomAccessFileReader(std::move(source), "test"));
293
293
 
294
294
  std::unique_ptr<TableProperties> props;
295
+ const ReadOptions read_options;
295
296
  Status s = ReadTableProperties(fake_file_reader.get(), fwf->contents().size(),
296
- magic_number, ioptions, &props);
297
+ magic_number, ioptions, read_options, &props);
297
298
  ASSERT_OK(s);
298
299
 
299
300
  auto user_collected = props->user_collected_properties;
@@ -429,8 +430,10 @@ void TestInternalKeyPropertiesCollector(
429
430
  new RandomAccessFileReader(std::move(source), "test"));
430
431
 
431
432
  std::unique_ptr<TableProperties> props;
432
- Status s = ReadTableProperties(reader.get(), fwf->contents().size(),
433
- magic_number, ioptions, &props);
433
+ const ReadOptions read_options;
434
+ Status s =
435
+ ReadTableProperties(reader.get(), fwf->contents().size(), magic_number,
436
+ ioptions, read_options, &props);
434
437
  ASSERT_OK(s);
435
438
 
436
439
  auto user_collected = props->user_collected_properties;
@@ -1257,7 +1257,8 @@ class VersionBuilder::Rep {
1257
1257
  InternalStats* internal_stats, int max_threads,
1258
1258
  bool prefetch_index_and_filter_in_cache, bool is_initial_load,
1259
1259
  const std::shared_ptr<const SliceTransform>& prefix_extractor,
1260
- size_t max_file_size_for_l0_meta_pin) {
1260
+ size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
1261
+ uint8_t block_protection_bytes_per_key) {
1261
1262
  assert(table_cache_ != nullptr);
1262
1263
 
1263
1264
  size_t table_cache_capacity =
@@ -1324,9 +1325,10 @@ class VersionBuilder::Rep {
1324
1325
  int level = files_meta[file_idx].second;
1325
1326
  TableCache::TypedHandle* handle = nullptr;
1326
1327
  statuses[file_idx] = table_cache_->FindTable(
1327
- ReadOptions(), file_options_,
1328
+ read_options, file_options_,
1328
1329
  *(base_vstorage_->InternalComparator()), *file_meta, &handle,
1329
- prefix_extractor, false /*no_io */, true /* record_read_stats */,
1330
+ block_protection_bytes_per_key, prefix_extractor, false /*no_io */,
1331
+ true /* record_read_stats */,
1330
1332
  internal_stats->GetFileReadHist(level), false, level,
1331
1333
  prefetch_index_and_filter_in_cache, max_file_size_for_l0_meta_pin,
1332
1334
  file_meta->temperature);
@@ -1384,10 +1386,12 @@ Status VersionBuilder::LoadTableHandlers(
1384
1386
  InternalStats* internal_stats, int max_threads,
1385
1387
  bool prefetch_index_and_filter_in_cache, bool is_initial_load,
1386
1388
  const std::shared_ptr<const SliceTransform>& prefix_extractor,
1387
- size_t max_file_size_for_l0_meta_pin) {
1389
+ size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
1390
+ uint8_t block_protection_bytes_per_key) {
1388
1391
  return rep_->LoadTableHandlers(
1389
1392
  internal_stats, max_threads, prefetch_index_and_filter_in_cache,
1390
- is_initial_load, prefix_extractor, max_file_size_for_l0_meta_pin);
1393
+ is_initial_load, prefix_extractor, max_file_size_for_l0_meta_pin,
1394
+ read_options, block_protection_bytes_per_key);
1391
1395
  }
1392
1396
 
1393
1397
  uint64_t VersionBuilder::GetMinOldestBlobFileNumber() const {
@@ -48,7 +48,8 @@ class VersionBuilder {
48
48
  InternalStats* internal_stats, int max_threads,
49
49
  bool prefetch_index_and_filter_in_cache, bool is_initial_load,
50
50
  const std::shared_ptr<const SliceTransform>& prefix_extractor,
51
- size_t max_file_size_for_l0_meta_pin);
51
+ size_t max_file_size_for_l0_meta_pin, const ReadOptions& read_options,
52
+ uint8_t block_protection_bytes_per_key);
52
53
  uint64_t GetMinOldestBlobFileNumber() const;
53
54
 
54
55
  private:
@@ -73,7 +73,7 @@ class VersionBuilderTest : public testing::Test {
73
73
  /* marked_for_compact */ false, Temperature::kUnknown,
74
74
  oldest_blob_file_number, kUnknownOldestAncesterTime,
75
75
  kUnknownFileCreationTime, epoch_number, kUnknownFileChecksum,
76
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
76
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
77
77
  f->compensated_file_size = file_size;
78
78
  f->num_entries = num_entries;
79
79
  f->num_deletions = num_deletions;
@@ -136,7 +136,7 @@ class VersionBuilderTest : public testing::Test {
136
136
  Temperature::kUnknown, blob_file_number,
137
137
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
138
138
  epoch_number, kUnknownFileChecksum,
139
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
139
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
140
140
  }
141
141
 
142
142
  void UpdateVersionStorageInfo(VersionStorageInfo* vstorage) {
@@ -183,11 +183,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
183
183
  UpdateVersionStorageInfo();
184
184
 
185
185
  VersionEdit version_edit;
186
- version_edit.AddFile(
187
- 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
188
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
189
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
190
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
186
+ version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
187
+ GetInternalKey("350"), 200, 200, false,
188
+ Temperature::kUnknown, kInvalidBlobFileNumber,
189
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
190
+ kUnknownEpochNumber, kUnknownFileChecksum,
191
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
191
192
  version_edit.DeleteFile(3, 27U);
192
193
 
193
194
  EnvOptions env_options;
@@ -230,11 +231,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
230
231
  UpdateVersionStorageInfo();
231
232
 
232
233
  VersionEdit version_edit;
233
- version_edit.AddFile(
234
- 3, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
235
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
236
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
237
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
234
+ version_edit.AddFile(3, 666, 0, 100U, GetInternalKey("301"),
235
+ GetInternalKey("350"), 200, 200, false,
236
+ Temperature::kUnknown, kInvalidBlobFileNumber,
237
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
238
+ kUnknownEpochNumber, kUnknownFileChecksum,
239
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
238
240
 
239
241
  version_edit.DeleteFile(0, 1U);
240
242
  version_edit.DeleteFile(0, 88U);
@@ -281,11 +283,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
281
283
  UpdateVersionStorageInfo();
282
284
 
283
285
  VersionEdit version_edit;
284
- version_edit.AddFile(
285
- 4, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
286
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
287
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
288
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
286
+ version_edit.AddFile(4, 666, 0, 100U, GetInternalKey("301"),
287
+ GetInternalKey("350"), 200, 200, false,
288
+ Temperature::kUnknown, kInvalidBlobFileNumber,
289
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
290
+ kUnknownEpochNumber, kUnknownFileChecksum,
291
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
289
292
  version_edit.DeleteFile(0, 1U);
290
293
  version_edit.DeleteFile(0, 88U);
291
294
  version_edit.DeleteFile(4, 6U);
@@ -317,31 +320,36 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
317
320
  UpdateVersionStorageInfo();
318
321
 
319
322
  VersionEdit version_edit;
320
- version_edit.AddFile(
321
- 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
322
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
323
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
324
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
325
- version_edit.AddFile(
326
- 2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
327
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
328
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
329
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
330
- version_edit.AddFile(
331
- 2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
332
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
333
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
334
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
335
- version_edit.AddFile(
336
- 2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
337
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
338
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
339
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
340
- version_edit.AddFile(
341
- 2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
342
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
343
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
344
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
323
+ version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
324
+ GetInternalKey("350"), 200, 200, false,
325
+ Temperature::kUnknown, kInvalidBlobFileNumber,
326
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
327
+ kUnknownEpochNumber, kUnknownFileChecksum,
328
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
329
+ version_edit.AddFile(2, 676, 0, 100U, GetInternalKey("401"),
330
+ GetInternalKey("450"), 200, 200, false,
331
+ Temperature::kUnknown, kInvalidBlobFileNumber,
332
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
333
+ kUnknownEpochNumber, kUnknownFileChecksum,
334
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
335
+ version_edit.AddFile(2, 636, 0, 100U, GetInternalKey("601"),
336
+ GetInternalKey("650"), 200, 200, false,
337
+ Temperature::kUnknown, kInvalidBlobFileNumber,
338
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
339
+ kUnknownEpochNumber, kUnknownFileChecksum,
340
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
341
+ version_edit.AddFile(2, 616, 0, 100U, GetInternalKey("501"),
342
+ GetInternalKey("550"), 200, 200, false,
343
+ Temperature::kUnknown, kInvalidBlobFileNumber,
344
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
345
+ kUnknownEpochNumber, kUnknownFileChecksum,
346
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
347
+ version_edit.AddFile(2, 606, 0, 100U, GetInternalKey("701"),
348
+ GetInternalKey("750"), 200, 200, false,
349
+ Temperature::kUnknown, kInvalidBlobFileNumber,
350
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
351
+ kUnknownEpochNumber, kUnknownFileChecksum,
352
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
345
353
 
346
354
  EnvOptions env_options;
347
355
  constexpr TableCache* table_cache = nullptr;
@@ -376,46 +384,53 @@ TEST_F(VersionBuilderTest, ApplyDeleteAndSaveTo) {
376
384
  kCompactionStyleLevel, nullptr, false);
377
385
 
378
386
  VersionEdit version_edit;
379
- version_edit.AddFile(
380
- 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
381
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
382
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
383
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
384
- version_edit.AddFile(
385
- 2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
386
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
387
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
388
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
389
- version_edit.AddFile(
390
- 2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
391
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
392
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
393
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
394
- version_edit.AddFile(
395
- 2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
396
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
397
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
398
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
399
- version_edit.AddFile(
400
- 2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
401
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
402
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
403
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
387
+ version_edit.AddFile(2, 666, 0, 100U, GetInternalKey("301"),
388
+ GetInternalKey("350"), 200, 200, false,
389
+ Temperature::kUnknown, kInvalidBlobFileNumber,
390
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
391
+ kUnknownEpochNumber, kUnknownFileChecksum,
392
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
393
+ version_edit.AddFile(2, 676, 0, 100U, GetInternalKey("401"),
394
+ GetInternalKey("450"), 200, 200, false,
395
+ Temperature::kUnknown, kInvalidBlobFileNumber,
396
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
397
+ kUnknownEpochNumber, kUnknownFileChecksum,
398
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
399
+ version_edit.AddFile(2, 636, 0, 100U, GetInternalKey("601"),
400
+ GetInternalKey("650"), 200, 200, false,
401
+ Temperature::kUnknown, kInvalidBlobFileNumber,
402
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
403
+ kUnknownEpochNumber, kUnknownFileChecksum,
404
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
405
+ version_edit.AddFile(2, 616, 0, 100U, GetInternalKey("501"),
406
+ GetInternalKey("550"), 200, 200, false,
407
+ Temperature::kUnknown, kInvalidBlobFileNumber,
408
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
409
+ kUnknownEpochNumber, kUnknownFileChecksum,
410
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
411
+ version_edit.AddFile(2, 606, 0, 100U, GetInternalKey("701"),
412
+ GetInternalKey("750"), 200, 200, false,
413
+ Temperature::kUnknown, kInvalidBlobFileNumber,
414
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
415
+ kUnknownEpochNumber, kUnknownFileChecksum,
416
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
404
417
  ASSERT_OK(version_builder.Apply(&version_edit));
405
418
 
406
419
  VersionEdit version_edit2;
407
- version_edit.AddFile(
408
- 2, 808, 0, 100U, GetInternalKey("901"), GetInternalKey("950"), 200, 200,
409
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
410
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
411
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
420
+ version_edit.AddFile(2, 808, 0, 100U, GetInternalKey("901"),
421
+ GetInternalKey("950"), 200, 200, false,
422
+ Temperature::kUnknown, kInvalidBlobFileNumber,
423
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
424
+ kUnknownEpochNumber, kUnknownFileChecksum,
425
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
412
426
  version_edit2.DeleteFile(2, 616);
413
427
  version_edit2.DeleteFile(2, 636);
414
- version_edit.AddFile(
415
- 2, 806, 0, 100U, GetInternalKey("801"), GetInternalKey("850"), 200, 200,
416
- false, Temperature::kUnknown, kInvalidBlobFileNumber,
417
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
418
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
428
+ version_edit.AddFile(2, 806, 0, 100U, GetInternalKey("801"),
429
+ GetInternalKey("850"), 200, 200, false,
430
+ Temperature::kUnknown, kInvalidBlobFileNumber,
431
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
432
+ kUnknownEpochNumber, kUnknownFileChecksum,
433
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
419
434
 
420
435
  ASSERT_OK(version_builder.Apply(&version_edit2));
421
436
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
@@ -520,13 +535,14 @@ TEST_F(VersionBuilderTest, ApplyFileDeletionAndAddition) {
520
535
 
521
536
  constexpr bool marked_for_compaction = false;
522
537
 
523
- addition.AddFile(
524
- level, file_number, path_id, file_size,
525
- GetInternalKey(smallest, smallest_seq),
526
- GetInternalKey(largest, largest_seq), smallest_seqno, largest_seqno,
527
- marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
528
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
529
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
538
+ addition.AddFile(level, file_number, path_id, file_size,
539
+ GetInternalKey(smallest, smallest_seq),
540
+ GetInternalKey(largest, largest_seq), smallest_seqno,
541
+ largest_seqno, marked_for_compaction, Temperature::kUnknown,
542
+ kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
543
+ kUnknownFileCreationTime, kUnknownEpochNumber,
544
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName,
545
+ kNullUniqueId64x2, 0, 0);
530
546
 
531
547
  ASSERT_OK(builder.Apply(&addition));
532
548
 
@@ -570,12 +586,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyInBase) {
570
586
  constexpr SequenceNumber largest_seqno = 1000;
571
587
  constexpr bool marked_for_compaction = false;
572
588
 
573
- edit.AddFile(
574
- new_level, file_number, path_id, file_size, GetInternalKey(smallest),
575
- GetInternalKey(largest), smallest_seqno, largest_seqno,
576
- marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
577
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
578
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
589
+ edit.AddFile(new_level, file_number, path_id, file_size,
590
+ GetInternalKey(smallest), GetInternalKey(largest),
591
+ smallest_seqno, largest_seqno, marked_for_compaction,
592
+ Temperature::kUnknown, kInvalidBlobFileNumber,
593
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
594
+ kUnknownEpochNumber, kUnknownFileChecksum,
595
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
579
596
 
580
597
  const Status s = builder.Apply(&edit);
581
598
  ASSERT_TRUE(s.IsCorruption());
@@ -606,12 +623,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
606
623
  constexpr SequenceNumber largest_seqno = 1000;
607
624
  constexpr bool marked_for_compaction = false;
608
625
 
609
- edit.AddFile(
610
- level, file_number, path_id, file_size, GetInternalKey(smallest),
611
- GetInternalKey(largest), smallest_seqno, largest_seqno,
612
- marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
613
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
614
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
626
+ edit.AddFile(level, file_number, path_id, file_size, GetInternalKey(smallest),
627
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
628
+ marked_for_compaction, Temperature::kUnknown,
629
+ kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
630
+ kUnknownFileCreationTime, kUnknownEpochNumber,
631
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName,
632
+ kNullUniqueId64x2, 0, 0);
615
633
 
616
634
  ASSERT_OK(builder.Apply(&edit));
617
635
 
@@ -619,12 +637,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
619
637
 
620
638
  constexpr int new_level = 2;
621
639
 
622
- other_edit.AddFile(
623
- new_level, file_number, path_id, file_size, GetInternalKey(smallest),
624
- GetInternalKey(largest), smallest_seqno, largest_seqno,
625
- marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
626
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
627
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
640
+ other_edit.AddFile(new_level, file_number, path_id, file_size,
641
+ GetInternalKey(smallest), GetInternalKey(largest),
642
+ smallest_seqno, largest_seqno, marked_for_compaction,
643
+ Temperature::kUnknown, kInvalidBlobFileNumber,
644
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
645
+ kUnknownEpochNumber, kUnknownFileChecksum,
646
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
628
647
 
629
648
  const Status s = builder.Apply(&other_edit);
630
649
  ASSERT_TRUE(s.IsCorruption());
@@ -655,12 +674,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
655
674
 
656
675
  VersionEdit addition;
657
676
 
658
- addition.AddFile(
659
- level, file_number, path_id, file_size, GetInternalKey(smallest),
660
- GetInternalKey(largest), smallest_seqno, largest_seqno,
661
- marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
662
- kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
663
- kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
677
+ addition.AddFile(level, file_number, path_id, file_size,
678
+ GetInternalKey(smallest), GetInternalKey(largest),
679
+ smallest_seqno, largest_seqno, marked_for_compaction,
680
+ Temperature::kUnknown, kInvalidBlobFileNumber,
681
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime,
682
+ kUnknownEpochNumber, kUnknownFileChecksum,
683
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
664
684
 
665
685
  ASSERT_OK(builder.Apply(&addition));
666
686
 
@@ -1233,7 +1253,7 @@ TEST_F(VersionBuilderTest, SaveBlobFilesToConcurrentJobs) {
1233
1253
  GetInternalKey(largest), smallest_seqno, largest_seqno,
1234
1254
  marked_for_compaction, Temperature::kUnknown, blob_file_number,
1235
1255
  kUnknownOldestAncesterTime, kUnknownFileCreationTime, 2 /*epoch_number*/,
1236
- checksum_value, checksum_method, kNullUniqueId64x2, 0);
1256
+ checksum_value, checksum_method, kNullUniqueId64x2, 0, 0);
1237
1257
  edit.AddBlobFile(blob_file_number, total_blob_count, total_blob_bytes,
1238
1258
  checksum_method, checksum_value);
1239
1259
 
@@ -1321,7 +1341,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
1321
1341
  /* oldest_blob_file_number */ 16, kUnknownOldestAncesterTime,
1322
1342
  kUnknownFileCreationTime, kUnknownEpochNumber,
1323
1343
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1324
- kNullUniqueId64x2, 0);
1344
+ kNullUniqueId64x2, 0, 0);
1325
1345
 
1326
1346
  edit.AddFile(/* level */ 1, /* file_number */ 700, /* path_id */ 0,
1327
1347
  /* file_size */ 100, /* smallest */ GetInternalKey("801"),
@@ -1331,7 +1351,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
1331
1351
  /* oldest_blob_file_number */ 1000, kUnknownOldestAncesterTime,
1332
1352
  kUnknownFileCreationTime, kUnknownEpochNumber,
1333
1353
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1334
- kNullUniqueId64x2, 0);
1354
+ kNullUniqueId64x2, 0, 0);
1335
1355
  edit.AddBlobFile(/* blob_file_number */ 1000, /* total_blob_count */ 2000,
1336
1356
  /* total_blob_bytes */ 200000,
1337
1357
  /* checksum_method */ std::string(),
@@ -1552,7 +1572,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1552
1572
  Temperature::kUnknown,
1553
1573
  /* oldest_blob_file_number */ 1, kUnknownOldestAncesterTime,
1554
1574
  kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
1555
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
1575
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1556
1576
 
1557
1577
  // Add an SST that does not reference any blob files.
1558
1578
  edit.AddFile(
@@ -1562,7 +1582,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1562
1582
  /* largest_seqno */ 2200, /* marked_for_compaction */ false,
1563
1583
  Temperature::kUnknown, kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
1564
1584
  kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
1565
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
1585
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1566
1586
 
1567
1587
  // Delete a file that references a blob file.
1568
1588
  edit.DeleteFile(/* level */ 1, /* file_number */ 6);
@@ -1585,7 +1605,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1585
1605
  /* oldest_blob_file_number */ 3, kUnknownOldestAncesterTime,
1586
1606
  kUnknownFileCreationTime, kUnknownEpochNumber,
1587
1607
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1588
- kNullUniqueId64x2, 0);
1608
+ kNullUniqueId64x2, 0, 0);
1589
1609
 
1590
1610
  // Trivially move a file that does not reference any blob files.
1591
1611
  edit.DeleteFile(/* level */ 1, /* file_number */ 13);
@@ -1597,7 +1617,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1597
1617
  Temperature::kUnknown, kInvalidBlobFileNumber,
1598
1618
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1599
1619
  kUnknownEpochNumber, kUnknownFileChecksum,
1600
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0);
1620
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1601
1621
 
1602
1622
  // Add one more SST file that references a blob file, then promptly
1603
1623
  // delete it in a second version edit before the new version gets saved.
@@ -1611,7 +1631,7 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1611
1631
  /* oldest_blob_file_number */ 5, kUnknownOldestAncesterTime,
1612
1632
  kUnknownFileCreationTime, kUnknownEpochNumber,
1613
1633
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1614
- kNullUniqueId64x2, 0);
1634
+ kNullUniqueId64x2, 0, 0);
1615
1635
 
1616
1636
  VersionEdit edit2;
1617
1637
 
@@ -1712,7 +1732,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1712
1732
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1713
1733
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1714
1734
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1715
- kNullUniqueId64x2, 0);
1735
+ kNullUniqueId64x2, 0, 0);
1716
1736
  version_edit_1.AddFile(
1717
1737
  /* level */ 0, /* file_number */ 2U, /* path_id */ 0,
1718
1738
  /* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
@@ -1722,7 +1742,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1722
1742
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1723
1743
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1724
1744
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1725
- kNullUniqueId64x2, 0);
1745
+ kNullUniqueId64x2, 0, 0);
1726
1746
 
1727
1747
  VersionBuilder version_builder_1(EnvOptions(), &ioptions_,
1728
1748
  nullptr /* table_cache */, &vstorage_,
@@ -1749,7 +1769,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1749
1769
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1750
1770
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1751
1771
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1752
- kNullUniqueId64x2, 0);
1772
+ kNullUniqueId64x2, 0, 0);
1753
1773
  version_edit_2.AddFile(
1754
1774
  /* level */ 0, /* file_number */ 2U, /* path_id */ 0,
1755
1775
  /* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
@@ -1759,7 +1779,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1759
1779
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1760
1780
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1761
1781
  2 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1762
- kNullUniqueId64x2, 0);
1782
+ kNullUniqueId64x2, 0, 0);
1763
1783
 
1764
1784
  VersionBuilder version_builder_2(EnvOptions(), &ioptions_,
1765
1785
  nullptr /* table_cache */, &vstorage_,