@nxtedition/rocksdb 8.2.8 → 9.0.1

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 (483) hide show
  1. package/binding.cc +0 -21
  2. package/deps/rocksdb/rocksdb/CMakeLists.txt +20 -10
  3. package/deps/rocksdb/rocksdb/Makefile +37 -25
  4. package/deps/rocksdb/rocksdb/README.md +29 -0
  5. package/deps/rocksdb/rocksdb/TARGETS +25 -2
  6. package/deps/rocksdb/rocksdb/cache/cache.cc +35 -0
  7. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +229 -74
  8. package/deps/rocksdb/rocksdb/cache/cache_helpers.cc +2 -1
  9. package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.h +4 -3
  10. package/deps/rocksdb/rocksdb/cache/cache_test.cc +58 -95
  11. package/deps/rocksdb/rocksdb/cache/charged_cache.cc +4 -2
  12. package/deps/rocksdb/rocksdb/cache/charged_cache.h +5 -3
  13. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +2683 -496
  14. package/deps/rocksdb/rocksdb/cache/clock_cache.h +580 -159
  15. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +145 -42
  16. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +20 -1
  17. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +391 -17
  18. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +7 -5
  19. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +309 -212
  20. package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +0 -32
  21. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +439 -12
  22. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.h +44 -2
  23. package/deps/rocksdb/rocksdb/cache/sharded_cache.cc +11 -1
  24. package/deps/rocksdb/rocksdb/cache/sharded_cache.h +16 -3
  25. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.cc +119 -0
  26. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache.h +155 -0
  27. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +711 -0
  28. package/deps/rocksdb/rocksdb/cache/typed_cache.h +17 -11
  29. package/deps/rocksdb/rocksdb/crash_test.mk +14 -0
  30. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +28 -12
  31. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +1 -0
  32. package/deps/rocksdb/rocksdb/db/blob/blob_contents.h +2 -1
  33. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +1 -1
  34. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -1
  35. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.cc +2 -2
  36. package/deps/rocksdb/rocksdb/db/blob/blob_file_cache.h +1 -1
  37. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +20 -22
  38. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +1 -2
  39. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +1 -1
  40. package/deps/rocksdb/rocksdb/db/blob/blob_log_sequential_reader.cc +2 -3
  41. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +1 -1
  42. package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +8 -0
  43. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -3
  44. package/deps/rocksdb/rocksdb/db/builder.cc +35 -10
  45. package/deps/rocksdb/rocksdb/db/c.cc +233 -6
  46. package/deps/rocksdb/rocksdb/db/c_test.c +140 -6
  47. package/deps/rocksdb/rocksdb/db/column_family.cc +110 -51
  48. package/deps/rocksdb/rocksdb/db/column_family.h +34 -2
  49. package/deps/rocksdb/rocksdb/db/column_family_test.cc +314 -7
  50. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +4 -1
  51. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +106 -23
  52. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +47 -9
  53. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +10 -11
  54. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -6
  55. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +2 -2
  56. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +148 -60
  57. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +22 -7
  58. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +2 -0
  59. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -4
  60. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +33 -23
  61. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +14 -5
  62. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +11 -11
  63. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +3 -0
  64. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +90 -4
  65. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +170 -95
  66. package/deps/rocksdb/rocksdb/db/compaction/file_pri.h +3 -1
  67. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +32 -58
  68. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +3 -1
  69. package/deps/rocksdb/rocksdb/db/convenience.cc +20 -3
  70. package/deps/rocksdb/rocksdb/db/convenience_impl.h +15 -0
  71. package/deps/rocksdb/rocksdb/db/corruption_test.cc +17 -0
  72. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +1 -0
  73. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +46 -10
  74. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +13 -3
  75. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +74 -15
  76. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +27 -3
  77. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +850 -44
  78. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +2 -29
  79. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +275 -1
  80. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +52 -19
  81. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +6 -5
  82. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +733 -320
  83. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +155 -66
  84. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +516 -155
  85. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -4
  86. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +2 -1
  87. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +17 -4
  88. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +100 -35
  89. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +95 -50
  90. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +13 -9
  91. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +136 -79
  92. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +6 -95
  93. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +31 -22
  94. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +6 -0
  95. package/deps/rocksdb/rocksdb/db/db_iter.cc +85 -57
  96. package/deps/rocksdb/rocksdb/db/db_iter.h +11 -2
  97. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +29 -0
  98. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +276 -21
  99. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +35 -0
  100. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +4 -11
  101. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +193 -7
  102. package/deps/rocksdb/rocksdb/db/db_options_test.cc +294 -26
  103. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +26 -36
  104. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +364 -0
  105. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +13 -3
  106. package/deps/rocksdb/rocksdb/db/db_readonly_with_timestamp_test.cc +52 -0
  107. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +74 -1
  108. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +22 -4
  109. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +1 -1
  110. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +1 -0
  111. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +282 -167
  112. package/deps/rocksdb/rocksdb/db/db_test.cc +180 -49
  113. package/deps/rocksdb/rocksdb/db/db_test2.cc +84 -12
  114. package/deps/rocksdb/rocksdb/db/db_test_util.cc +25 -12
  115. package/deps/rocksdb/rocksdb/db/db_test_util.h +45 -2
  116. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +14 -1
  117. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +245 -0
  118. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +480 -1
  119. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +6 -6
  120. package/deps/rocksdb/rocksdb/db/db_write_test.cc +2 -2
  121. package/deps/rocksdb/rocksdb/db/dbformat.cc +36 -0
  122. package/deps/rocksdb/rocksdb/db/dbformat.h +169 -20
  123. package/deps/rocksdb/rocksdb/db/dbformat_test.cc +129 -0
  124. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +2 -0
  125. package/deps/rocksdb/rocksdb/db/error_handler.cc +67 -34
  126. package/deps/rocksdb/rocksdb/db/error_handler.h +13 -9
  127. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +4 -4
  128. package/deps/rocksdb/rocksdb/db/event_helpers.cc +4 -0
  129. package/deps/rocksdb/rocksdb/db/experimental.cc +2 -1
  130. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +4 -4
  131. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +17 -8
  132. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +144 -4
  133. package/deps/rocksdb/rocksdb/db/fault_injection_test.cc +1 -1
  134. package/deps/rocksdb/rocksdb/db/file_indexer.cc +2 -4
  135. package/deps/rocksdb/rocksdb/db/flush_job.cc +105 -17
  136. package/deps/rocksdb/rocksdb/db/flush_job.h +27 -4
  137. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +90 -12
  138. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +2 -3
  139. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +159 -91
  140. package/deps/rocksdb/rocksdb/db/import_column_family_job.h +19 -10
  141. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +143 -0
  142. package/deps/rocksdb/rocksdb/db/internal_stats.cc +13 -1
  143. package/deps/rocksdb/rocksdb/db/internal_stats.h +2 -0
  144. package/deps/rocksdb/rocksdb/db/listener_test.cc +2 -1
  145. package/deps/rocksdb/rocksdb/db/log_reader.h +3 -2
  146. package/deps/rocksdb/rocksdb/db/log_test.cc +17 -21
  147. package/deps/rocksdb/rocksdb/db/log_writer.cc +1 -1
  148. package/deps/rocksdb/rocksdb/db/log_writer.h +3 -2
  149. package/deps/rocksdb/rocksdb/db/manual_compaction_test.cc +6 -3
  150. package/deps/rocksdb/rocksdb/db/memtable.cc +70 -83
  151. package/deps/rocksdb/rocksdb/db/memtable.h +45 -1
  152. package/deps/rocksdb/rocksdb/db/memtable_list.cc +45 -11
  153. package/deps/rocksdb/rocksdb/db/memtable_list.h +43 -2
  154. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +91 -5
  155. package/deps/rocksdb/rocksdb/db/merge_helper.cc +330 -115
  156. package/deps/rocksdb/rocksdb/db/merge_helper.h +100 -12
  157. package/deps/rocksdb/rocksdb/db/merge_operator.cc +82 -0
  158. package/deps/rocksdb/rocksdb/db/merge_test.cc +267 -0
  159. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +5 -2
  160. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +4 -4
  161. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +3 -0
  162. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -0
  163. package/deps/rocksdb/rocksdb/db/range_del_aggregator.h +4 -0
  164. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter.h +4 -0
  165. package/deps/rocksdb/rocksdb/db/repair.cc +25 -7
  166. package/deps/rocksdb/rocksdb/db/repair_test.cc +143 -2
  167. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +459 -74
  168. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +105 -69
  169. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +83 -46
  170. package/deps/rocksdb/rocksdb/db/table_cache.cc +76 -54
  171. package/deps/rocksdb/rocksdb/db/table_cache.h +18 -12
  172. package/deps/rocksdb/rocksdb/db/table_cache_sync_and_async.h +2 -2
  173. package/deps/rocksdb/rocksdb/db/version_builder.cc +0 -1
  174. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +236 -204
  175. package/deps/rocksdb/rocksdb/db/version_edit.cc +66 -4
  176. package/deps/rocksdb/rocksdb/db/version_edit.h +58 -10
  177. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +80 -8
  178. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +12 -0
  179. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +86 -17
  180. package/deps/rocksdb/rocksdb/db/version_set.cc +207 -110
  181. package/deps/rocksdb/rocksdb/db/version_set.h +36 -15
  182. package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +2 -5
  183. package/deps/rocksdb/rocksdb/db/version_set_test.cc +47 -26
  184. package/deps/rocksdb/rocksdb/db/wide/db_wide_basic_test.cc +525 -0
  185. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.cc +6 -22
  186. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization.h +0 -20
  187. package/deps/rocksdb/rocksdb/db/wide/wide_column_serialization_test.cc +0 -29
  188. package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.cc +46 -0
  189. package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper.h +40 -0
  190. package/deps/rocksdb/rocksdb/db/wide/wide_columns_helper_test.cc +39 -0
  191. package/deps/rocksdb/rocksdb/db/write_batch.cc +55 -20
  192. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +3 -0
  193. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +16 -0
  194. package/deps/rocksdb/rocksdb/db_stress_tool/CMakeLists.txt +1 -0
  195. package/deps/rocksdb/rocksdb/db_stress_tool/batched_ops_stress.cc +4 -4
  196. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +4 -7
  197. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +88 -10
  198. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +37 -13
  199. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +110 -58
  200. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +42 -0
  201. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +68 -17
  202. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +34 -0
  203. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +8 -1
  204. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +429 -237
  205. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +13 -6
  206. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +21 -14
  207. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.cc +51 -0
  208. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_wide_merge_operator.h +27 -0
  209. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +3 -6
  210. package/deps/rocksdb/rocksdb/db_stress_tool/expected_value.h +2 -0
  211. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +29 -38
  212. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +302 -101
  213. package/deps/rocksdb/rocksdb/env/env.cc +6 -2
  214. package/deps/rocksdb/rocksdb/env/env_encryption.cc +11 -165
  215. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +0 -17
  216. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -2
  217. package/deps/rocksdb/rocksdb/env/env_test.cc +86 -2
  218. package/deps/rocksdb/rocksdb/env/fs_posix.cc +6 -4
  219. package/deps/rocksdb/rocksdb/env/unique_id_gen.cc +79 -0
  220. package/deps/rocksdb/rocksdb/env/unique_id_gen.h +34 -0
  221. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +1 -0
  222. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +15 -4
  223. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +100 -70
  224. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +64 -18
  225. package/deps/rocksdb/rocksdb/file/file_util.cc +10 -5
  226. package/deps/rocksdb/rocksdb/file/file_util.h +13 -1
  227. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +1225 -97
  228. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +72 -33
  229. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +3 -16
  230. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +23 -12
  231. package/deps/rocksdb/rocksdb/file/sequence_file_reader.h +3 -0
  232. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_cache.h +40 -14
  233. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +163 -91
  234. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +112 -2
  235. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +108 -16
  236. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +11 -0
  237. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -0
  238. package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +42 -2
  239. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +1 -1
  240. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +92 -12
  241. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +34 -4
  242. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +9 -109
  243. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +91 -13
  244. package/deps/rocksdb/rocksdb/include/rocksdb/filter_policy.h +8 -3
  245. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +10 -4
  246. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +7 -0
  247. package/deps/rocksdb/rocksdb/include/rocksdb/memory_allocator.h +1 -1
  248. package/deps/rocksdb/rocksdb/include/rocksdb/merge_operator.h +55 -4
  249. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +130 -22
  250. package/deps/rocksdb/rocksdb/include/rocksdb/port_defs.h +4 -0
  251. package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +9 -0
  252. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +92 -9
  253. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_manager.h +2 -1
  254. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +5 -1
  255. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +37 -2
  256. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +35 -0
  257. package/deps/rocksdb/rocksdb/include/rocksdb/system_clock.h +15 -0
  258. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +7 -1
  259. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +20 -3
  260. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +7 -0
  261. package/deps/rocksdb/rocksdb/include/rocksdb/types.h +7 -0
  262. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +6 -1
  263. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +33 -2
  264. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +2 -1
  265. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +14 -0
  266. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +42 -2
  267. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -3
  268. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  269. package/deps/rocksdb/rocksdb/include/rocksdb/wide_columns.h +53 -2
  270. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +3 -2
  271. package/deps/rocksdb/rocksdb/memory/arena_test.cc +18 -11
  272. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +4 -3
  273. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.h +1 -1
  274. package/deps/rocksdb/rocksdb/microbench/README.md +60 -0
  275. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +69 -34
  276. package/deps/rocksdb/rocksdb/monitoring/instrumented_mutex.h +1 -1
  277. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +22 -1
  278. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +18 -7
  279. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +14 -0
  280. package/deps/rocksdb/rocksdb/options/cf_options.cc +19 -0
  281. package/deps/rocksdb/rocksdb/options/cf_options.h +10 -2
  282. package/deps/rocksdb/rocksdb/options/customizable_test.cc +6 -1
  283. package/deps/rocksdb/rocksdb/options/db_options.cc +54 -2
  284. package/deps/rocksdb/rocksdb/options/db_options.h +4 -0
  285. package/deps/rocksdb/rocksdb/options/options.cc +15 -1
  286. package/deps/rocksdb/rocksdb/options/options_helper.cc +18 -0
  287. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +14 -4
  288. package/deps/rocksdb/rocksdb/options/options_test.cc +14 -1
  289. package/deps/rocksdb/rocksdb/plugin/README.md +43 -0
  290. package/deps/rocksdb/rocksdb/port/README +10 -0
  291. package/deps/rocksdb/rocksdb/port/mmap.h +20 -0
  292. package/deps/rocksdb/rocksdb/port/port_example.h +1 -1
  293. package/deps/rocksdb/rocksdb/port/port_posix.cc +1 -1
  294. package/deps/rocksdb/rocksdb/port/port_posix.h +7 -4
  295. package/deps/rocksdb/rocksdb/port/stack_trace.cc +32 -12
  296. package/deps/rocksdb/rocksdb/port/win/env_win.h +1 -1
  297. package/deps/rocksdb/rocksdb/port/win/port_win.h +5 -2
  298. package/deps/rocksdb/rocksdb/src.mk +10 -1
  299. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  300. package/deps/rocksdb/rocksdb/table/block_based/block.cc +48 -22
  301. package/deps/rocksdb/rocksdb/table/block_based/block.h +60 -12
  302. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +116 -43
  303. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +9 -6
  304. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +321 -49
  305. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.h +98 -4
  306. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +233 -98
  307. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +58 -23
  308. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +12 -8
  309. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +52 -24
  310. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +219 -51
  311. package/deps/rocksdb/rocksdb/table/block_based/block_builder.cc +41 -8
  312. package/deps/rocksdb/rocksdb/table/block_based/block_builder.h +25 -1
  313. package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +3 -1
  314. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +26 -7
  315. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +50 -18
  316. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +20 -8
  317. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +232 -71
  318. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +6 -6
  319. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +44 -26
  320. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +2 -1
  321. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +1 -1
  322. package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +31 -16
  323. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +97 -58
  324. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -2
  325. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +6 -0
  326. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +36 -19
  327. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.h +3 -1
  328. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block_test.cc +114 -70
  329. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -3
  330. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +11 -7
  331. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +15 -3
  332. package/deps/rocksdb/rocksdb/table/block_based/reader_common.h +6 -3
  333. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +1 -1
  334. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +14 -13
  335. package/deps/rocksdb/rocksdb/table/block_fetcher.h +4 -0
  336. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +9 -2
  337. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +1 -0
  338. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +6 -2
  339. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +1 -2
  340. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader.cc +2 -3
  341. package/deps/rocksdb/rocksdb/table/format.cc +175 -33
  342. package/deps/rocksdb/rocksdb/table/format.h +63 -10
  343. package/deps/rocksdb/rocksdb/table/get_context.cc +52 -89
  344. package/deps/rocksdb/rocksdb/table/get_context.h +12 -3
  345. package/deps/rocksdb/rocksdb/table/internal_iterator.h +11 -0
  346. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +29 -1
  347. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +22 -2
  348. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +12 -4
  349. package/deps/rocksdb/rocksdb/table/meta_blocks.h +1 -0
  350. package/deps/rocksdb/rocksdb/table/mock_table.cc +8 -3
  351. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +10 -5
  352. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +10 -1
  353. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.cc +1 -2
  354. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +3 -3
  355. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +45 -9
  356. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +1 -0
  357. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +24 -1
  358. package/deps/rocksdb/rocksdb/table/table_builder.h +6 -2
  359. package/deps/rocksdb/rocksdb/table/table_properties.cc +6 -0
  360. package/deps/rocksdb/rocksdb/table/table_reader.h +6 -0
  361. package/deps/rocksdb/rocksdb/table/table_test.cc +52 -22
  362. package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +31 -0
  363. package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.cc +2 -1
  364. package/deps/rocksdb/rocksdb/test_util/secondary_cache_test_util.h +19 -7
  365. package/deps/rocksdb/rocksdb/test_util/sync_point.h +3 -1
  366. package/deps/rocksdb/rocksdb/test_util/testutil.cc +29 -0
  367. package/deps/rocksdb/rocksdb/test_util/testutil.h +19 -0
  368. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +3 -3
  369. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +87 -65
  370. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +221 -33
  371. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +36 -0
  372. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
  373. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +1 -0
  374. package/deps/rocksdb/rocksdb/tools/sst_dump_test.cc +33 -11
  375. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +4 -0
  376. package/deps/rocksdb/rocksdb/unreleased_history/README.txt +73 -0
  377. package/deps/rocksdb/rocksdb/unreleased_history/add.sh +27 -0
  378. package/deps/rocksdb/rocksdb/unreleased_history/behavior_changes/.gitkeep +0 -0
  379. package/deps/rocksdb/rocksdb/unreleased_history/bug_fixes/.gitkeep +0 -0
  380. package/deps/rocksdb/rocksdb/unreleased_history/new_features/.gitkeep +0 -0
  381. package/deps/rocksdb/rocksdb/unreleased_history/performance_improvements/.gitkeep +0 -0
  382. package/deps/rocksdb/rocksdb/unreleased_history/public_api_changes/.gitkeep +0 -0
  383. package/deps/rocksdb/rocksdb/unreleased_history/release.sh +104 -0
  384. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +5 -0
  385. package/deps/rocksdb/rocksdb/util/bloom_impl.h +3 -3
  386. package/deps/rocksdb/rocksdb/util/bloom_test.cc +32 -11
  387. package/deps/rocksdb/rocksdb/util/cast_util.h +24 -0
  388. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +2 -0
  389. package/deps/rocksdb/rocksdb/util/comparator.cc +55 -8
  390. package/deps/rocksdb/rocksdb/util/compression.cc +4 -4
  391. package/deps/rocksdb/rocksdb/util/compression.h +119 -35
  392. package/deps/rocksdb/rocksdb/util/core_local.h +2 -1
  393. package/deps/rocksdb/rocksdb/util/crc32c.cc +7 -1
  394. package/deps/rocksdb/rocksdb/util/distributed_mutex.h +1 -1
  395. package/deps/rocksdb/rocksdb/util/dynamic_bloom.h +4 -4
  396. package/deps/rocksdb/rocksdb/util/filelock_test.cc +3 -0
  397. package/deps/rocksdb/rocksdb/util/hash.h +7 -3
  398. package/deps/rocksdb/rocksdb/util/hash_test.cc +44 -0
  399. package/deps/rocksdb/rocksdb/util/math.h +58 -6
  400. package/deps/rocksdb/rocksdb/util/math128.h +29 -7
  401. package/deps/rocksdb/rocksdb/util/mutexlock.h +35 -27
  402. package/deps/rocksdb/rocksdb/util/overload.h +23 -0
  403. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +53 -18
  404. package/deps/rocksdb/rocksdb/util/rate_limiter_impl.h +6 -1
  405. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +90 -19
  406. package/deps/rocksdb/rocksdb/util/single_thread_executor.h +1 -0
  407. package/deps/rocksdb/rocksdb/util/slice_test.cc +30 -0
  408. package/deps/rocksdb/rocksdb/util/status.cc +1 -0
  409. package/deps/rocksdb/rocksdb/util/stop_watch.h +1 -1
  410. package/deps/rocksdb/rocksdb/util/string_util.cc +39 -0
  411. package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
  412. package/deps/rocksdb/rocksdb/util/thread_operation.h +10 -1
  413. package/deps/rocksdb/rocksdb/util/udt_util.cc +385 -0
  414. package/deps/rocksdb/rocksdb/util/udt_util.h +192 -1
  415. package/deps/rocksdb/rocksdb/util/udt_util_test.cc +461 -0
  416. package/deps/rocksdb/rocksdb/util/write_batch_util.cc +25 -0
  417. package/deps/rocksdb/rocksdb/util/write_batch_util.h +80 -0
  418. package/deps/rocksdb/rocksdb/util/xxhash.h +0 -3
  419. package/deps/rocksdb/rocksdb/util/xxph3.h +0 -4
  420. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -4
  421. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +71 -26
  422. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +7 -6
  423. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +1 -1
  424. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -3
  425. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_file.cc +6 -11
  426. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +1 -2
  427. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +4 -5
  428. package/deps/rocksdb/rocksdb/utilities/fault_injection_env.h +1 -0
  429. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +20 -16
  430. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +11 -7
  431. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.cc +2 -2
  432. package/deps/rocksdb/rocksdb/utilities/fault_injection_secondary_cache.h +7 -1
  433. package/deps/rocksdb/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc +3 -0
  434. package/deps/rocksdb/rocksdb/utilities/option_change_migration/option_change_migration_test.cc +12 -3
  435. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +1 -2
  436. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache.cc +7 -4
  437. package/deps/rocksdb/rocksdb/utilities/trace/file_trace_reader_writer.cc +2 -3
  438. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +2 -2
  439. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +1 -1
  440. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/README +13 -0
  441. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +23 -8
  442. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +9 -6
  443. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +37 -12
  444. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_test.cc +272 -33
  445. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +15 -9
  446. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +4 -1
  447. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.cc +76 -20
  448. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +18 -9
  449. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +195 -23
  450. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +19 -12
  451. package/deps/rocksdb/rocksdb/utilities/transactions/write_committed_transaction_ts_test.cc +88 -1
  452. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +1 -1
  453. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +43 -17
  454. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.h +6 -3
  455. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +73 -24
  456. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +19 -4
  457. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +60 -107
  458. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +41 -12
  459. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +6 -3
  460. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +15 -8
  461. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.h +1 -1
  462. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.cc +10 -5
  463. package/deps/rocksdb/rocksdb/utilities/ttl/db_ttl_impl.h +1 -1
  464. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +1 -1
  465. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +59 -28
  466. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +127 -120
  467. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +129 -59
  468. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +111 -14
  469. package/deps/rocksdb/rocksdb.gyp +6 -2
  470. package/index.js +0 -8
  471. package/package.json +1 -1
  472. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  473. package/prebuilds/linux-x64/node.napi.node +0 -0
  474. package/deps/rocksdb/rocksdb/cmake/modules/CxxFlags.cmake +0 -7
  475. package/deps/rocksdb/rocksdb/cmake/modules/FindJeMalloc.cmake +0 -29
  476. package/deps/rocksdb/rocksdb/cmake/modules/FindNUMA.cmake +0 -29
  477. package/deps/rocksdb/rocksdb/cmake/modules/FindSnappy.cmake +0 -29
  478. package/deps/rocksdb/rocksdb/cmake/modules/FindTBB.cmake +0 -33
  479. package/deps/rocksdb/rocksdb/cmake/modules/Findgflags.cmake +0 -29
  480. package/deps/rocksdb/rocksdb/cmake/modules/Findlz4.cmake +0 -29
  481. package/deps/rocksdb/rocksdb/cmake/modules/Finduring.cmake +0 -26
  482. package/deps/rocksdb/rocksdb/cmake/modules/Findzstd.cmake +0 -29
  483. package/deps/rocksdb/rocksdb/cmake/modules/ReadVersion.cmake +0 -10
