@nxtedition/rocksdb 13.5.7 → 13.5.9

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 (509) hide show
  1. package/binding.cc +248 -70
  2. package/binding.gyp +2 -2
  3. package/deps/rocksdb/rocksdb/BUCK +12 -0
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +7 -0
  5. package/deps/rocksdb/rocksdb/Makefile +28 -23
  6. package/deps/rocksdb/rocksdb/cache/cache.cc +0 -1
  7. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +1 -2
  8. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +43 -39
  9. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.h +2 -0
  10. package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache_test.cc +0 -1
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +2 -3
  12. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
  13. package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +1 -3
  14. package/deps/rocksdb/rocksdb/cache/secondary_cache_adapter.cc +11 -1
  15. package/deps/rocksdb/rocksdb/cache/tiered_secondary_cache_test.cc +13 -5
  16. package/deps/rocksdb/rocksdb/crash_test.mk +61 -15
  17. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +136 -45
  18. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.h +34 -16
  19. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +10 -7
  20. package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +1 -2
  21. package/deps/rocksdb/rocksdb/db/blob/blob_file_meta.h +1 -0
  22. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +12 -9
  23. package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +3 -4
  24. package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +2 -2
  25. package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +3 -4
  26. package/deps/rocksdb/rocksdb/db/builder.cc +22 -8
  27. package/deps/rocksdb/rocksdb/db/builder.h +5 -4
  28. package/deps/rocksdb/rocksdb/db/c.cc +556 -15
  29. package/deps/rocksdb/rocksdb/db/c_test.c +133 -12
  30. package/deps/rocksdb/rocksdb/db/column_family.cc +114 -50
  31. package/deps/rocksdb/rocksdb/db/column_family.h +53 -36
  32. package/deps/rocksdb/rocksdb/db/column_family_test.cc +6 -6
  33. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +0 -1
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +95 -70
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +71 -51
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -86
  37. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +26 -68
  38. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +0 -122
  39. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +453 -258
  40. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +117 -92
  41. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +0 -1
  42. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +38 -38
  43. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +24 -17
  44. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +34 -45
  45. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -31
  46. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +12 -3
  47. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +1 -1
  48. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +2 -1
  49. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +10 -10
  50. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +2 -1
  51. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +82 -34
  52. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +267 -179
  53. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +4 -1
  54. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +273 -89
  55. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +300 -14
  56. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +4 -4
  57. package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +2 -2
  58. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +28 -23
  59. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +69 -51
  60. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +522 -245
  61. package/deps/rocksdb/rocksdb/db/convenience.cc +15 -4
  62. package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -3
  63. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +0 -2
  64. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +196 -17
  65. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +74 -62
  66. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +48 -0
  67. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +682 -250
  68. package/deps/rocksdb/rocksdb/db/db_dynamic_level_test.cc +0 -1
  69. package/deps/rocksdb/rocksdb/db/db_encryption_test.cc +3 -4
  70. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +11 -16
  71. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +57 -0
  72. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.cc +2 -2
  73. package/deps/rocksdb/rocksdb/db/db_impl/compacted_db_impl.h +1 -1
  74. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +540 -490
  75. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +347 -188
  76. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +584 -217
  77. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +13 -9
  78. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +5 -7
  79. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +40 -36
  80. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_follower.cc +1 -3
  81. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +751 -372
  82. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.cc +35 -32
  83. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_readonly.h +24 -2
  84. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +125 -63
  85. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
  86. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +311 -196
  87. package/deps/rocksdb/rocksdb/db/db_io_failure_test.cc +15 -5
  88. package/deps/rocksdb/rocksdb/db/db_iter.cc +42 -29
  89. package/deps/rocksdb/rocksdb/db/db_iter.h +96 -31
  90. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +3 -4
  91. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +168 -228
  92. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +454 -0
  93. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +8 -8
  94. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +0 -1
  95. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +90 -0
  96. package/deps/rocksdb/rocksdb/db/db_merge_operand_test.cc +60 -2
  97. package/deps/rocksdb/rocksdb/db/db_merge_operator_test.cc +7 -3
  98. package/deps/rocksdb/rocksdb/db/db_options_test.cc +85 -27
  99. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +3 -1
  100. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +0 -2
  101. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +114 -2
  102. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +0 -1
  103. package/deps/rocksdb/rocksdb/db/db_statistics_test.cc +0 -1
  104. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +51 -3
  105. package/deps/rocksdb/rocksdb/db/db_tailing_iter_test.cc +0 -1
  106. package/deps/rocksdb/rocksdb/db/db_test.cc +325 -18
  107. package/deps/rocksdb/rocksdb/db/db_test2.cc +644 -20
  108. package/deps/rocksdb/rocksdb/db/db_test_util.cc +14 -6
  109. package/deps/rocksdb/rocksdb/db/db_test_util.h +9 -0
  110. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +64 -45
  111. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +203 -14
  112. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +259 -30
  113. package/deps/rocksdb/rocksdb/db/db_write_buffer_manager_test.cc +0 -1
  114. package/deps/rocksdb/rocksdb/db/db_write_test.cc +75 -1
  115. package/deps/rocksdb/rocksdb/db/dbformat.h +70 -6
  116. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +0 -190
  117. package/deps/rocksdb/rocksdb/db/error_handler.cc +22 -7
  118. package/deps/rocksdb/rocksdb/db/error_handler.h +16 -1
  119. package/deps/rocksdb/rocksdb/db/event_helpers.cc +41 -26
  120. package/deps/rocksdb/rocksdb/db/experimental.cc +4 -3
  121. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +464 -78
  122. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +166 -69
  123. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +54 -25
  124. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +1 -3
  125. package/deps/rocksdb/rocksdb/db/flush_job.cc +98 -81
  126. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -9
  127. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +80 -84
  128. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  129. package/deps/rocksdb/rocksdb/db/forward_iterator.h +2 -2
  130. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +12 -19
  131. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +0 -2
  132. package/deps/rocksdb/rocksdb/db/internal_stats.cc +41 -15
  133. package/deps/rocksdb/rocksdb/db/internal_stats.h +63 -52
  134. package/deps/rocksdb/rocksdb/db/job_context.h +59 -24
  135. package/deps/rocksdb/rocksdb/db/listener_test.cc +69 -10
  136. package/deps/rocksdb/rocksdb/db/log_format.h +11 -2
  137. package/deps/rocksdb/rocksdb/db/log_reader.cc +147 -34
  138. package/deps/rocksdb/rocksdb/db/log_reader.h +40 -11
  139. package/deps/rocksdb/rocksdb/db/log_test.cc +16 -3
  140. package/deps/rocksdb/rocksdb/db/log_writer.cc +102 -55
  141. package/deps/rocksdb/rocksdb/db/log_writer.h +21 -2
  142. package/deps/rocksdb/rocksdb/db/malloc_stats.h +0 -2
  143. package/deps/rocksdb/rocksdb/db/memtable.cc +16 -47
  144. package/deps/rocksdb/rocksdb/db/memtable.h +76 -12
  145. package/deps/rocksdb/rocksdb/db/memtable_list.cc +23 -20
  146. package/deps/rocksdb/rocksdb/db/memtable_list.h +9 -11
  147. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +18 -37
  148. package/deps/rocksdb/rocksdb/db/merge_context.h +2 -1
  149. package/deps/rocksdb/rocksdb/db/merge_test.cc +8 -0
  150. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +3 -5
  151. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.cc +15 -7
  152. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler.h +6 -3
  153. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +22 -4
  154. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +41 -1
  155. package/deps/rocksdb/rocksdb/db/prefix_test.cc +0 -1
  156. package/deps/rocksdb/rocksdb/db/repair.cc +29 -34
  157. package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -1
  158. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +14 -15
  159. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +1 -3
  160. package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +47 -1
  161. package/deps/rocksdb/rocksdb/db/table_cache.cc +3 -3
  162. package/deps/rocksdb/rocksdb/db/transaction_log_impl.cc +1 -3
  163. package/deps/rocksdb/rocksdb/db/transaction_log_impl.h +2 -1
  164. package/deps/rocksdb/rocksdb/db/version_builder.cc +2 -2
  165. package/deps/rocksdb/rocksdb/db/version_edit.cc +8 -37
  166. package/deps/rocksdb/rocksdb/db/version_edit.h +32 -1
  167. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +26 -18
  168. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +7 -5
  169. package/deps/rocksdb/rocksdb/db/version_set.cc +282 -197
  170. package/deps/rocksdb/rocksdb/db/version_set.h +54 -57
  171. package/deps/rocksdb/rocksdb/db/version_set_test.cc +28 -35
  172. package/deps/rocksdb/rocksdb/db/version_util.h +2 -3
  173. package/deps/rocksdb/rocksdb/db/wal_manager.cc +3 -2
  174. package/deps/rocksdb/rocksdb/db/wal_manager.h +0 -1
  175. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +0 -1
  176. package/deps/rocksdb/rocksdb/db/wide/wide_columns.cc +1 -0
  177. package/deps/rocksdb/rocksdb/db/write_batch.cc +22 -8
  178. package/deps/rocksdb/rocksdb/db/write_batch_internal.h +5 -4
  179. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +7 -6
  180. package/deps/rocksdb/rocksdb/db/write_callback_test.cc +3 -4
  181. package/deps/rocksdb/rocksdb/db/write_thread.h +3 -3
  182. package/deps/rocksdb/rocksdb/db_stress_tool/cf_consistency_stress.cc +13 -5
  183. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +9 -2
  184. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_service.h +39 -0
  185. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compression_manager.h +65 -0
  186. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +45 -22
  187. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.h +7 -4
  188. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +22 -5
  189. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_table_properties_collector.h +28 -3
  190. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +143 -38
  191. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +4 -3
  192. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +80 -32
  193. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.h +51 -2
  194. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +23 -1
  195. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +305 -15
  196. package/deps/rocksdb/rocksdb/env/env.cc +32 -2
  197. package/deps/rocksdb/rocksdb/env/env_encryption.cc +0 -2
  198. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +2 -4
  199. package/deps/rocksdb/rocksdb/env/env_posix.cc +4 -2
  200. package/deps/rocksdb/rocksdb/env/env_test.cc +0 -1
  201. package/deps/rocksdb/rocksdb/env/fs_posix.cc +20 -11
  202. package/deps/rocksdb/rocksdb/env/fs_readonly.h +0 -2
  203. package/deps/rocksdb/rocksdb/env/fs_remap.cc +0 -2
  204. package/deps/rocksdb/rocksdb/env/fs_remap.h +0 -2
  205. package/deps/rocksdb/rocksdb/env/io_posix.cc +6 -4
  206. package/deps/rocksdb/rocksdb/env/io_posix.h +3 -2
  207. package/deps/rocksdb/rocksdb/env/mock_env.cc +0 -1
  208. package/deps/rocksdb/rocksdb/file/delete_scheduler.cc +2 -2
  209. package/deps/rocksdb/rocksdb/file/delete_scheduler.h +0 -2
  210. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +0 -2
  211. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +30 -21
  212. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +16 -0
  213. package/deps/rocksdb/rocksdb/file/file_util.cc +32 -14
  214. package/deps/rocksdb/rocksdb/file/file_util.h +22 -5
  215. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +229 -76
  216. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +21 -12
  217. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +10 -7
  218. package/deps/rocksdb/rocksdb/file/random_access_file_reader_test.cc +12 -8
  219. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.cc +1 -2
  220. package/deps/rocksdb/rocksdb/file/sst_file_manager_impl.h +0 -2
  221. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +3 -3
  222. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_compression.h +598 -0
  223. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_iterator.h +36 -0
  224. package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +70 -11
  225. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +232 -11
  226. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +1 -1
  227. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +3 -1
  228. package/deps/rocksdb/rocksdb/include/rocksdb/compression_type.h +149 -15
  229. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +17 -2
  230. package/deps/rocksdb/rocksdb/include/rocksdb/data_structure.h +132 -34
  231. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +158 -79
  232. package/deps/rocksdb/rocksdb/include/rocksdb/db_bench_tool.h +2 -1
  233. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +4 -5
  234. package/deps/rocksdb/rocksdb/include/rocksdb/env_encryption.h +1 -3
  235. package/deps/rocksdb/rocksdb/include/rocksdb/experimental.h +5 -0
  236. package/deps/rocksdb/rocksdb/include/rocksdb/external_table.h +275 -0
  237. package/deps/rocksdb/rocksdb/include/rocksdb/file_checksum.h +2 -1
  238. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +50 -5
  239. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +10 -0
  240. package/deps/rocksdb/rocksdb/include/rocksdb/iterator.h +13 -0
  241. package/deps/rocksdb/rocksdb/include/rocksdb/ldb_tool.h +0 -1
  242. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +5 -2
  243. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +13 -0
  244. package/deps/rocksdb/rocksdb/include/rocksdb/multi_scan.h +237 -0
  245. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +230 -39
  246. package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +15 -0
  247. package/deps/rocksdb/rocksdb/include/rocksdb/perf_level.h +31 -11
  248. package/deps/rocksdb/rocksdb/include/rocksdb/slice.h +41 -0
  249. package/deps/rocksdb/rocksdb/include/rocksdb/slice_transform.h +1 -1
  250. package/deps/rocksdb/rocksdb/include/rocksdb/sst_dump_tool.h +0 -1
  251. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_reader.h +5 -1
  252. package/deps/rocksdb/rocksdb/include/rocksdb/sst_file_writer.h +0 -1
  253. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +18 -3
  254. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +2 -0
  255. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +20 -8
  256. package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +19 -2
  257. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -1
  258. package/deps/rocksdb/rocksdb/include/rocksdb/tool_hooks.h +124 -0
  259. package/deps/rocksdb/rocksdb/include/rocksdb/trace_record.h +1 -0
  260. package/deps/rocksdb/rocksdb/include/rocksdb/universal_compaction.h +26 -1
  261. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +55 -6
  262. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +3 -5
  263. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -2
  264. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -2
  265. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/memory_util.h +0 -1
  266. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +1 -2
  267. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_util.h +0 -1
  268. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index.h +96 -8
  269. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/secondary_index_faiss.h +117 -0
  270. package/deps/rocksdb/rocksdb/{utilities/secondary_index/faiss_ivf_index.h → include/rocksdb/utilities/secondary_index_simple.h} +11 -14
  271. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/stackable_db.h +26 -11
  272. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +16 -3
  273. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction.h +0 -2
  274. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +63 -7
  275. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -1
  276. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +28 -12
  277. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +3 -3
  278. package/deps/rocksdb/rocksdb/logging/auto_roll_logger_test.cc +0 -2
  279. package/deps/rocksdb/rocksdb/logging/event_logger_test.cc +1 -2
  280. package/deps/rocksdb/rocksdb/memory/memory_allocator_impl.h +1 -1
  281. package/deps/rocksdb/rocksdb/memory/memory_allocator_test.cc +0 -1
  282. package/deps/rocksdb/rocksdb/memtable/hash_linklist_rep.cc +0 -1
  283. package/deps/rocksdb/rocksdb/memtable/memtablerep_bench.cc +3 -1
  284. package/deps/rocksdb/rocksdb/memtable/skiplist.h +2 -2
  285. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +2 -4
  286. package/deps/rocksdb/rocksdb/memtable/vectorrep.cc +69 -8
  287. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.cc +32 -9
  288. package/deps/rocksdb/rocksdb/memtable/wbwi_memtable.h +58 -45
  289. package/deps/rocksdb/rocksdb/monitoring/histogram.h +1 -1
  290. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +5 -3
  291. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +5 -0
  292. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +1 -1
  293. package/deps/rocksdb/rocksdb/monitoring/thread_status_util_debug.cc +3 -2
  294. package/deps/rocksdb/rocksdb/options/cf_options.cc +44 -13
  295. package/deps/rocksdb/rocksdb/options/cf_options.h +21 -7
  296. package/deps/rocksdb/rocksdb/options/configurable.cc +5 -5
  297. package/deps/rocksdb/rocksdb/options/configurable_test.h +1 -2
  298. package/deps/rocksdb/rocksdb/options/customizable.cc +0 -1
  299. package/deps/rocksdb/rocksdb/options/customizable_test.cc +4 -11
  300. package/deps/rocksdb/rocksdb/options/db_options.cc +18 -15
  301. package/deps/rocksdb/rocksdb/options/db_options.h +2 -2
  302. package/deps/rocksdb/rocksdb/options/options.cc +296 -305
  303. package/deps/rocksdb/rocksdb/options/options_helper.cc +188 -62
  304. package/deps/rocksdb/rocksdb/options/options_helper.h +3 -3
  305. package/deps/rocksdb/rocksdb/options/options_parser.cc +2 -4
  306. package/deps/rocksdb/rocksdb/options/options_parser.h +0 -1
  307. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +17 -4
  308. package/deps/rocksdb/rocksdb/options/options_test.cc +101 -76
  309. package/deps/rocksdb/rocksdb/port/lang.h +2 -1
  310. package/deps/rocksdb/rocksdb/port/port_posix.cc +2 -1
  311. package/deps/rocksdb/rocksdb/port/stack_trace.cc +5 -4
  312. package/deps/rocksdb/rocksdb/port/win/env_win.cc +3 -2
  313. package/deps/rocksdb/rocksdb/port/win/xpress_win.cc +99 -1
  314. package/deps/rocksdb/rocksdb/port/win/xpress_win.h +6 -0
  315. package/deps/rocksdb/rocksdb/src.mk +17 -11
  316. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.h +0 -1
  317. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1094 -929
  318. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +6 -19
  319. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +76 -22
  320. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.h +2 -0
  321. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +221 -131
  322. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +12 -9
  323. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +23 -24
  324. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +38 -38
  325. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +7 -4
  326. package/deps/rocksdb/rocksdb/table/block_based/block_cache.cc +5 -5
  327. package/deps/rocksdb/rocksdb/table/block_based/block_cache.h +10 -12
  328. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +6 -4
  329. package/deps/rocksdb/rocksdb/table/block_based/block_test.cc +35 -43
  330. package/deps/rocksdb/rocksdb/table/block_based/data_block_hash_index_test.cc +2 -1
  331. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  332. package/deps/rocksdb/rocksdb/table/block_based/filter_block_reader_common.cc +1 -2
  333. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +0 -4
  334. package/deps/rocksdb/rocksdb/table/block_based/filter_policy_internal.h +0 -1
  335. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +3 -3
  336. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +3 -3
  337. package/deps/rocksdb/rocksdb/table/block_based/partitioned_filter_block.cc +4 -4
  338. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +1 -1
  339. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.cc +4 -5
  340. package/deps/rocksdb/rocksdb/table/block_based/uncompression_dict_reader.h +4 -4
  341. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +37 -35
  342. package/deps/rocksdb/rocksdb/table/block_fetcher.h +11 -7
  343. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +4 -3
  344. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +31 -5
  345. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +2 -1
  346. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -1
  347. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder_test.cc +0 -1
  348. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +0 -1
  349. package/deps/rocksdb/rocksdb/table/external_table.cc +483 -0
  350. package/deps/rocksdb/rocksdb/table/format.cc +62 -44
  351. package/deps/rocksdb/rocksdb/table/format.h +35 -12
  352. package/deps/rocksdb/rocksdb/table/internal_iterator.h +3 -13
  353. package/deps/rocksdb/rocksdb/table/iterator_wrapper.h +8 -0
  354. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +6 -0
  355. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +150 -141
  356. package/deps/rocksdb/rocksdb/table/meta_blocks.h +5 -0
  357. package/deps/rocksdb/rocksdb/table/multiget_context.h +3 -2
  358. package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +8 -0
  359. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.cc +0 -1
  360. package/deps/rocksdb/rocksdb/table/plain/plain_table_index.h +0 -2
  361. package/deps/rocksdb/rocksdb/table/plain/plain_table_key_coding.h +0 -2
  362. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +0 -1
  363. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +6 -6
  364. package/deps/rocksdb/rocksdb/table/sst_file_dumper.h +0 -1
  365. package/deps/rocksdb/rocksdb/table/sst_file_reader.cc +86 -7
  366. package/deps/rocksdb/rocksdb/table/sst_file_reader_test.cc +88 -2
  367. package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +0 -1
  368. package/deps/rocksdb/rocksdb/table/table_builder.h +10 -1
  369. package/deps/rocksdb/rocksdb/table/table_reader_bench.cc +3 -2
  370. package/deps/rocksdb/rocksdb/table/table_test.cc +899 -22
  371. package/deps/rocksdb/rocksdb/test_util/testutil.cc +3 -4
  372. package/deps/rocksdb/rocksdb/test_util/testutil.h +132 -1
  373. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +0 -1
  374. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +0 -2
  375. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +163 -77
  376. package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +0 -2
  377. package/deps/rocksdb/rocksdb/tools/db_repl_stress.cc +0 -1
  378. package/deps/rocksdb/rocksdb/tools/dump/db_dump_tool.cc +0 -1
  379. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +120 -52
  380. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +1 -0
  381. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +1 -1
  382. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +0 -2
  383. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.cc +2 -2
  384. package/deps/rocksdb/rocksdb/tools/simulated_hybrid_file_system.h +0 -2
  385. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +2 -1
  386. package/deps/rocksdb/rocksdb/tools/tool_hooks.cc +94 -0
  387. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +0 -1
  388. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.h +0 -1
  389. package/deps/rocksdb/rocksdb/trace_replay/io_tracer.cc +1 -1
  390. package/deps/rocksdb/rocksdb/trace_replay/io_tracer_test.cc +2 -1
  391. package/deps/rocksdb/rocksdb/trace_replay/trace_replay.cc +3 -5
  392. package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
  393. package/deps/rocksdb/rocksdb/util/async_file_reader.h +15 -8
  394. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.cc +131 -0
  395. package/deps/rocksdb/rocksdb/util/auto_skip_compressor.h +90 -0
  396. package/deps/rocksdb/rocksdb/util/autovector.h +1 -1
  397. package/deps/rocksdb/rocksdb/util/autovector_test.cc +2 -2
  398. package/deps/rocksdb/rocksdb/util/compaction_job_stats_impl.cc +0 -2
  399. package/deps/rocksdb/rocksdb/util/compression.cc +936 -4
  400. package/deps/rocksdb/rocksdb/util/compression.h +348 -232
  401. package/deps/rocksdb/rocksdb/util/compression_test.cc +229 -0
  402. package/deps/rocksdb/rocksdb/util/crc32c_arm64.cc +10 -10
  403. package/deps/rocksdb/rocksdb/util/crc32c_ppc.c +1 -0
  404. package/deps/rocksdb/rocksdb/util/data_structure.cc +2 -0
  405. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +1 -3
  406. package/deps/rocksdb/rocksdb/util/ppc-opcode.h +5 -5
  407. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.cc +108 -0
  408. package/deps/rocksdb/rocksdb/util/simple_mixed_compressor.h +67 -0
  409. package/deps/rocksdb/rocksdb/util/slice_test.cc +83 -0
  410. package/deps/rocksdb/rocksdb/util/string_util.cc +0 -2
  411. package/deps/rocksdb/rocksdb/util/string_util.h +10 -0
  412. package/deps/rocksdb/rocksdb/util/thread_operation.h +2 -1
  413. package/deps/rocksdb/rocksdb/util/udt_util.cc +18 -5
  414. package/deps/rocksdb/rocksdb/util/udt_util.h +10 -7
  415. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +650 -154
  416. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +438 -144
  417. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -1
  418. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db.h +0 -1
  419. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -1
  420. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.cc +16 -17
  421. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl.h +2 -1
  422. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -1
  423. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_listener.h +0 -1
  424. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +7 -8
  425. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +4 -3
  426. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -1
  427. package/deps/rocksdb/rocksdb/utilities/cache_dump_load.cc +0 -1
  428. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +2 -2
  429. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -1
  430. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_test.cc +0 -48
  431. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -1
  432. package/deps/rocksdb/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -1
  433. package/deps/rocksdb/rocksdb/utilities/debug.cc +7 -14
  434. package/deps/rocksdb/rocksdb/utilities/env_mirror.cc +0 -1
  435. package/deps/rocksdb/rocksdb/utilities/env_mirror_test.cc +0 -2
  436. package/deps/rocksdb/rocksdb/utilities/env_timed.cc +0 -1
  437. package/deps/rocksdb/rocksdb/utilities/env_timed_test.cc +0 -2
  438. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +5 -3
  439. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +10 -9
  440. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +0 -1
  441. package/deps/rocksdb/rocksdb/utilities/memory/memory_util.cc +0 -1
  442. package/deps/rocksdb/rocksdb/utilities/memory_allocators.h +1 -0
  443. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +0 -2
  444. package/deps/rocksdb/rocksdb/utilities/options/options_util.cc +0 -1
  445. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +0 -1
  446. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -1
  447. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -2
  448. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -2
  449. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -1
  450. package/deps/rocksdb/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -2
  451. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table.h +0 -2
  452. package/deps/rocksdb/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -2
  453. package/deps/rocksdb/rocksdb/utilities/persistent_cache/lrulist.h +0 -2
  454. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -2
  455. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -1
  456. package/deps/rocksdb/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -2
  457. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -1
  458. package/deps/rocksdb/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -2
  459. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index.cc +183 -32
  460. package/deps/rocksdb/rocksdb/utilities/secondary_index/faiss_ivf_index_test.cc +258 -12
  461. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_helper.h +33 -0
  462. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_iterator.cc +99 -0
  463. package/deps/rocksdb/rocksdb/utilities/secondary_index/secondary_index_mixin.h +280 -120
  464. package/deps/rocksdb/rocksdb/utilities/secondary_index/simple_secondary_index.cc +79 -0
  465. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +52 -16
  466. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +10 -6
  467. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector_test.cc +55 -0
  468. package/deps/rocksdb/rocksdb/utilities/trace/replayer_impl.cc +0 -1
  469. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -2
  470. package/deps/rocksdb/rocksdb/utilities/transactions/lock/lock_manager.h +0 -1
  471. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +37 -12
  472. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +2 -0
  473. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.cc +0 -2
  474. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -2
  475. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +1 -1
  476. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +1 -1
  477. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +1 -1
  478. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +2 -1
  479. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +2 -2
  480. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -1
  481. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction.h +0 -2
  482. package/deps/rocksdb/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +1 -3
  483. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +36 -10
  484. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.h +5 -7
  485. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +4 -5
  486. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +1 -4
  487. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_base.h +1 -2
  488. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -2
  489. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -1
  490. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +1118 -37
  491. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.h +4 -7
  492. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +0 -2
  493. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.h +0 -2
  494. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +3 -3
  495. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1
  496. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +0 -2
  497. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +1 -2
  498. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.h +1 -2
  499. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -1
  500. package/deps/rocksdb/rocksdb/utilities/ttl/ttl_test.cc +0 -3
  501. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +125 -127
  502. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +45 -23
  503. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +54 -22
  504. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +477 -58
  505. package/deps/rocksdb/rocksdb.gyp +9 -4
  506. package/index.js +50 -9
  507. package/package.json +8 -1
  508. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  509. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