@@ -37,7 +37,8 @@ class VersionBuilderTest : public testing::Test {
37
37
  ioptions_(options_),
38
38
  mutable_cf_options_(options_),
39
39
  vstorage_(&icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
40
- nullptr, false),
40
+ nullptr, false, EpochNumberRequirement::kMustPresent,
41
+ ioptions_.clock, options_.bottommost_file_compaction_delay),
41
42
  file_num_(1) {
42
43
  mutable_cf_options_.RefreshDerivedOptions(ioptions_);
43
44
  size_being_compacted_.resize(options_.num_levels);
@@ -73,7 +74,8 @@ class VersionBuilderTest : public testing::Test {
73
74
  /* marked_for_compact */ false, Temperature::kUnknown,
74
75
  oldest_blob_file_number, kUnknownOldestAncesterTime,
75
76
  kUnknownFileCreationTime, epoch_number, kUnknownFileChecksum,
76
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
77
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
78
+ /* user_defined_timestamps_persisted */ true);
77
79
  f->compensated_file_size = file_size;
78
80
  f->num_entries = num_entries;
79
81
  f->num_deletions = num_deletions;
@@ -130,13 +132,13 @@ class VersionBuilderTest : public testing::Test {
130
132
  constexpr SequenceNumber largest_seqno = 300;
131
133
  constexpr bool marked_for_compaction = false;
132
134
 
133
- edit->AddFile(level, table_file_number, path_id, file_size,
134
- GetInternalKey(smallest), GetInternalKey(largest),
135
- smallest_seqno, largest_seqno, marked_for_compaction,
136
- Temperature::kUnknown, blob_file_number,
137
- kUnknownOldestAncesterTime, kUnknownFileCreationTime,
138
- epoch_number, kUnknownFileChecksum,
139
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
135
+ edit->AddFile(
136
+ level, table_file_number, path_id, file_size, GetInternalKey(smallest),
137
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
138
+ marked_for_compaction, Temperature::kUnknown, blob_file_number,
139
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, epoch_number,
140
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2,
141
+ 0, 0, /* user_defined_timestamps_persisted */ true);
140
142
  }
141
143
 
142
144
  void UpdateVersionStorageInfo(VersionStorageInfo* vstorage) {
@@ -183,12 +185,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
183
185
  UpdateVersionStorageInfo();
184
186
 
185
187
  VersionEdit version_edit;
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);
188
+ version_edit.AddFile(
189
+ 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
190
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
191
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
192
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
193
+ 0, /* user_defined_timestamps_persisted */ true);
192
194
  version_edit.DeleteFile(3, 27U);
193
195
 
194
196
  EnvOptions env_options;
@@ -198,8 +200,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveTo) {
198
200
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
199
201
  &vstorage_, version_set);
200
202
 
201
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
202
- kCompactionStyleLevel, nullptr, false);
203
+ VersionStorageInfo new_vstorage(
204
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
205
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
203
206
  ASSERT_OK(version_builder.Apply(&version_edit));
204
207
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
205
208
 
@@ -231,12 +234,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
231
234
  UpdateVersionStorageInfo();
232
235
 
233
236
  VersionEdit version_edit;
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);
237
+ version_edit.AddFile(
238
+ 3, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
239
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
240
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
241
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
242
+ 0, /* user_defined_timestamps_persisted */ true);
240
243
 
241
244
  version_edit.DeleteFile(0, 1U);
242
245
  version_edit.DeleteFile(0, 88U);
@@ -248,8 +251,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic) {
248
251
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
249
252
  &vstorage_, version_set);
250
253
 
251
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
252
- kCompactionStyleLevel, nullptr, false);
254
+ VersionStorageInfo new_vstorage(
255
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
256
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
253
257
  ASSERT_OK(version_builder.Apply(&version_edit));
254
258
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
255
259
 
@@ -283,12 +287,12 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
283
287
  UpdateVersionStorageInfo();
284
288
 
285
289
  VersionEdit version_edit;
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);
290
+ version_edit.AddFile(
291
+ 4, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
292
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
293
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
294
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
295
+ 0, /* user_defined_timestamps_persisted */ true);
292
296
  version_edit.DeleteFile(0, 1U);
293
297
  version_edit.DeleteFile(0, 88U);
294
298
  version_edit.DeleteFile(4, 6U);
@@ -302,8 +306,9 @@ TEST_F(VersionBuilderTest, ApplyAndSaveToDynamic2) {
302
306
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
303
307
  &vstorage_, version_set);
304
308
 
305
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
306
- kCompactionStyleLevel, nullptr, false);
309
+ VersionStorageInfo new_vstorage(
310
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
311
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
307
312
  ASSERT_OK(version_builder.Apply(&version_edit));
308
313
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
309
314
 
@@ -320,36 +325,36 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
320
325
  UpdateVersionStorageInfo();
321
326
 
322
327
  VersionEdit version_edit;
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);
328
+ version_edit.AddFile(
329
+ 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
330
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
331
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
332
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
333
+ 0, /* user_defined_timestamps_persisted */ true);
334
+ version_edit.AddFile(
335
+ 2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
336
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
337
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
338
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
339
+ 0, /* user_defined_timestamps_persisted */ true);
340
+ version_edit.AddFile(
341
+ 2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
342
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
343
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
344
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
345
+ 0, /* user_defined_timestamps_persisted */ true);
346
+ version_edit.AddFile(
347
+ 2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
348
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
349
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
350
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
351
+ 0, /* user_defined_timestamps_persisted */ true);
352
+ version_edit.AddFile(
353
+ 2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
354
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
355
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
356
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
357
+ 0, /* user_defined_timestamps_persisted */ true);
353
358
 