@@ -92,12 +92,10 @@ FlushJob::FlushJob(
92
92
  const MutableCFOptions& mutable_cf_options, uint64_t max_memtable_id,
93
93
  const FileOptions& file_options, VersionSet* versions,
94
94
  InstrumentedMutex* db_mutex, std::atomic<bool>* shutting_down,
95
- std::vector<SequenceNumber> existing_snapshots,
96
- SequenceNumber earliest_write_conflict_snapshot,
97
- SnapshotChecker* snapshot_checker, JobContext* job_context,
98
- FlushReason flush_reason, LogBuffer* log_buffer, FSDirectory* db_directory,
99
- FSDirectory* output_file_directory, CompressionType output_compression,
100
- Statistics* stats, EventLogger* event_logger, bool measure_io_stats,
95
+ JobContext* job_context, FlushReason flush_reason, LogBuffer* log_buffer,
96
+ FSDirectory* db_directory, FSDirectory* output_file_directory,
97
+ CompressionType output_compression, Statistics* stats,
98
+ EventLogger* event_logger, bool measure_io_stats,
101
99
  const bool sync_output_directory, const bool write_manifest,
102
100
  Env::Priority thread_pri, const std::shared_ptr<IOTracer>& io_tracer,
103
101
  std::shared_ptr<const SeqnoToTimeMapping> seqno_to_time_mapping,
@@ -114,12 +112,7 @@ FlushJob::FlushJob(
114
112
  versions_(versions),
115
113
  db_mutex_(db_mutex),
116
114
  shutting_down_(shutting_down),
117
- existing_snapshots_(std::move(existing_snapshots)),
118
- earliest_snapshot_(existing_snapshots_.empty()
119
- ? kMaxSequenceNumber
120
- : existing_snapshots_.at(0)),
121
- earliest_write_conflict_snapshot_(earliest_write_conflict_snapshot),
122
- snapshot_checker_(snapshot_checker),
115
+ earliest_snapshot_(job_context->GetEarliestSnapshotSequence()),
123
116
  job_context_(job_context),
124
117
  flush_reason_(flush_reason),
125
118
  log_buffer_(log_buffer),
@@ -140,6 +133,7 @@ FlushJob::FlushJob(
140
133
  full_history_ts_low_(std::move(full_history_ts_low)),
141
134
  blob_callback_(blob_callback),
142
135
  seqno_to_time_mapping_(std::move(seqno_to_time_mapping)) {
136
+ assert(job_context->snapshot_context_initialized);
143
137
  // Update the thread status to indicate flush.
144
138
  ReportStartedFlush();
145
139
  TEST_SYNC_POINT("FlushJob::FlushJob()");
@@ -329,7 +323,7 @@ Status FlushJob::Run(LogsWithPrepTracker* prep_tracker, FileMetaData* file_meta,
329
323
  TEST_SYNC_POINT("FlushJob::InstallResults");
330
324
  // Replace immutable memtable with the generated Table
331
325
  s = cfd_->imm()->TryInstallMemtableFlushResults(
332
- cfd_, mutable_cf_options_, mems_, prep_tracker, versions_, db_mutex_,
326
+ cfd_, mems_, prep_tracker, versions_, db_mutex_,
333
327
  meta_.fd.GetNumber(), &job_context_->memtables_to_free, db_directory_,
334
328
  log_buffer_, &committed_flush_jobs_info_,
335
329
  !(mempurge_s.ok()) /* write_edit : true if no mempurge happened (or if aborted),
@@ -345,8 +339,7 @@ Status FlushJob::Run(LogsWithPrepTracker* prep_tracker, FileMetaData* file_meta,
345
339
 
346
340
  // When measure_io_stats_ is true, the default 512 bytes is not enough.
347
341
  auto stream = event_logger_->LogToBuffer(log_buffer_, 1024);
348
- stream << "job" << job_context_->job_id << "event"
349
- << "flush_finished";
342
+ stream << "job" << job_context_->job_id << "event" << "flush_finished";
350
343
  stream << "output_compression"
351
344
  << CompressionTypeToString(output_compression_);
352
345
  stream << "lsm_state";
@@ -449,7 +442,7 @@ Status FlushJob::MemPurge() {
449
442
  NewMergingIterator(&(cfd_->internal_comparator()), memtables.data(),
450
443
  static_cast<int>(memtables.size()), &arena));
451
444
 
452
- auto* ioptions = cfd_->ioptions();
445
+ const auto& ioptions = cfd_->ioptions();
453
446
 
454
447
  // Place iterator at the First (meaning most recent) key node.
455
448
  iter->SeekToFirst();
@@ -457,7 +450,7 @@ Status FlushJob::MemPurge() {
457
450
  const std::string* const full_history_ts_low = &(cfd_->GetFullHistoryTsLow());
458
451
  std::unique_ptr<CompactionRangeDelAggregator> range_del_agg(
459
452
  new CompactionRangeDelAggregator(&(cfd_->internal_comparator()),
460
- existing_snapshots_,
453
+ job_context_->snapshot_seqs,
461
454
  full_history_ts_low));
462
455
  for (auto& rd_iter : range_del_iters) {
463
456
  range_del_agg->AddTombstones(std::move(rd_iter));
@@ -470,8 +463,8 @@ Status FlushJob::MemPurge() {
470
463
  // MaxSize is the size of a memtable.
471
464
  size_t maxSize = mutable_cf_options_.write_buffer_size;
472
465
  std::unique_ptr<CompactionFilter> compaction_filter;
473
- if (ioptions->compaction_filter_factory != nullptr &&
474
- ioptions->compaction_filter_factory->ShouldFilterTableFileCreation(
466
+ if (ioptions.compaction_filter_factory != nullptr &&
467
+ ioptions.compaction_filter_factory->ShouldFilterTableFileCreation(
475
468
  TableFileCreationReason::kFlush)) {
476
469
  CompactionFilter::Context ctx;
477
470
  ctx.is_full_compaction = false;
@@ -479,7 +472,7 @@ Status FlushJob::MemPurge() {
479
472
  ctx.column_family_id = cfd_->GetID();
480
473
  ctx.reason = TableFileCreationReason::kFlush;
481
474
  compaction_filter =
482
- ioptions->compaction_filter_factory->CreateCompactionFilter(ctx);
475
+ ioptions.compaction_filter_factory->CreateCompactionFilter(ctx);
483
476
  if (compaction_filter != nullptr &&
484
477
  !compaction_filter->IgnoreSnapshots()) {
485
478
  s = Status::NotSupported(
@@ -489,34 +482,34 @@ Status FlushJob::MemPurge() {
489
482
  }
490
483
  }
491
484
 
492
- new_mem = new MemTable((cfd_->internal_comparator()), *(cfd_->ioptions()),
485
+ new_mem = new MemTable(cfd_->internal_comparator(), cfd_->ioptions(),
493
486
  mutable_cf_options_, cfd_->write_buffer_mgr(),
494
487
  earliest_seqno, cfd_->GetID());
495
488
  assert(new_mem != nullptr);
496
489
 
497
490
  Env* env = db_options_.env;
498
491
  assert(env);
499
- MergeHelper merge(
500
- env, (cfd_->internal_comparator()).user_comparator(),
501
- (ioptions->merge_operator).get(), compaction_filter.get(),
502
- ioptions->logger, true /* internal key corruption is not ok */,
503
- existing_snapshots_.empty() ? 0 : existing_snapshots_.back(),
504
- snapshot_checker_);
492
+ MergeHelper merge(env, (cfd_->internal_comparator()).user_comparator(),
493
+ (ioptions.merge_operator).get(), compaction_filter.get(),
494
+ ioptions.logger,
495
+ true /* internal key corruption is not ok */,
496
+ job_context_->GetLatestSnapshotSequence(),
497
+ job_context_->snapshot_checker);
505
498
  assert(job_context_);
506
- SequenceNumber job_snapshot_seq = job_context_->GetJobSnapshotSequence();
507
499
  const std::atomic<bool> kManualCompactionCanceledFalse{false};
508
500
  CompactionIterator c_iter(
509
501
  iter.get(), (cfd_->internal_comparator()).user_comparator(), &merge,
510
- kMaxSequenceNumber, &existing_snapshots_, earliest_snapshot_,
511
- earliest_write_conflict_snapshot_, job_snapshot_seq, snapshot_checker_,
512
- env, ShouldReportDetailedTime(env, ioptions->stats),
502
+ kMaxSequenceNumber, &job_context_->snapshot_seqs, earliest_snapshot_,
503
+ job_context_->earliest_write_conflict_snapshot,
504
+ job_context_->GetJobSnapshotSequence(), job_context_->snapshot_checker,
505
+ env, ShouldReportDetailedTime(env, ioptions.stats),
513
506
  true /* internal key corruption is not ok */, range_del_agg.get(),
514
- nullptr, ioptions->allow_data_in_errors,
515
- ioptions->enforce_single_del_contracts,
507
+ nullptr, ioptions.allow_data_in_errors,
508
+ ioptions.enforce_single_del_contracts,
516
509
  /*manual_compaction_canceled=*/kManualCompactionCanceledFalse,
517
510
  false /* must_count_input_entries */,
518
511
  /*compaction=*/nullptr, compaction_filter.get(),
519
- /*shutting_down=*/nullptr, ioptions->info_log, full_history_ts_low);
512
+ /*shutting_down=*/nullptr, ioptions.info_log, full_history_ts_low);
520
513
 
521
514
  // Set earliest sequence number in the new memtable
522
515
  // to be equal to the earliest sequence number of the
@@ -762,7 +755,7 @@ bool FlushJob::MemPurgeDecider(double threshold) {
762
755
  // Pick the oldest existing snapshot that is more recent
763
756
  // than the sequence number of the sampled entry.
764
757
  min_seqno_snapshot = kMaxSequenceNumber;
765
- for (SequenceNumber seq_num : existing_snapshots_) {
758
+ for (SequenceNumber seq_num : job_context_->snapshot_seqs) {
766
759
  if (seq_num > res.sequence && seq_num < min_seqno_snapshot) {
767
760
  min_seqno_snapshot = seq_num;
768
761
  }
@@ -866,12 +859,15 @@ Status FlushJob::WriteLevel0Table() {
866
859
  assert(ucmp);
867
860
  const size_t ts_sz = ucmp->timestamp_size();
868
861
  const bool logical_strip_timestamp =
869
- ts_sz > 0 && !cfd_->ioptions()->persist_user_defined_timestamps;
862
+ ts_sz > 0 && !cfd_->ioptions().persist_user_defined_timestamps;
870
863
 
871
864
  std::vector<BlobFileAddition> blob_file_additions;
872
-
865
+ // Note that here we treat flush as level 0 compaction in internal stats
866
+ InternalStats::CompactionStats flush_stats(CompactionReason::kFlush,
867
+ 1 /* count**/);
873
868
  {
874
- auto write_hint = base_->storage_info()->CalculateSSTWriteHint(/*level=*/0);
869
+ auto write_hint = base_->storage_info()->CalculateSSTWriteHint(
870
+ /*level=*/0, db_options_.calculate_sst_write_lifetime_hint_set);
875
871
  Env::IOPriority io_priority = GetRateLimiterPriority();
876
872
  db_mutex_->Unlock();
877
873
  if (log_buffer_) {
@@ -887,7 +883,7 @@ Status FlushJob::WriteLevel0Table() {
887
883
  ro.total_order_seek = true;
888
884
  ro.io_activity = Env::IOActivity::kFlush;
889
885
  Arena arena;
890
- uint64_t total_num_entries = 0, total_num_deletes = 0;
886
+ uint64_t total_num_input_entries = 0, total_num_deletes = 0;
891
887
  uint64_t total_data_size = 0;
892
888
  size_t total_memory_usage = 0;
893
889
  uint64_t total_num_range_deletes = 0;
@@ -901,9 +897,9 @@ Status FlushJob::WriteLevel0Table() {
901
897
  for (ReadOnlyMemTable* m : mems_) {
902
898
  ROCKS_LOG_INFO(db_options_.info_log,
903
899
  "[%s] [JOB %d] Flushing memtable id %" PRIu64
904
- " with next log file: %" PRIu64 "\n",
900
+ " with next log file: %" PRIu64 ", marked_for_flush: %d\n",
905
901
  cfd_->GetName().c_str(), job_context_->job_id, m->GetID(),
906
- m->GetNextLogNumber());
902
+ m->GetNextLogNumber(), m->IsMarkedForFlush());
907
903
  if (logical_strip_timestamp) {
908
904
  memtables.push_back(m->NewTimestampStrippingIterator(
909
905
  ro, /*seqno_to_time_mapping=*/nullptr, &arena,
@@ -922,7 +918,7 @@ Status FlushJob::WriteLevel0Table() {
922
918
  if (range_del_iter != nullptr) {
923
919
  range_del_iters.emplace_back(range_del_iter);
924
920
  }
925
- total_num_entries += m->NumEntries();
921
+ total_num_input_entries += m->NumEntries();
926
922
  total_num_deletes += m->NumDeletion();
927
923
  total_data_size += m->GetDataSize();
928
924
  total_memory_usage += m->ApproximateMemoryUsage();
@@ -933,13 +929,13 @@ Status FlushJob::WriteLevel0Table() {
933
929
  // hitting limit memtable_max_range_deletions, flush_reason_ is still
934
930
  // "Write Buffer Full", should make update flush_reason_ accordingly.
935
931
  event_logger_->Log() << "job" << job_context_->job_id << "event"
936
- << "flush_started"
937
- << "num_memtables" << mems_.size() << "num_entries"
938
- << total_num_entries << "num_deletes"
939
- << total_num_deletes << "total_data_size"
940
- << total_data_size << "memory_usage"
941
- << total_memory_usage << "num_range_deletes"
942
- << total_num_range_deletes << "flush_reason"
932
+ << "flush_started" << "num_memtables" << mems_.size()
933
+ << "total_num_input_entries" << total_num_input_entries
934
+ << "num_deletes" << total_num_deletes
935
+ << "total_data_size" << total_data_size
936
+ << "memory_usage" << total_memory_usage
937
+ << "num_range_deletes" << total_num_range_deletes
938
+ << "flush_reason"
943
939
  << GetFlushReasonString(flush_reason_);
944
940
 
945
941
  {
@@ -977,7 +973,6 @@ Status FlushJob::WriteLevel0Table() {
977
973
  meta_.oldest_ancester_time = oldest_ancester_time;
978
974
  meta_.file_creation_time = current_time;
979
975
 
980
- uint64_t num_input_entries = 0;
981
976
  uint64_t memtable_payload_bytes = 0;
982
977
  uint64_t memtable_garbage_bytes = 0;
983
978
  IOStatus io_s;
@@ -988,7 +983,7 @@ Status FlushJob::WriteLevel0Table() {
988
983
  read_options.rate_limiter_priority = io_priority;
989
984
  const WriteOptions write_options(io_priority, Env::IOActivity::kFlush);
990
985
  TableBuilderOptions tboptions(
991
- *cfd_->ioptions(), mutable_cf_options_, read_options, write_options,
986
+ cfd_->ioptions(), mutable_cf_options_, read_options, write_options,
992
987
  cfd_->internal_comparator(), cfd_->internal_tbl_prop_coll_factories(),
993
988
  output_compression_, mutable_cf_options_.compression_opts,
994
989
  cfd_->GetID(), cfd_->GetName(), 0 /* level */,
@@ -999,28 +994,49 @@ Status FlushJob::WriteLevel0Table() {
999
994
  preclude_last_level_min_seqno_ == kMaxSequenceNumber
1000
995
  ? preclude_last_level_min_seqno_
1001
996
  : std::min(earliest_snapshot_, preclude_last_level_min_seqno_));
1002
- const SequenceNumber job_snapshot_seq =
1003
- job_context_->GetJobSnapshotSequence();
1004
-
1005
997
  s = BuildTable(
1006
998
  dbname_, versions_, db_options_, tboptions, file_options_,
1007
999
  cfd_->table_cache(), iter.get(), std::move(range_del_iters), &meta_,
1008
- &blob_file_additions, existing_snapshots_, earliest_snapshot_,
1009
- earliest_write_conflict_snapshot_, job_snapshot_seq,
1010
- snapshot_checker_, mutable_cf_options_.paranoid_file_checks,
1011
- cfd_->internal_stats(), &io_s, io_tracer_,
1012
- BlobFileCreationReason::kFlush, seqno_to_time_mapping_.get(),
1013
- event_logger_, job_context_->job_id, &table_properties_, write_hint,
1014
- full_history_ts_low, blob_callback_, base_, &num_input_entries,
1015
- &memtable_payload_bytes, &memtable_garbage_bytes);
1000
+ &blob_file_additions, job_context_->snapshot_seqs, earliest_snapshot_,
1001
+ job_context_->earliest_write_conflict_snapshot,
1002
+ job_context_->GetJobSnapshotSequence(),
1003
+ job_context_->snapshot_checker,
1004
+ mutable_cf_options_.paranoid_file_checks, cfd_->internal_stats(),
1005
+ &io_s, io_tracer_, BlobFileCreationReason::kFlush,
1006
+ seqno_to_time_mapping_.get(), event_logger_, job_context_->job_id,
1007
+ &table_properties_, write_hint, full_history_ts_low, blob_callback_,
1008
+ base_, &memtable_payload_bytes, &memtable_garbage_bytes,
1009
+ &flush_stats);
1016
1010
  TEST_SYNC_POINT_CALLBACK("FlushJob::WriteLevel0Table:s", &s);
1017
1011
  // TODO: Cleanup io_status in BuildTable and table builders
1018
1012
  assert(!s.ok() || io_s.ok());
1019
1013
  io_s.PermitUncheckedError();
1020
- if (num_input_entries != total_num_entries && s.ok()) {
1021
- std::string msg = "Expected " + std::to_string(total_num_entries) +
1014
+ if (s.ok() && total_num_input_entries != flush_stats.num_input_records) {
1015
+ std::string msg = "Expected " +
1016
+ std::to_string(total_num_input_entries) +
1022
1017
  " entries in memtables, but read " +
1023
- std::to_string(num_input_entries);
1018
+ std::to_string(flush_stats.num_input_records);
1019
+ ROCKS_LOG_WARN(db_options_.info_log, "[%s] [JOB %d] Level-0 flush %s",
1020
+ cfd_->GetName().c_str(), job_context_->job_id,
1021
+ msg.c_str());
1022
+ if (db_options_.flush_verify_memtable_count) {
1023
+ s = Status::Corruption(msg);
1024
+ }
1025
+ }
1026
+
1027
+ // Only verify on table with format collects table properties
1028
+ if (s.ok() &&
1029
+ (mutable_cf_options_.table_factory->IsInstanceOf(
1030
+ TableFactory::kBlockBasedTableName()) ||
1031
+ mutable_cf_options_.table_factory->IsInstanceOf(
1032
+ TableFactory::kPlainTableName())) &&
1033
+ flush_stats.num_output_records != table_properties_.num_entries) {
1034
+ std::string msg =
1035
+ "Number of keys in flush output SST files does not match "
1036
+ "number of keys added to the table. Expected " +
1037
+ std::to_string(flush_stats.num_output_records) + " but there are " +
1038
+ std::to_string(table_properties_.num_entries) +
1039
+ " in output SST files";
1024
1040
  ROCKS_LOG_WARN(db_options_.info_log, "[%s] [JOB %d] Level-0 flush %s",
1025
1041
  cfd_->GetName().c_str(), job_context_->job_id,
1026
1042
  msg.c_str());
@@ -1086,12 +1102,10 @@ Status FlushJob::WriteLevel0Table() {
1086
1102
  // Piggyback FlushJobInfo on the first first flushed memtable.
1087
1103
  mems_[0]->SetFlushJobInfo(GetFlushJobInfo());
1088
1104
 
1089
- // Note that here we treat flush as level 0 compaction in internal stats
1090
- InternalStats::CompactionStats stats(CompactionReason::kFlush, 1);
1091
1105
  const uint64_t micros = clock_->NowMicros() - start_micros;
1092
1106
  const uint64_t cpu_micros = clock_->CPUMicros() - start_cpu_micros;
1093
- stats.micros = micros;
1094
- stats.cpu_micros = cpu_micros;
1107
+ flush_stats.micros = micros;
1108
+ flush_stats.cpu_micros = cpu_micros;
1095
1109
 
1096
1110
  ROCKS_LOG_INFO(db_options_.info_log,
1097
1111
  "[%s] [JOB %d] Flush lasted %" PRIu64
@@ -1100,22 +1114,23 @@ Status FlushJob::WriteLevel0Table() {
1100
1114
  cpu_micros);
1101
1115
 
1102
1116
  if (has_output) {
1103
- stats.bytes_written = meta_.fd.GetFileSize();
1104
- stats.num_output_files = 1;
1117
+ flush_stats.bytes_written = meta_.fd.GetFileSize();
1118
+ flush_stats.num_output_files = 1;
1105
1119
  }
1106
1120
 
1107
1121
  const auto& blobs = edit_->GetBlobFileAdditions();
1108
1122
  for (const auto& blob : blobs) {
1109
- stats.bytes_written_blob += blob.GetTotalBlobBytes();
1123
+ flush_stats.bytes_written_blob += blob.GetTotalBlobBytes();
1110
1124
  }
1111
1125
 
1112
- stats.num_output_files_blob = static_cast<int>(blobs.size());
1126
+ flush_stats.num_output_files_blob = static_cast<int>(blobs.size());
1113
1127
 
1114
- RecordTimeToHistogram(stats_, FLUSH_TIME, stats.micros);
1115
- cfd_->internal_stats()->AddCompactionStats(0 /* level */, thread_pri_, stats);
1128
+ RecordTimeToHistogram(stats_, FLUSH_TIME, flush_stats.micros);
1129
+ cfd_->internal_stats()->AddCompactionStats(0 /* level */, thread_pri_,
1130
+ flush_stats);
1116
1131
  cfd_->internal_stats()->AddCFStats(
1117
1132
  InternalStats::BYTES_FLUSHED,
1118
- stats.bytes_written + stats.bytes_written_blob);
1133
+ flush_stats.bytes_written + flush_stats.bytes_written_blob);
1119
1134
  RecordFlushIOStats();
1120
1135
 
1121
1136
  return s;
@@ -1142,7 +1157,7 @@ std::unique_ptr<FlushJobInfo> FlushJob::GetFlushJobInfo() const {
1142
1157
 
1143
1158
  const uint64_t file_number = meta_.fd.GetNumber();
1144
1159
  info->file_path =
1145
- MakeTableFileName(cfd_->ioptions()->cf_paths[0].path, file_number);
1160
+ MakeTableFileName(cfd_->ioptions().cf_paths[0].path, file_number);
1146
1161
  info->file_number = file_number;
1147
1162
  info->oldest_blob_file_number = meta_.oldest_blob_file_number;
1148
1163
  info->thread_id = db_options_.env->GetThreadID();
@@ -1156,7 +1171,7 @@ std::unique_ptr<FlushJobInfo> FlushJob::GetFlushJobInfo() const {
1156
1171
  // Update BlobFilesInfo.
1157
1172
  for (const auto& blob_file : edit_->GetBlobFileAdditions()) {
1158
1173
  BlobFileAdditionInfo blob_file_addition_info(
1159
- BlobFileName(cfd_->ioptions()->cf_paths.front().path,
1174
+ BlobFileName(cfd_->ioptions().cf_paths.front().path,
1160
1175
  blob_file.GetBlobFileNumber()) /*blob_file_path*/,
1161
1176
  blob_file.GetBlobFileNumber(), blob_file.GetTotalBlobCount(),
1162
1177
  blob_file.GetTotalBlobBytes());
@@ -1173,7 +1188,7 @@ void FlushJob::GetEffectiveCutoffUDTForPickedMemTables() {
1173
1188
  assert(ucmp);
1174
1189
  const size_t ts_sz = ucmp->timestamp_size();
1175
1190
  if (db_options_.atomic_flush || ts_sz == 0 ||
1176
- cfd_->ioptions()->persist_user_defined_timestamps) {
1191
+ cfd_->ioptions().persist_user_defined_timestamps) {
1177
1192
  return;
1178
1193
  }
1179
1194
  // Find the newest user-defined timestamps from all the flushed memtables.
@@ -1198,6 +1213,9 @@ void FlushJob::GetPrecludeLastLevelMinSeqno() {
1198
1213
  if (mutable_cf_options_.preclude_last_level_data_seconds == 0) {
1199
1214
  return;
1200
1215
  }
1216
+ // SuperVersion should guarantee this
1217
+ assert(seqno_to_time_mapping_);
1218
+ assert(!seqno_to_time_mapping_->Empty());
1201
1219
  int64_t current_time = 0;
1202
1220
  Status s = db_options_.clock->GetCurrentTime(&current_time);
1203
1221
  if (!s.ok()) {
@@ -1236,8 +1254,7 @@ Status FlushJob::MaybeIncreaseFullHistoryTsLowToAboveCutoffUDT() {
1236
1254
  VersionEdit edit;
1237
1255
  edit.SetColumnFamily(cfd_->GetID());
1238
1256
  edit.SetFullHistoryTsLow(new_full_history_ts_low);
1239
- return versions_->LogAndApply(cfd_, *cfd_->GetLatestMutableCFOptions(),
1240
- ReadOptions(Env::IOActivity::kFlush),
1257
+ return versions_->LogAndApply(cfd_, ReadOptions(Env::IOActivity::kFlush),
1241
1258
  WriteOptions(Env::IOActivity::kFlush), &edit,
1242
1259
  db_mutex_, output_file_directory_);
1243
1260
  }
@@ -63,11 +63,9 @@ class FlushJob {
63
63
  const MutableCFOptions& mutable_cf_options, uint64_t max_memtable_id,
64
64
  const FileOptions& file_options, VersionSet* versions,
65
65
  InstrumentedMutex* db_mutex, std::atomic<bool>* shutting_down,
66
- std::vector<SequenceNumber> existing_snapshots,
67
- SequenceNumber earliest_write_conflict_snapshot,
68
- SnapshotChecker* snapshot_checker, JobContext* job_context,
69
- FlushReason flush_reason, LogBuffer* log_buffer,
70
- FSDirectory* db_directory, FSDirectory* output_file_directory,
66
+ JobContext* job_context, FlushReason flush_reason,
67
+ LogBuffer* log_buffer, FSDirectory* db_directory,
68
+ FSDirectory* output_file_directory,
71
69
  CompressionType output_compression, Statistics* stats,
72
70
  EventLogger* event_logger, bool measure_io_stats,
73
71
  const bool sync_output_directory, const bool write_manifest,
@@ -167,10 +165,7 @@ class FlushJob {
167
165
  VersionSet* versions_;
168
166
  InstrumentedMutex* db_mutex_;
169
167
  std::atomic<bool>* shutting_down_;
170
- std::vector<SequenceNumber> existing_snapshots_;
171
168
  SequenceNumber earliest_snapshot_;
172
- SequenceNumber earliest_write_conflict_snapshot_;
173
- SnapshotChecker* snapshot_checker_;
174
169
  JobContext* job_context_;
175
170
  FlushReason flush_reason_;
176
171
  LogBuffer* log_buffer_;
@@ -234,7 +229,7 @@ class FlushJob {
234
229
 
235
230
  // The current minimum seqno that compaction jobs will preclude the data from
236
231
  // the last level. Data with seqnos larger than this or larger than
237
- // `earliest_snapshot_` will be output to the penultimate level had it gone
232
+ // `earliest_snapshot_` will be output to the proximal level had it gone
238
233
  // through a compaction to the last level.
239
234
  SequenceNumber preclude_last_level_min_seqno_ = kMaxSequenceNumber;
240
235
  };