354
359
  EnvOptions env_options;
355
360
  constexpr TableCache* table_cache = nullptr;
@@ -358,8 +363,9 @@ TEST_F(VersionBuilderTest, ApplyMultipleAndSaveTo) {
358
363
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
359
364
  &vstorage_, version_set);
360
365
 
361
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
362
- kCompactionStyleLevel, nullptr, false);
366
+ VersionStorageInfo new_vstorage(
367
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
368
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
363
369
  ASSERT_OK(version_builder.Apply(&version_edit));
364
370
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
365
371
 
@@ -380,57 +386,58 @@ TEST_F(VersionBuilderTest, ApplyDeleteAndSaveTo) {
380
386
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
381
387
  &vstorage_, version_set);
382
388
 
383
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
384
- kCompactionStyleLevel, nullptr, false);
389
+ VersionStorageInfo new_vstorage(
390
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr, false,
391
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
385
392
 
386
393
  VersionEdit version_edit;
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);
394
+ version_edit.AddFile(
395
+ 2, 666, 0, 100U, GetInternalKey("301"), GetInternalKey("350"), 200, 200,
396
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
397
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
398
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
399
+ 0, /* user_defined_timestamps_persisted */ true);
400
+ version_edit.AddFile(
401
+ 2, 676, 0, 100U, GetInternalKey("401"), GetInternalKey("450"), 200, 200,
402
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
403
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
404
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
405
+ 0, /* user_defined_timestamps_persisted */ true);
406
+ version_edit.AddFile(
407
+ 2, 636, 0, 100U, GetInternalKey("601"), GetInternalKey("650"), 200, 200,
408
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
409
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
410
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
411
+ 0, /* user_defined_timestamps_persisted */ true);
412
+ version_edit.AddFile(
413
+ 2, 616, 0, 100U, GetInternalKey("501"), GetInternalKey("550"), 200, 200,
414
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
415
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
416
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
417
+ 0, /* user_defined_timestamps_persisted */ true);
418
+ version_edit.AddFile(
419
+ 2, 606, 0, 100U, GetInternalKey("701"), GetInternalKey("750"), 200, 200,
420
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
421
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
422
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
423
+ 0, /* user_defined_timestamps_persisted */ true);
417
424
  ASSERT_OK(version_builder.Apply(&version_edit));
418
425
 
419
426
  VersionEdit version_edit2;
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);
427
+ version_edit.AddFile(
428
+ 2, 808, 0, 100U, GetInternalKey("901"), GetInternalKey("950"), 200, 200,
429
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
430
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
431
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
432
+ 0, /* user_defined_timestamps_persisted */ true);
426
433
  version_edit2.DeleteFile(2, 616);
427
434
  version_edit2.DeleteFile(2, 636);
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);
435
+ version_edit.AddFile(
436
+ 2, 806, 0, 100U, GetInternalKey("801"), GetInternalKey("850"), 200, 200,
437
+ false, Temperature::kUnknown, kInvalidBlobFileNumber,
438
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
439
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
440
+ 0, /* user_defined_timestamps_persisted */ true);
434
441
 
435
442
  ASSERT_OK(version_builder.Apply(&version_edit2));
436
443
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
@@ -535,21 +542,22 @@ TEST_F(VersionBuilderTest, ApplyFileDeletionAndAddition) {
535
542
 
536
543
  constexpr bool marked_for_compaction = false;
537
544
 
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);
545
+ addition.AddFile(
546
+ level, file_number, path_id, file_size,
547
+ GetInternalKey(smallest, smallest_seq),
548
+ GetInternalKey(largest, largest_seq), smallest_seqno, largest_seqno,
549
+ marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
550
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
551
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
552
+ 0, /* user_defined_timestamps_persisted */ true);
546
553
 
547
554
  ASSERT_OK(builder.Apply(&addition));
548
555
 
549
556
  constexpr bool force_consistency_checks = false;
550
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
551
- kCompactionStyleLevel, &vstorage_,
552
- force_consistency_checks);
557
+ VersionStorageInfo new_vstorage(
558
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
559
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
560
+ 0);
553
561
 
554
562
  ASSERT_OK(builder.SaveTo(&new_vstorage));
555
563
 
@@ -586,13 +594,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyInBase) {
586
594
  constexpr SequenceNumber largest_seqno = 1000;
587
595
  constexpr bool marked_for_compaction = false;
588
596
 
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);
597
+ edit.AddFile(
598
+ new_level, file_number, path_id, file_size, GetInternalKey(smallest),
599
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
600
+ marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
601
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
602
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
603
+ 0, /* user_defined_timestamps_persisted */ true);
596
604
 
597
605
  const Status s = builder.Apply(&edit);
598
606
  ASSERT_TRUE(s.IsCorruption());
@@ -623,13 +631,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
623
631
  constexpr SequenceNumber largest_seqno = 1000;
624
632
  constexpr bool marked_for_compaction = false;
625
633
 
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);
634
+ edit.AddFile(
635
+ level, file_number, path_id, file_size, GetInternalKey(smallest),
636
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
637
+ marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
638
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
639
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
640
+ 0, /* user_defined_timestamps_persisted */ true);
633
641
 
634
642
  ASSERT_OK(builder.Apply(&edit));
635
643
 
@@ -637,13 +645,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAlreadyApplied) {
637
645
 
638
646
  constexpr int new_level = 2;
639
647
 
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);
648
+ other_edit.AddFile(
649
+ new_level, file_number, path_id, file_size, GetInternalKey(smallest),
650
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
651
+ marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
652
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
653
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
654
+ 0, /* user_defined_timestamps_persisted */ true);
647
655
 
648
656
  const Status s = builder.Apply(&other_edit);
649
657
  ASSERT_TRUE(s.IsCorruption());
@@ -674,13 +682,13 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
674
682
 
675
683
  VersionEdit addition;
676
684
 
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);
685
+ addition.AddFile(
686
+ level, file_number, path_id, file_size, GetInternalKey(smallest),
687
+ GetInternalKey(largest), smallest_seqno, largest_seqno,
688
+ marked_for_compaction, Temperature::kUnknown, kInvalidBlobFileNumber,
689
+ kUnknownOldestAncesterTime, kUnknownFileCreationTime, kUnknownEpochNumber,
690
+ kUnknownFileChecksum, kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0,
691
+ 0, /* user_defined_timestamps_persisted */ true);
684
692
 
685
693
  ASSERT_OK(builder.Apply(&addition));
686
694
 
@@ -691,9 +699,10 @@ TEST_F(VersionBuilderTest, ApplyFileAdditionAndDeletion) {
691
699
  ASSERT_OK(builder.Apply(&deletion));
692
700
 
693
701
  constexpr bool force_consistency_checks = false;
694
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
695
- kCompactionStyleLevel, &vstorage_,
696
- force_consistency_checks);
702
+ VersionStorageInfo new_vstorage(
703
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
704
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
705
+ 0);
697
706
 
698
707
  ASSERT_OK(builder.SaveTo(&new_vstorage));
699
708
 
@@ -735,9 +744,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileAddition) {
735
744
  ASSERT_OK(builder.Apply(&edit));
736
745
 
737
746
  constexpr bool force_consistency_checks = false;
738
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
739
- kCompactionStyleLevel, &vstorage_,
740
- force_consistency_checks);
747
+ VersionStorageInfo new_vstorage(
748
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
749
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
750
+ 0);
741
751
 
742
752
  ASSERT_OK(builder.SaveTo(&new_vstorage));
743
753
 
@@ -874,9 +884,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileGarbageFileInBase) {
874
884
  ASSERT_OK(builder.Apply(&edit));
875
885
 
876
886
  constexpr bool force_consistency_checks = false;
877
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
878
- kCompactionStyleLevel, &vstorage_,
879
- force_consistency_checks);
887
+ VersionStorageInfo new_vstorage(
888
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
889
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
890
+ 0);
880
891
 
881
892
  ASSERT_OK(builder.SaveTo(&new_vstorage));
882
893
 
@@ -947,9 +958,10 @@ TEST_F(VersionBuilderTest, ApplyBlobFileGarbageFileAdditionApplied) {
947
958
  ASSERT_OK(builder.Apply(&garbage));
948
959
 
949
960
  constexpr bool force_consistency_checks = false;
950
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
951
- kCompactionStyleLevel, &vstorage_,
952
- force_consistency_checks);
961
+ VersionStorageInfo new_vstorage(
962
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
963
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
964
+ 0);
953
965
 
954
966
  ASSERT_OK(builder.SaveTo(&new_vstorage));
955
967
 
@@ -1127,9 +1139,10 @@ TEST_F(VersionBuilderTest, SaveBlobFilesTo) {
1127
1139
  ASSERT_OK(builder.Apply(&edit));
1128
1140
 
1129
1141
  constexpr bool force_consistency_checks = false;
1130
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1131
- kCompactionStyleLevel, &vstorage_,
1132
- force_consistency_checks);
1142
+ VersionStorageInfo new_vstorage(
1143
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1144
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1145
+ 0);
1133
1146
 
1134
1147
  ASSERT_OK(builder.SaveTo(&new_vstorage));
1135
1148
 
@@ -1175,9 +1188,10 @@ TEST_F(VersionBuilderTest, SaveBlobFilesTo) {
1175
1188
 
1176
1189
  ASSERT_OK(second_builder.Apply(&second_edit));
1177
1190
 
1178
- VersionStorageInfo newer_vstorage(&icmp_, ucmp_, options_.num_levels,
1179
- kCompactionStyleLevel, &new_vstorage,
1180
- force_consistency_checks);
1191
+ VersionStorageInfo newer_vstorage(
1192
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &new_vstorage,
1193
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1194
+ 0);
1181
1195
 
1182
1196
  ASSERT_OK(second_builder.SaveTo(&newer_vstorage));
1183
1197
 
@@ -1253,16 +1267,18 @@ TEST_F(VersionBuilderTest, SaveBlobFilesToConcurrentJobs) {
1253
1267
  GetInternalKey(largest), smallest_seqno, largest_seqno,
1254
1268
  marked_for_compaction, Temperature::kUnknown, blob_file_number,
1255
1269
  kUnknownOldestAncesterTime, kUnknownFileCreationTime, 2 /*epoch_number*/,
1256
- checksum_value, checksum_method, kNullUniqueId64x2, 0, 0);
1270
+ checksum_value, checksum_method, kNullUniqueId64x2, 0, 0,
1271
+ /* user_defined_timestamps_persisted */ true);
1257
1272
  edit.AddBlobFile(blob_file_number, total_blob_count, total_blob_bytes,
1258
1273
  checksum_method, checksum_value);
1259
1274
 
1260
1275
  ASSERT_OK(builder.Apply(&edit));
1261
1276
 
1262
1277
  constexpr bool force_consistency_checks = true;
1263
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1264
- kCompactionStyleLevel, &vstorage_,
1265
- force_consistency_checks);
1278
+ VersionStorageInfo new_vstorage(
1279
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1280
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1281
+ 0);
1266
1282
 
1267
1283
  ASSERT_OK(builder.SaveTo(&new_vstorage));
1268
1284
 
@@ -1341,7 +1357,8 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
1341
1357
  /* oldest_blob_file_number */ 16, kUnknownOldestAncesterTime,
1342
1358
  kUnknownFileCreationTime, kUnknownEpochNumber,
1343
1359
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1344
- kNullUniqueId64x2, 0, 0);
1360
+ kNullUniqueId64x2, 0, 0,
1361
+ /* user_defined_timestamps_persisted */ true);
1345
1362
 
1346
1363
  edit.AddFile(/* level */ 1, /* file_number */ 700, /* path_id */ 0,
1347
1364
  /* file_size */ 100, /* smallest */ GetInternalKey("801"),
@@ -1351,7 +1368,8 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
1351
1368
  /* oldest_blob_file_number */ 1000, kUnknownOldestAncesterTime,
1352
1369
  kUnknownFileCreationTime, kUnknownEpochNumber,
1353
1370
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1354
- kNullUniqueId64x2, 0, 0);
1371
+ kNullUniqueId64x2, 0, 0,
1372
+ /* user_defined_timestamps_persisted */ true);
1355
1373
  edit.AddBlobFile(/* blob_file_number */ 1000, /* total_blob_count */ 2000,
1356
1374
  /* total_blob_bytes */ 200000,
1357
1375
  /* checksum_method */ std::string(),
@@ -1361,9 +1379,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFiles) {
1361
1379
 
1362
1380
  // Save to a new version in order to trigger consistency checks.
1363
1381
  constexpr bool force_consistency_checks = true;
1364
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1365
- kCompactionStyleLevel, &vstorage_,
1366
- force_consistency_checks);
1382
+ VersionStorageInfo new_vstorage(
1383
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1384
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1385
+ 0);
1367
1386
 
1368
1387
  ASSERT_OK(builder.SaveTo(&new_vstorage));
1369
1388
 
@@ -1400,9 +1419,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesInconsistentLinks) {
1400
1419
 
1401
1420
  // Save to a new version in order to trigger consistency checks.
1402
1421
  constexpr bool force_consistency_checks = true;
1403
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1404
- kCompactionStyleLevel, &vstorage_,
1405
- force_consistency_checks);
1422
+ VersionStorageInfo new_vstorage(
1423
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1424
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1425
+ 0);
1406
1426
 
1407
1427
  const Status s = builder.SaveTo(&new_vstorage);
1408
1428
  ASSERT_TRUE(s.IsCorruption());
@@ -1441,9 +1461,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesAllGarbage) {
1441
1461
 
1442
1462
  // Save to a new version in order to trigger consistency checks.
1443
1463
  constexpr bool force_consistency_checks = true;
1444
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1445
- kCompactionStyleLevel, &vstorage_,
1446
- force_consistency_checks);
1464
+ VersionStorageInfo new_vstorage(
1465
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1466
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1467
+ 0);
1447
1468
 
1448
1469
  const Status s = builder.SaveTo(&new_vstorage);
1449
1470
  ASSERT_TRUE(s.IsCorruption());
@@ -1490,9 +1511,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForBlobFilesAllGarbageLinkedSsts) {
1490
1511
 
1491
1512
  // Save to a new version in order to trigger consistency checks.
1492
1513
  constexpr bool force_consistency_checks = true;
1493
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1494
- kCompactionStyleLevel, &vstorage_,
1495
- force_consistency_checks);
1514
+ VersionStorageInfo new_vstorage(
1515
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1516
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1517
+ 0);
1496
1518
 
1497
1519
  const Status s = builder.SaveTo(&new_vstorage);
1498
1520
  ASSERT_TRUE(s.IsCorruption());
@@ -1572,7 +1594,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1572
1594
  Temperature::kUnknown,
1573
1595
  /* oldest_blob_file_number */ 1, kUnknownOldestAncesterTime,
1574
1596
  kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
1575
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1597
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
1598
+ /* user_defined_timestamps_persisted */ true);
1576
1599
 
1577
1600
  // Add an SST that does not reference any blob files.
1578
1601
  edit.AddFile(
@@ -1582,7 +1605,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1582
1605
  /* largest_seqno */ 2200, /* marked_for_compaction */ false,
1583
1606
  Temperature::kUnknown, kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
1584
1607
  kUnknownFileCreationTime, kUnknownEpochNumber, kUnknownFileChecksum,
1585
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1608
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
1609
+ /* user_defined_timestamps_persisted */ true);
1586
1610
 
1587
1611
  // Delete a file that references a blob file.
1588
1612
  edit.DeleteFile(/* level */ 1, /* file_number */ 6);
@@ -1605,7 +1629,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1605
1629
  /* oldest_blob_file_number */ 3, kUnknownOldestAncesterTime,
1606
1630
  kUnknownFileCreationTime, kUnknownEpochNumber,
1607
1631
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1608
- kNullUniqueId64x2, 0, 0);
1632
+ kNullUniqueId64x2, 0, 0,
1633
+ /* user_defined_timestamps_persisted */ true);
1609
1634
 
1610
1635
  // Trivially move a file that does not reference any blob files.
1611
1636
  edit.DeleteFile(/* level */ 1, /* file_number */ 13);
@@ -1617,7 +1642,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1617
1642
  Temperature::kUnknown, kInvalidBlobFileNumber,
1618
1643
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1619
1644
  kUnknownEpochNumber, kUnknownFileChecksum,
1620
- kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0);
1645
+ kUnknownFileChecksumFuncName, kNullUniqueId64x2, 0, 0,
1646
+ /* user_defined_timestamps_persisted */ true);
1621
1647
 
1622
1648
  // Add one more SST file that references a blob file, then promptly
1623
1649
  // delete it in a second version edit before the new version gets saved.
@@ -1631,7 +1657,8 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1631
1657
  /* oldest_blob_file_number */ 5, kUnknownOldestAncesterTime,
1632
1658
  kUnknownFileCreationTime, kUnknownEpochNumber,
1633
1659
  kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1634
- kNullUniqueId64x2, 0, 0);
1660
+ kNullUniqueId64x2, 0, 0,
1661
+ /* user_defined_timestamps_persisted */ true);
1635
1662
 
1636
1663
  VersionEdit edit2;
1637
1664
 
@@ -1648,9 +1675,10 @@ TEST_F(VersionBuilderTest, MaintainLinkedSstsForBlobFiles) {
1648
1675
  ASSERT_OK(builder.Apply(&edit2));
1649
1676
 
1650
1677
  constexpr bool force_consistency_checks = true;
1651
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1652
- kCompactionStyleLevel, &vstorage_,
1653
- force_consistency_checks);
1678
+ VersionStorageInfo new_vstorage(
1679
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, &vstorage_,
1680
+ force_consistency_checks, EpochNumberRequirement::kMightMissing, nullptr,
1681
+ 0);
1654
1682
 
1655
1683
  ASSERT_OK(builder.SaveTo(&new_vstorage));
1656
1684
 
@@ -1699,9 +1727,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForFileDeletedTwice) {
1699
1727
 
1700
1728
  VersionBuilder version_builder(env_options, &ioptions_, table_cache,
1701
1729
  &vstorage_, version_set);
1702
- VersionStorageInfo new_vstorage(&icmp_, ucmp_, options_.num_levels,
1703
- kCompactionStyleLevel, nullptr,
1704
- true /* force_consistency_checks */);
1730
+ VersionStorageInfo new_vstorage(
1731
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr,
1732
+ true /* force_consistency_checks */,
1733
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
1705
1734
  ASSERT_OK(version_builder.Apply(&version_edit));
1706
1735
  ASSERT_OK(version_builder.SaveTo(&new_vstorage));
1707
1736
 
@@ -1709,9 +1738,10 @@ TEST_F(VersionBuilderTest, CheckConsistencyForFileDeletedTwice) {
1709
1738
 
1710
1739
  VersionBuilder version_builder2(env_options, &ioptions_, table_cache,
1711
1740
  &new_vstorage, version_set);
1712
- VersionStorageInfo new_vstorage2(&icmp_, ucmp_, options_.num_levels,
1713
- kCompactionStyleLevel, nullptr,
1714
- true /* force_consistency_checks */);
1741
+ VersionStorageInfo new_vstorage2(
1742
+ &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel, nullptr,
1743
+ true /* force_consistency_checks */,
1744
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
1715
1745
  ASSERT_NOK(version_builder2.Apply(&version_edit));
1716
1746
 
1717
1747
  UnrefFilesInVersion(&new_vstorage);
@@ -1732,7 +1762,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1732
1762
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1733
1763
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1734
1764
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1735
- kNullUniqueId64x2, 0, 0);
1765
+ kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
1736
1766
  version_edit_1.AddFile(
1737
1767
  /* level */ 0, /* file_number */ 2U, /* path_id */ 0,
1738
1768
  /* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
@@ -1742,14 +1772,15 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1742
1772
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1743
1773
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1744
1774
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1745
- kNullUniqueId64x2, 0, 0);
1775
+ kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
1746
1776
 
1747
1777
  VersionBuilder version_builder_1(EnvOptions(), &ioptions_,
1748
1778
  nullptr /* table_cache */, &vstorage_,
1749
1779
  nullptr /* file_metadata_cache_res_mgr */);
1750
1780
  VersionStorageInfo new_vstorage_1(
1751
1781
  &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
1752
- nullptr /* src_vstorage */, true /* force_consistency_checks */);
1782
+ nullptr /* src_vstorage */, true /* force_consistency_checks */,
1783
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
1753
1784
 
1754
1785
  ASSERT_OK(version_builder_1.Apply(&version_edit_1));
1755
1786
  s = version_builder_1.SaveTo(&new_vstorage_1);
@@ -1769,7 +1800,7 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1769
1800
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1770
1801
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1771
1802
  1 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1772
- kNullUniqueId64x2, 0, 0);
1803
+ kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
1773
1804
  version_edit_2.AddFile(
1774
1805
  /* level */ 0, /* file_number */ 2U, /* path_id */ 0,
1775
1806
  /* file_size */ 100, /* smallest */ GetInternalKey("b", 2),
@@ -1779,14 +1810,15 @@ TEST_F(VersionBuilderTest, CheckConsistencyForL0FilesSortedByEpochNumber) {
1779
1810
  /* oldest_blob_file_number */ kInvalidBlobFileNumber,
1780
1811
  kUnknownOldestAncesterTime, kUnknownFileCreationTime,
1781
1812
  2 /* epoch_number */, kUnknownFileChecksum, kUnknownFileChecksumFuncName,
1782
- kNullUniqueId64x2, 0, 0);
1813
+ kNullUniqueId64x2, 0, 0, /* user_defined_timestamps_persisted */ true);
1783
1814
 
1784
1815
  VersionBuilder version_builder_2(EnvOptions(), &ioptions_,
1785
1816
  nullptr /* table_cache */, &vstorage_,
1786
1817
  nullptr /* file_metadata_cache_res_mgr */);
1787
1818
  VersionStorageInfo new_vstorage_2(
1788
1819
  &icmp_, ucmp_, options_.num_levels, kCompactionStyleLevel,
1789
- nullptr /* src_vstorage */, true /* force_consistency_checks */);
1820
+ nullptr /* src_vstorage */, true /* force_consistency_checks */,
1821
+ EpochNumberRequirement::kMightMissing, nullptr, 0);
1790
1822
 
1791
1823
  ASSERT_OK(version_builder_2.Apply(&version_edit_2));
1792
1824
  s = version_builder_2.SaveTo(&new_vstorage_2);