rocksdb-native 2.6.2 → 2.6.4

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 (956) hide show
  1. package/CMakeLists.txt +29 -17
  2. package/binding.js +1 -1
  3. package/package.json +7 -4
  4. package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
  5. package/prebuilds/darwin-arm64/rocksdb-native.node +0 -0
  6. package/prebuilds/darwin-x64/rocksdb-native.bare +0 -0
  7. package/prebuilds/darwin-x64/rocksdb-native.node +0 -0
  8. package/prebuilds/ios-arm64/rocksdb-native.bare +0 -0
  9. package/prebuilds/ios-arm64-simulator/rocksdb-native.bare +0 -0
  10. package/prebuilds/ios-x64-simulator/rocksdb-native.bare +0 -0
  11. package/prebuilds/linux-arm64/rocksdb-native.bare +0 -0
  12. package/prebuilds/linux-arm64/rocksdb-native.node +0 -0
  13. package/prebuilds/linux-x64/rocksdb-native.bare +0 -0
  14. package/prebuilds/linux-x64/rocksdb-native.node +0 -0
  15. package/prebuilds/win32-arm64/rocksdb-native.bare +0 -0
  16. package/prebuilds/win32-arm64/rocksdb-native.node +0 -0
  17. package/prebuilds/win32-x64/rocksdb-native.bare +0 -0
  18. package/prebuilds/win32-x64/rocksdb-native.node +0 -0
  19. package/vendor/librocksdb/CMakeLists.txt +0 -94
  20. package/vendor/librocksdb/LICENSE +0 -201
  21. package/vendor/librocksdb/NOTICE +0 -13
  22. package/vendor/librocksdb/README.md +0 -11
  23. package/vendor/librocksdb/include/rocksdb.h +0 -294
  24. package/vendor/librocksdb/src/rocksdb.cc +0 -714
  25. package/vendor/librocksdb/vendor/rocksdb/CMakeLists.txt +0 -1642
  26. package/vendor/librocksdb/vendor/rocksdb/cache/cache.cc +0 -193
  27. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench.cc +0 -20
  28. package/vendor/librocksdb/vendor/rocksdb/cache/cache_bench_tool.cc +0 -1177
  29. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.cc +0 -104
  30. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_roles.h +0 -20
  31. package/vendor/librocksdb/vendor/rocksdb/cache/cache_entry_stats.h +0 -182
  32. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.cc +0 -41
  33. package/vendor/librocksdb/vendor/rocksdb/cache/cache_helpers.h +0 -139
  34. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.cc +0 -364
  35. package/vendor/librocksdb/vendor/rocksdb/cache/cache_key.h +0 -143
  36. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.cc +0 -184
  37. package/vendor/librocksdb/vendor/rocksdb/cache/cache_reservation_manager.h +0 -318
  38. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.cc +0 -111
  39. package/vendor/librocksdb/vendor/rocksdb/cache/charged_cache.h +0 -61
  40. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.cc +0 -3657
  41. package/vendor/librocksdb/vendor/rocksdb/cache/clock_cache.h +0 -1165
  42. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.cc +0 -414
  43. package/vendor/librocksdb/vendor/rocksdb/cache/compressed_secondary_cache.h +0 -151
  44. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.cc +0 -726
  45. package/vendor/librocksdb/vendor/rocksdb/cache/lru_cache.h +0 -467
  46. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache.cc +0 -12
  47. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.cc +0 -743
  48. package/vendor/librocksdb/vendor/rocksdb/cache/secondary_cache_adapter.h +0 -103
  49. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.cc +0 -147
  50. package/vendor/librocksdb/vendor/rocksdb/cache/sharded_cache.h +0 -322
  51. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.cc +0 -125
  52. package/vendor/librocksdb/vendor/rocksdb/cache/tiered_secondary_cache.h +0 -158
  53. package/vendor/librocksdb/vendor/rocksdb/cache/typed_cache.h +0 -380
  54. package/vendor/librocksdb/vendor/rocksdb/cmake/RocksDBConfig.cmake.in +0 -54
  55. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.cc +0 -182
  56. package/vendor/librocksdb/vendor/rocksdb/db/arena_wrapped_db_iter.h +0 -128
  57. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.cc +0 -20
  58. package/vendor/librocksdb/vendor/rocksdb/db/attribute_group_iterator_impl.h +0 -83
  59. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_constants.h +0 -16
  60. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.cc +0 -42
  61. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_contents.h +0 -60
  62. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_counting_iterator.h +0 -150
  63. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.cc +0 -34
  64. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_fetcher.h +0 -37
  65. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.cc +0 -156
  66. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_addition.h +0 -67
  67. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.cc +0 -429
  68. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_builder.h +0 -113
  69. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.cc +0 -101
  70. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_cache.h +0 -56
  71. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_completion_callback.h +0 -84
  72. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.cc +0 -134
  73. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_garbage.h +0 -57
  74. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.cc +0 -62
  75. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_meta.h +0 -170
  76. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.cc +0 -622
  77. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_file_reader.h +0 -111
  78. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.cc +0 -100
  79. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_garbage_meter.h +0 -102
  80. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_index.h +0 -187
  81. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.cc +0 -143
  82. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_format.h +0 -164
  83. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.cc +0 -133
  84. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_sequential_reader.h +0 -83
  85. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.cc +0 -207
  86. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_log_writer.h +0 -87
  87. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_read_request.h +0 -58
  88. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.cc +0 -459
  89. package/vendor/librocksdb/vendor/rocksdb/db/blob/blob_source.h +0 -161
  90. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.cc +0 -23
  91. package/vendor/librocksdb/vendor/rocksdb/db/blob/prefetch_buffer_collection.h +0 -38
  92. package/vendor/librocksdb/vendor/rocksdb/db/builder.cc +0 -517
  93. package/vendor/librocksdb/vendor/rocksdb/db/builder.h +0 -76
  94. package/vendor/librocksdb/vendor/rocksdb/db/c.cc +0 -7133
  95. package/vendor/librocksdb/vendor/rocksdb/db/c_test.c +0 -4052
  96. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.cc +0 -47
  97. package/vendor/librocksdb/vendor/rocksdb/db/coalescing_iterator.h +0 -79
  98. package/vendor/librocksdb/vendor/rocksdb/db/column_family.cc +0 -1859
  99. package/vendor/librocksdb/vendor/rocksdb/db/column_family.h +0 -918
  100. package/vendor/librocksdb/vendor/rocksdb/db/compaction/clipping_iterator.h +0 -281
  101. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.cc +0 -995
  102. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction.h +0 -602
  103. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iteration_stats.h +0 -56
  104. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.cc +0 -1523
  105. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_iterator.h +0 -557
  106. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.cc +0 -2155
  107. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_job.h +0 -520
  108. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.cc +0 -802
  109. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_outputs.h +0 -411
  110. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.cc +0 -1245
  111. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker.h +0 -322
  112. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.cc +0 -478
  113. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_fifo.h +0 -61
  114. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.cc +0 -977
  115. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_level.h +0 -32
  116. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.cc +0 -1578
  117. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_picker_universal.h +0 -29
  118. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_service_job.cc +0 -835
  119. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.cc +0 -46
  120. package/vendor/librocksdb/vendor/rocksdb/db/compaction/compaction_state.h +0 -42
  121. package/vendor/librocksdb/vendor/rocksdb/db/compaction/file_pri.h +0 -94
  122. package/vendor/librocksdb/vendor/rocksdb/db/compaction/sst_partitioner.cc +0 -83
  123. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.cc +0 -106
  124. package/vendor/librocksdb/vendor/rocksdb/db/compaction/subcompaction_state.h +0 -220
  125. package/vendor/librocksdb/vendor/rocksdb/db/convenience.cc +0 -101
  126. package/vendor/librocksdb/vendor/rocksdb/db/convenience_impl.h +0 -15
  127. package/vendor/librocksdb/vendor/rocksdb/db/db_filesnapshot.cc +0 -506
  128. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.cc +0 -275
  129. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/compacted_db_impl.h +0 -147
  130. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.cc +0 -6767
  131. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl.h +0 -3056
  132. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_compaction_flush.cc +0 -4390
  133. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_debug.cc +0 -327
  134. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_experimental.cc +0 -164
  135. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_files.cc +0 -1032
  136. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.cc +0 -348
  137. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_follower.h +0 -54
  138. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_open.cc +0 -2325
  139. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.cc +0 -376
  140. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_readonly.h +0 -179
  141. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.cc +0 -1025
  142. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_secondary.h +0 -322
  143. package/vendor/librocksdb/vendor/rocksdb/db/db_impl/db_impl_write.cc +0 -2624
  144. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.cc +0 -165
  145. package/vendor/librocksdb/vendor/rocksdb/db/db_info_dumper.h +0 -15
  146. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.cc +0 -1774
  147. package/vendor/librocksdb/vendor/rocksdb/db/db_iter.h +0 -444
  148. package/vendor/librocksdb/vendor/rocksdb/db/db_test2.cc +0 -7839
  149. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.cc +0 -1800
  150. package/vendor/librocksdb/vendor/rocksdb/db/db_test_util.h +0 -1427
  151. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.cc +0 -96
  152. package/vendor/librocksdb/vendor/rocksdb/db/db_with_timestamp_test_util.h +0 -126
  153. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.cc +0 -282
  154. package/vendor/librocksdb/vendor/rocksdb/db/dbformat.h +0 -1101
  155. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.cc +0 -806
  156. package/vendor/librocksdb/vendor/rocksdb/db/error_handler.h +0 -149
  157. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.cc +0 -332
  158. package/vendor/librocksdb/vendor/rocksdb/db/event_helpers.h +0 -78
  159. package/vendor/librocksdb/vendor/rocksdb/db/experimental.cc +0 -1212
  160. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.cc +0 -1249
  161. package/vendor/librocksdb/vendor/rocksdb/db/external_sst_file_ingestion_job.h +0 -268
  162. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.cc +0 -216
  163. package/vendor/librocksdb/vendor/rocksdb/db/file_indexer.h +0 -140
  164. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.cc +0 -1217
  165. package/vendor/librocksdb/vendor/rocksdb/db/flush_job.h +0 -240
  166. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.cc +0 -86
  167. package/vendor/librocksdb/vendor/rocksdb/db/flush_scheduler.h +0 -55
  168. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.cc +0 -1082
  169. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator.h +0 -166
  170. package/vendor/librocksdb/vendor/rocksdb/db/forward_iterator_bench.cc +0 -378
  171. package/vendor/librocksdb/vendor/rocksdb/db/history_trimming_iterator.h +0 -95
  172. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.cc +0 -463
  173. package/vendor/librocksdb/vendor/rocksdb/db/import_column_family_job.h +0 -91
  174. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.cc +0 -2198
  175. package/vendor/librocksdb/vendor/rocksdb/db/internal_stats.h +0 -896
  176. package/vendor/librocksdb/vendor/rocksdb/db/job_context.h +0 -254
  177. package/vendor/librocksdb/vendor/rocksdb/db/kv_checksum.h +0 -484
  178. package/vendor/librocksdb/vendor/rocksdb/db/log_format.h +0 -55
  179. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.cc +0 -958
  180. package/vendor/librocksdb/vendor/rocksdb/db/log_reader.h +0 -245
  181. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.cc +0 -355
  182. package/vendor/librocksdb/vendor/rocksdb/db/log_writer.h +0 -151
  183. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.cc +0 -67
  184. package/vendor/librocksdb/vendor/rocksdb/db/logs_with_prep_tracker.h +0 -62
  185. package/vendor/librocksdb/vendor/rocksdb/db/lookup_key.h +0 -68
  186. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.cc +0 -52
  187. package/vendor/librocksdb/vendor/rocksdb/db/malloc_stats.h +0 -22
  188. package/vendor/librocksdb/vendor/rocksdb/db/memtable.cc +0 -1684
  189. package/vendor/librocksdb/vendor/rocksdb/db/memtable.h +0 -712
  190. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.cc +0 -1028
  191. package/vendor/librocksdb/vendor/rocksdb/db/memtable_list.h +0 -514
  192. package/vendor/librocksdb/vendor/rocksdb/db/merge_context.h +0 -150
  193. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.cc +0 -699
  194. package/vendor/librocksdb/vendor/rocksdb/db/merge_helper.h +0 -318
  195. package/vendor/librocksdb/vendor/rocksdb/db/merge_operator.cc +0 -167
  196. package/vendor/librocksdb/vendor/rocksdb/db/multi_cf_iterator_impl.h +0 -296
  197. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.cc +0 -29
  198. package/vendor/librocksdb/vendor/rocksdb/db/output_validator.h +0 -45
  199. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.cc +0 -110
  200. package/vendor/librocksdb/vendor/rocksdb/db/periodic_task_scheduler.h +0 -108
  201. package/vendor/librocksdb/vendor/rocksdb/db/pinned_iterators_manager.h +0 -92
  202. package/vendor/librocksdb/vendor/rocksdb/db/post_memtable_callback.h +0 -25
  203. package/vendor/librocksdb/vendor/rocksdb/db/pre_release_callback.h +0 -37
  204. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.cc +0 -553
  205. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator.h +0 -481
  206. package/vendor/librocksdb/vendor/rocksdb/db/range_del_aggregator_bench.cc +0 -280
  207. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.cc +0 -515
  208. package/vendor/librocksdb/vendor/rocksdb/db/range_tombstone_fragmenter.h +0 -361
  209. package/vendor/librocksdb/vendor/rocksdb/db/read_callback.h +0 -54
  210. package/vendor/librocksdb/vendor/rocksdb/db/repair.cc +0 -864
  211. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.cc +0 -573
  212. package/vendor/librocksdb/vendor/rocksdb/db/seqno_to_time_mapping.h +0 -307
  213. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_checker.h +0 -58
  214. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.cc +0 -25
  215. package/vendor/librocksdb/vendor/rocksdb/db/snapshot_impl.h +0 -239
  216. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.cc +0 -745
  217. package/vendor/librocksdb/vendor/rocksdb/db/table_cache.h +0 -298
  218. package/vendor/librocksdb/vendor/rocksdb/db/table_cache_sync_and_async.h +0 -135
  219. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.cc +0 -74
  220. package/vendor/librocksdb/vendor/rocksdb/db/table_properties_collector.h +0 -185
  221. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.cc +0 -296
  222. package/vendor/librocksdb/vendor/rocksdb/db/transaction_log_impl.h +0 -128
  223. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.cc +0 -54
  224. package/vendor/librocksdb/vendor/rocksdb/db/trim_history_scheduler.h +0 -46
  225. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.cc +0 -1431
  226. package/vendor/librocksdb/vendor/rocksdb/db/version_builder.h +0 -93
  227. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.cc +0 -1119
  228. package/vendor/librocksdb/vendor/rocksdb/db/version_edit.h +0 -769
  229. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.cc +0 -1264
  230. package/vendor/librocksdb/vendor/rocksdb/db/version_edit_handler.h +0 -390
  231. package/vendor/librocksdb/vendor/rocksdb/db/version_set.cc +0 -7562
  232. package/vendor/librocksdb/vendor/rocksdb/db/version_set.h +0 -1799
  233. package/vendor/librocksdb/vendor/rocksdb/db/version_set_sync_and_async.h +0 -169
  234. package/vendor/librocksdb/vendor/rocksdb/db/version_util.h +0 -77
  235. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.cc +0 -211
  236. package/vendor/librocksdb/vendor/rocksdb/db/wal_edit.h +0 -177
  237. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.cc +0 -539
  238. package/vendor/librocksdb/vendor/rocksdb/db/wal_manager.h +0 -138
  239. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.cc +0 -166
  240. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_column_serialization.h +0 -57
  241. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns.cc +0 -22
  242. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.cc +0 -52
  243. package/vendor/librocksdb/vendor/rocksdb/db/wide/wide_columns_helper.h +0 -40
  244. package/vendor/librocksdb/vendor/rocksdb/db/write_batch.cc +0 -3394
  245. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_base.cc +0 -94
  246. package/vendor/librocksdb/vendor/rocksdb/db/write_batch_internal.h +0 -408
  247. package/vendor/librocksdb/vendor/rocksdb/db/write_callback.h +0 -27
  248. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.cc +0 -121
  249. package/vendor/librocksdb/vendor/rocksdb/db/write_controller.h +0 -148
  250. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.cc +0 -179
  251. package/vendor/librocksdb/vendor/rocksdb/db/write_stall_stats.h +0 -47
  252. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.cc +0 -931
  253. package/vendor/librocksdb/vendor/rocksdb/db/write_thread.h +0 -498
  254. package/vendor/librocksdb/vendor/rocksdb/env/composite_env.cc +0 -534
  255. package/vendor/librocksdb/vendor/rocksdb/env/composite_env_wrapper.h +0 -399
  256. package/vendor/librocksdb/vendor/rocksdb/env/emulated_clock.h +0 -114
  257. package/vendor/librocksdb/vendor/rocksdb/env/env.cc +0 -1253
  258. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.cc +0 -149
  259. package/vendor/librocksdb/vendor/rocksdb/env/env_chroot.h +0 -55
  260. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption.cc +0 -1192
  261. package/vendor/librocksdb/vendor/rocksdb/env/env_encryption_ctr.h +0 -97
  262. package/vendor/librocksdb/vendor/rocksdb/env/env_posix.cc +0 -530
  263. package/vendor/librocksdb/vendor/rocksdb/env/file_system.cc +0 -278
  264. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.cc +0 -564
  265. package/vendor/librocksdb/vendor/rocksdb/env/file_system_tracer.h +0 -461
  266. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.cc +0 -331
  267. package/vendor/librocksdb/vendor/rocksdb/env/fs_on_demand.h +0 -139
  268. package/vendor/librocksdb/vendor/rocksdb/env/fs_posix.cc +0 -1285
  269. package/vendor/librocksdb/vendor/rocksdb/env/fs_readonly.h +0 -105
  270. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.cc +0 -341
  271. package/vendor/librocksdb/vendor/rocksdb/env/fs_remap.h +0 -137
  272. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.cc +0 -1738
  273. package/vendor/librocksdb/vendor/rocksdb/env/io_posix.h +0 -517
  274. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.cc +0 -1058
  275. package/vendor/librocksdb/vendor/rocksdb/env/mock_env.h +0 -144
  276. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.cc +0 -243
  277. package/vendor/librocksdb/vendor/rocksdb/env/unique_id_gen.h +0 -119
  278. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.cc +0 -513
  279. package/vendor/librocksdb/vendor/rocksdb/file/delete_scheduler.h +0 -200
  280. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.cc +0 -992
  281. package/vendor/librocksdb/vendor/rocksdb/file/file_prefetch_buffer.h +0 -629
  282. package/vendor/librocksdb/vendor/rocksdb/file/file_util.cc +0 -308
  283. package/vendor/librocksdb/vendor/rocksdb/file/file_util.h +0 -123
  284. package/vendor/librocksdb/vendor/rocksdb/file/filename.cc +0 -538
  285. package/vendor/librocksdb/vendor/rocksdb/file/filename.h +0 -186
  286. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.cc +0 -73
  287. package/vendor/librocksdb/vendor/rocksdb/file/line_file_reader.h +0 -60
  288. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.cc +0 -639
  289. package/vendor/librocksdb/vendor/rocksdb/file/random_access_file_reader.h +0 -197
  290. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.cc +0 -33
  291. package/vendor/librocksdb/vendor/rocksdb/file/read_write_util.h +0 -31
  292. package/vendor/librocksdb/vendor/rocksdb/file/readahead_file_info.h +0 -33
  293. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.cc +0 -169
  294. package/vendor/librocksdb/vendor/rocksdb/file/readahead_raf.h +0 -29
  295. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.cc +0 -324
  296. package/vendor/librocksdb/vendor/rocksdb/file/sequence_file_reader.h +0 -127
  297. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.cc +0 -525
  298. package/vendor/librocksdb/vendor/rocksdb/file/sst_file_manager_impl.h +0 -220
  299. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.cc +0 -1007
  300. package/vendor/librocksdb/vendor/rocksdb/file/writable_file_writer.h +0 -370
  301. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_cache.h +0 -665
  302. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/advanced_options.h +0 -1101
  303. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/attribute_groups.h +0 -114
  304. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/block_cache_trace_writer.h +0 -149
  305. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/c.h +0 -3122
  306. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache.h +0 -579
  307. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cache_bench_tool.h +0 -14
  308. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/cleanable.h +0 -128
  309. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_filter.h +0 -374
  310. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compaction_job_stats.h +0 -112
  311. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/comparator.h +0 -231
  312. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/compression_type.h +0 -186
  313. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/concurrent_task_limiter.h +0 -51
  314. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/configurable.h +0 -390
  315. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/convenience.h +0 -466
  316. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/customizable.h +0 -229
  317. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/data_structure.h +0 -186
  318. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db.h +0 -2174
  319. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_bench_tool.h +0 -11
  320. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_dump_tool.h +0 -43
  321. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/db_stress_tool.h +0 -11
  322. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env.h +0 -1920
  323. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/env_encryption.h +0 -363
  324. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/experimental.h +0 -492
  325. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_checksum.h +0 -146
  326. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/file_system.h +0 -1961
  327. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/filter_policy.h +0 -211
  328. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/flush_block_policy.h +0 -75
  329. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/functor_wrapper.h +0 -56
  330. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/io_status.h +0 -244
  331. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iostats_context.h +0 -98
  332. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator.h +0 -104
  333. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/iterator_base.h +0 -90
  334. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/ldb_tool.h +0 -42
  335. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/listener.h +0 -869
  336. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memory_allocator.h +0 -87
  337. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/memtablerep.h +0 -421
  338. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/merge_operator.h +0 -337
  339. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/metadata.h +0 -258
  340. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/options.h +0 -2339
  341. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_context.h +0 -319
  342. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/perf_level.h +0 -39
  343. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/persistent_cache.h +0 -74
  344. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/port_defs.h +0 -26
  345. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rate_limiter.h +0 -172
  346. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/rocksdb_namespace.h +0 -16
  347. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/secondary_cache.h +0 -220
  348. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice.h +0 -264
  349. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/slice_transform.h +0 -135
  350. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/snapshot.h +0 -53
  351. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_dump_tool.h +0 -17
  352. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_manager.h +0 -139
  353. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_reader.h +0 -61
  354. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_file_writer.h +0 -203
  355. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/sst_partitioner.h +0 -142
  356. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/statistics.h +0 -794
  357. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/stats_history.h +0 -70
  358. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/status.h +0 -609
  359. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/system_clock.h +0 -129
  360. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table.h +0 -938
  361. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_properties.h +0 -380
  362. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/table_reader_caller.h +0 -41
  363. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/thread_status.h +0 -197
  364. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/threadpool.h +0 -67
  365. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_reader_writer.h +0 -52
  366. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record.h +0 -248
  367. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/trace_record_result.h +0 -187
  368. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/transaction_log.h +0 -128
  369. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/types.h +0 -113
  370. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/unique_id.h +0 -55
  371. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/universal_compaction.h +0 -127
  372. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/user_write_callback.h +0 -29
  373. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/agg_merge.h +0 -138
  374. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/backup_engine.h +0 -689
  375. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/cache_dump_load.h +0 -144
  376. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/checkpoint.h +0 -65
  377. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/convenience.h +0 -10
  378. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/customizable_util.h +0 -321
  379. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/db_ttl.h +0 -70
  380. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/debug.h +0 -46
  381. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/env_mirror.h +0 -179
  382. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/info_log_finder.h +0 -19
  383. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd.h +0 -338
  384. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/ldb_cmd_execute_result.h +0 -75
  385. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/leveldb_options.h +0 -145
  386. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_custom_library.h +0 -43
  387. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/lua/rocks_lua_util.h +0 -55
  388. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/memory_util.h +0 -48
  389. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/object_registry.h +0 -583
  390. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h +0 -129
  391. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/option_change_migration.h +0 -24
  392. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_type.h +0 -1222
  393. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/options_util.h +0 -105
  394. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/replayer.h +0 -85
  395. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/sim_cache.h +0 -92
  396. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/stackable_db.h +0 -593
  397. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/table_properties_collectors.h +0 -133
  398. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction.h +0 -765
  399. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db.h +0 -510
  400. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/transaction_db_mutex.h +0 -89
  401. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/types_util.h +0 -36
  402. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/utilities/write_batch_with_index.h +0 -402
  403. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/version.h +0 -43
  404. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wal_filter.h +0 -111
  405. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/wide_columns.h +0 -303
  406. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch.h +0 -518
  407. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_batch_base.h +0 -165
  408. package/vendor/librocksdb/vendor/rocksdb/include/rocksdb/write_buffer_manager.h +0 -183
  409. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.cc +0 -366
  410. package/vendor/librocksdb/vendor/rocksdb/logging/auto_roll_logger.h +0 -165
  411. package/vendor/librocksdb/vendor/rocksdb/logging/env_logger.h +0 -195
  412. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.cc +0 -68
  413. package/vendor/librocksdb/vendor/rocksdb/logging/event_logger.h +0 -202
  414. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.cc +0 -91
  415. package/vendor/librocksdb/vendor/rocksdb/logging/log_buffer.h +0 -57
  416. package/vendor/librocksdb/vendor/rocksdb/logging/logging.h +0 -62
  417. package/vendor/librocksdb/vendor/rocksdb/memory/allocator.h +0 -58
  418. package/vendor/librocksdb/vendor/rocksdb/memory/arena.cc +0 -170
  419. package/vendor/librocksdb/vendor/rocksdb/memory/arena.h +0 -146
  420. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.cc +0 -45
  421. package/vendor/librocksdb/vendor/rocksdb/memory/concurrent_arena.h +0 -215
  422. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.cc +0 -304
  423. package/vendor/librocksdb/vendor/rocksdb/memory/jemalloc_nodump_allocator.h +0 -99
  424. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.cc +0 -44
  425. package/vendor/librocksdb/vendor/rocksdb/memory/memkind_kmem_allocator.h +0 -43
  426. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator.cc +0 -81
  427. package/vendor/librocksdb/vendor/rocksdb/memory/memory_allocator_impl.h +0 -47
  428. package/vendor/librocksdb/vendor/rocksdb/memory/memory_usage.h +0 -38
  429. package/vendor/librocksdb/vendor/rocksdb/memtable/alloc_tracker.cc +0 -63
  430. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_linklist_rep.cc +0 -925
  431. package/vendor/librocksdb/vendor/rocksdb/memtable/hash_skiplist_rep.cc +0 -392
  432. package/vendor/librocksdb/vendor/rocksdb/memtable/inlineskiplist.h +0 -1051
  433. package/vendor/librocksdb/vendor/rocksdb/memtable/memtablerep_bench.cc +0 -687
  434. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplist.h +0 -498
  435. package/vendor/librocksdb/vendor/rocksdb/memtable/skiplistrep.cc +0 -368
  436. package/vendor/librocksdb/vendor/rocksdb/memtable/stl_wrappers.h +0 -33
  437. package/vendor/librocksdb/vendor/rocksdb/memtable/vectorrep.cc +0 -307
  438. package/vendor/librocksdb/vendor/rocksdb/memtable/write_buffer_manager.cc +0 -185
  439. package/vendor/librocksdb/vendor/rocksdb/monitoring/file_read_sample.h +0 -23
  440. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.cc +0 -280
  441. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram.h +0 -143
  442. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.cc +0 -198
  443. package/vendor/librocksdb/vendor/rocksdb/monitoring/histogram_windowing.h +0 -84
  444. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.cc +0 -50
  445. package/vendor/librocksdb/vendor/rocksdb/monitoring/in_memory_stats_history.h +0 -74
  446. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.cc +0 -90
  447. package/vendor/librocksdb/vendor/rocksdb/monitoring/instrumented_mutex.h +0 -126
  448. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context.cc +0 -78
  449. package/vendor/librocksdb/vendor/rocksdb/monitoring/iostats_context_imp.h +0 -62
  450. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context.cc +0 -317
  451. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_context_imp.h +0 -103
  452. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level.cc +0 -23
  453. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_level_imp.h +0 -14
  454. package/vendor/librocksdb/vendor/rocksdb/monitoring/perf_step_timer.h +0 -77
  455. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.cc +0 -173
  456. package/vendor/librocksdb/vendor/rocksdb/monitoring/persistent_stats_history.h +0 -83
  457. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics.cc +0 -561
  458. package/vendor/librocksdb/vendor/rocksdb/monitoring/statistics_impl.h +0 -143
  459. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_impl.cc +0 -163
  460. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.cc +0 -328
  461. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater.h +0 -226
  462. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_updater_debug.cc +0 -43
  463. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.cc +0 -214
  464. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util.h +0 -139
  465. package/vendor/librocksdb/vendor/rocksdb/monitoring/thread_status_util_debug.cc +0 -60
  466. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.cc +0 -1218
  467. package/vendor/librocksdb/vendor/rocksdb/options/cf_options.h +0 -352
  468. package/vendor/librocksdb/vendor/rocksdb/options/configurable.cc +0 -720
  469. package/vendor/librocksdb/vendor/rocksdb/options/configurable_helper.h +0 -185
  470. package/vendor/librocksdb/vendor/rocksdb/options/configurable_test.h +0 -116
  471. package/vendor/librocksdb/vendor/rocksdb/options/customizable.cc +0 -133
  472. package/vendor/librocksdb/vendor/rocksdb/options/db_options.cc +0 -1113
  473. package/vendor/librocksdb/vendor/rocksdb/options/db_options.h +0 -160
  474. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.cc +0 -59
  475. package/vendor/librocksdb/vendor/rocksdb/options/offpeak_time_info.h +0 -37
  476. package/vendor/librocksdb/vendor/rocksdb/options/options.cc +0 -717
  477. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.cc +0 -1438
  478. package/vendor/librocksdb/vendor/rocksdb/options/options_helper.h +0 -115
  479. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.cc +0 -745
  480. package/vendor/librocksdb/vendor/rocksdb/options/options_parser.h +0 -151
  481. package/vendor/librocksdb/vendor/rocksdb/port/jemalloc_helper.h +0 -107
  482. package/vendor/librocksdb/vendor/rocksdb/port/lang.h +0 -97
  483. package/vendor/librocksdb/vendor/rocksdb/port/likely.h +0 -18
  484. package/vendor/librocksdb/vendor/rocksdb/port/malloc.h +0 -17
  485. package/vendor/librocksdb/vendor/rocksdb/port/mmap.cc +0 -98
  486. package/vendor/librocksdb/vendor/rocksdb/port/mmap.h +0 -90
  487. package/vendor/librocksdb/vendor/rocksdb/port/port.h +0 -21
  488. package/vendor/librocksdb/vendor/rocksdb/port/port_dirent.h +0 -44
  489. package/vendor/librocksdb/vendor/rocksdb/port/port_example.h +0 -101
  490. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.cc +0 -300
  491. package/vendor/librocksdb/vendor/rocksdb/port/port_posix.h +0 -246
  492. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.cc +0 -418
  493. package/vendor/librocksdb/vendor/rocksdb/port/stack_trace.h +0 -31
  494. package/vendor/librocksdb/vendor/rocksdb/port/sys_time.h +0 -63
  495. package/vendor/librocksdb/vendor/rocksdb/port/util_logger.h +0 -18
  496. package/vendor/librocksdb/vendor/rocksdb/port/win/env_default.cc +0 -45
  497. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.cc +0 -1436
  498. package/vendor/librocksdb/vendor/rocksdb/port/win/env_win.h +0 -305
  499. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.cc +0 -1101
  500. package/vendor/librocksdb/vendor/rocksdb/port/win/io_win.h +0 -504
  501. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.cc +0 -305
  502. package/vendor/librocksdb/vendor/rocksdb/port/win/port_win.h +0 -382
  503. package/vendor/librocksdb/vendor/rocksdb/port/win/win_jemalloc.cc +0 -80
  504. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.cc +0 -192
  505. package/vendor/librocksdb/vendor/rocksdb/port/win/win_logger.h +0 -64
  506. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.cc +0 -170
  507. package/vendor/librocksdb/vendor/rocksdb/port/win/win_thread.h +0 -117
  508. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.cc +0 -210
  509. package/vendor/librocksdb/vendor/rocksdb/port/win/xpress_win.h +0 -26
  510. package/vendor/librocksdb/vendor/rocksdb/port/xpress.h +0 -17
  511. package/vendor/librocksdb/vendor/rocksdb/rocksdb.pc.in +0 -10
  512. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.cc +0 -119
  513. package/vendor/librocksdb/vendor/rocksdb/table/adaptive/adaptive_table_factory.h +0 -56
  514. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.cc +0 -73
  515. package/vendor/librocksdb/vendor/rocksdb/table/block_based/binary_search_index_reader.h +0 -48
  516. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.cc +0 -1341
  517. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block.h +0 -969
  518. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.cc +0 -2148
  519. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_builder.h +0 -208
  520. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.cc +0 -980
  521. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_factory.h +0 -102
  522. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.cc +0 -893
  523. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_iterator.h +0 -445
  524. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.cc +0 -3296
  525. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader.h +0 -785
  526. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_impl.h +0 -205
  527. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_based_table_reader_sync_and_async.h +0 -819
  528. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.cc +0 -266
  529. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_builder.h +0 -128
  530. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.cc +0 -108
  531. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_cache.h +0 -190
  532. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.cc +0 -158
  533. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefetcher.h +0 -74
  534. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.cc +0 -226
  535. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_prefix_index.h +0 -70
  536. package/vendor/librocksdb/vendor/rocksdb/table/block_based/block_type.h +0 -34
  537. package/vendor/librocksdb/vendor/rocksdb/table/block_based/cachable_entry.h +0 -249
  538. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.cc +0 -59
  539. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_footer.h +0 -25
  540. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.cc +0 -94
  541. package/vendor/librocksdb/vendor/rocksdb/table/block_based/data_block_hash_index.h +0 -137
  542. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block.h +0 -189
  543. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.cc +0 -169
  544. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_block_reader_common.h +0 -79
  545. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy.cc +0 -1989
  546. package/vendor/librocksdb/vendor/rocksdb/table/block_based/filter_policy_internal.h +0 -341
  547. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy.cc +0 -132
  548. package/vendor/librocksdb/vendor/rocksdb/table/block_based/flush_block_policy_impl.h +0 -40
  549. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.cc +0 -297
  550. package/vendor/librocksdb/vendor/rocksdb/table/block_based/full_filter_block.h +0 -142
  551. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.cc +0 -146
  552. package/vendor/librocksdb/vendor/rocksdb/table/block_based/hash_index_reader.h +0 -49
  553. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.cc +0 -305
  554. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_builder.h +0 -534
  555. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.cc +0 -62
  556. package/vendor/librocksdb/vendor/rocksdb/table/block_based/index_reader_common.h +0 -94
  557. package/vendor/librocksdb/vendor/rocksdb/table/block_based/mock_block_based_table.h +0 -62
  558. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.cc +0 -23
  559. package/vendor/librocksdb/vendor/rocksdb/table/block_based/parsed_full_filter_block.h +0 -47
  560. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.cc +0 -610
  561. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_filter_block.h +0 -188
  562. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.cc +0 -164
  563. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_iterator.h +0 -160
  564. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.cc +0 -264
  565. package/vendor/librocksdb/vendor/rocksdb/table/block_based/partitioned_index_reader.h +0 -58
  566. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.cc +0 -64
  567. package/vendor/librocksdb/vendor/rocksdb/table/block_based/reader_common.h +0 -36
  568. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.cc +0 -118
  569. package/vendor/librocksdb/vendor/rocksdb/table/block_based/uncompression_dict_reader.h +0 -60
  570. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.cc +0 -458
  571. package/vendor/librocksdb/vendor/rocksdb/table/block_fetcher.h +0 -168
  572. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.cc +0 -370
  573. package/vendor/librocksdb/vendor/rocksdb/table/compaction_merging_iterator.h +0 -45
  574. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.cc +0 -555
  575. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_builder.h +0 -136
  576. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.cc +0 -100
  577. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_factory.h +0 -80
  578. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.cc +0 -416
  579. package/vendor/librocksdb/vendor/rocksdb/table/cuckoo/cuckoo_table_reader.h +0 -100
  580. package/vendor/librocksdb/vendor/rocksdb/table/format.cc +0 -708
  581. package/vendor/librocksdb/vendor/rocksdb/table/format.h +0 -439
  582. package/vendor/librocksdb/vendor/rocksdb/table/get_context.cc +0 -622
  583. package/vendor/librocksdb/vendor/rocksdb/table/get_context.h +0 -259
  584. package/vendor/librocksdb/vendor/rocksdb/table/internal_iterator.h +0 -242
  585. package/vendor/librocksdb/vendor/rocksdb/table/iter_heap.h +0 -44
  586. package/vendor/librocksdb/vendor/rocksdb/table/iterator.cc +0 -134
  587. package/vendor/librocksdb/vendor/rocksdb/table/iterator_wrapper.h +0 -225
  588. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.cc +0 -1755
  589. package/vendor/librocksdb/vendor/rocksdb/table/merging_iterator.h +0 -100
  590. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.cc +0 -590
  591. package/vendor/librocksdb/vendor/rocksdb/table/meta_blocks.h +0 -181
  592. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.cc +0 -355
  593. package/vendor/librocksdb/vendor/rocksdb/table/mock_table.h +0 -92
  594. package/vendor/librocksdb/vendor/rocksdb/table/multiget_context.h +0 -405
  595. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.cc +0 -110
  596. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_helper.h +0 -46
  597. package/vendor/librocksdb/vendor/rocksdb/table/persistent_cache_options.h +0 -34
  598. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.cc +0 -78
  599. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_bloom.h +0 -132
  600. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.cc +0 -348
  601. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_builder.h +0 -151
  602. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.cc +0 -295
  603. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_factory.h +0 -180
  604. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.cc +0 -211
  605. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_index.h +0 -246
  606. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.cc +0 -508
  607. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_key_coding.h +0 -199
  608. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.cc +0 -778
  609. package/vendor/librocksdb/vendor/rocksdb/table/plain/plain_table_reader.h +0 -243
  610. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.cc +0 -601
  611. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_dumper.h +0 -104
  612. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_reader.cc +0 -166
  613. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer.cc +0 -536
  614. package/vendor/librocksdb/vendor/rocksdb/table/sst_file_writer_collectors.h +0 -97
  615. package/vendor/librocksdb/vendor/rocksdb/table/table_builder.h +0 -239
  616. package/vendor/librocksdb/vendor/rocksdb/table/table_factory.cc +0 -52
  617. package/vendor/librocksdb/vendor/rocksdb/table/table_iterator.h +0 -69
  618. package/vendor/librocksdb/vendor/rocksdb/table/table_properties.cc +0 -357
  619. package/vendor/librocksdb/vendor/rocksdb/table/table_properties_internal.h +0 -14
  620. package/vendor/librocksdb/vendor/rocksdb/table/table_reader.h +0 -202
  621. package/vendor/librocksdb/vendor/rocksdb/table/table_reader_bench.cc +0 -341
  622. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.cc +0 -222
  623. package/vendor/librocksdb/vendor/rocksdb/table/two_level_iterator.h +0 -43
  624. package/vendor/librocksdb/vendor/rocksdb/table/unique_id.cc +0 -223
  625. package/vendor/librocksdb/vendor/rocksdb/table/unique_id_impl.h +0 -93
  626. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.cc +0 -38
  627. package/vendor/librocksdb/vendor/rocksdb/test_util/mock_time_env.h +0 -109
  628. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.cc +0 -93
  629. package/vendor/librocksdb/vendor/rocksdb/test_util/secondary_cache_test_util.h +0 -131
  630. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.cc +0 -82
  631. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point.h +0 -182
  632. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.cc +0 -152
  633. package/vendor/librocksdb/vendor/rocksdb/test_util/sync_point_impl.h +0 -96
  634. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.cc +0 -105
  635. package/vendor/librocksdb/vendor/rocksdb/test_util/testharness.h +0 -124
  636. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.cc +0 -776
  637. package/vendor/librocksdb/vendor/rocksdb/test_util/testutil.h +0 -908
  638. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.cc +0 -400
  639. package/vendor/librocksdb/vendor/rocksdb/test_util/transaction_test_util.h +0 -147
  640. package/vendor/librocksdb/vendor/rocksdb/tools/CMakeLists.txt +0 -30
  641. package/vendor/librocksdb/vendor/rocksdb/tools/blob_dump.cc +0 -103
  642. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +0 -2331
  643. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.h +0 -398
  644. package/vendor/librocksdb/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_tool.cc +0 -17
  645. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench.cc +0 -21
  646. package/vendor/librocksdb/vendor/rocksdb/tools/db_bench_tool.cc +0 -8743
  647. package/vendor/librocksdb/vendor/rocksdb/tools/db_repl_stress.cc +0 -132
  648. package/vendor/librocksdb/vendor/rocksdb/tools/dump/db_dump_tool.cc +0 -264
  649. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_dump.cc +0 -60
  650. package/vendor/librocksdb/vendor/rocksdb/tools/dump/rocksdb_undump.cc +0 -59
  651. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser.cc +0 -17
  652. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.cc +0 -142
  653. package/vendor/librocksdb/vendor/rocksdb/tools/io_tracer_parser_tool.h +0 -38
  654. package/vendor/librocksdb/vendor/rocksdb/tools/ldb.cc +0 -13
  655. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd.cc +0 -5044
  656. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_cmd_impl.h +0 -814
  657. package/vendor/librocksdb/vendor/rocksdb/tools/ldb_tool.cc +0 -192
  658. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.cc +0 -244
  659. package/vendor/librocksdb/vendor/rocksdb/tools/simulated_hybrid_file_system.h +0 -124
  660. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump.cc +0 -12
  661. package/vendor/librocksdb/vendor/rocksdb/tools/sst_dump_tool.cc +0 -588
  662. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer.cc +0 -17
  663. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.cc +0 -1935
  664. package/vendor/librocksdb/vendor/rocksdb/tools/trace_analyzer_tool.h +0 -329
  665. package/vendor/librocksdb/vendor/rocksdb/tools/write_stress.cc +0 -305
  666. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.cc +0 -509
  667. package/vendor/librocksdb/vendor/rocksdb/trace_replay/block_cache_tracer.h +0 -239
  668. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.cc +0 -303
  669. package/vendor/librocksdb/vendor/rocksdb/trace_replay/io_tracer.h +0 -185
  670. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record.cc +0 -206
  671. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.cc +0 -190
  672. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_handler.h +0 -46
  673. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_record_result.cc +0 -146
  674. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.cc +0 -632
  675. package/vendor/librocksdb/vendor/rocksdb/trace_replay/trace_replay.h +0 -184
  676. package/vendor/librocksdb/vendor/rocksdb/util/aligned_buffer.h +0 -235
  677. package/vendor/librocksdb/vendor/rocksdb/util/aligned_storage.h +0 -24
  678. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.cc +0 -84
  679. package/vendor/librocksdb/vendor/rocksdb/util/async_file_reader.h +0 -144
  680. package/vendor/librocksdb/vendor/rocksdb/util/atomic.h +0 -111
  681. package/vendor/librocksdb/vendor/rocksdb/util/autovector.h +0 -397
  682. package/vendor/librocksdb/vendor/rocksdb/util/bloom_impl.h +0 -489
  683. package/vendor/librocksdb/vendor/rocksdb/util/build_version.cc.in +0 -79
  684. package/vendor/librocksdb/vendor/rocksdb/util/cast_util.h +0 -88
  685. package/vendor/librocksdb/vendor/rocksdb/util/channel.h +0 -69
  686. package/vendor/librocksdb/vendor/rocksdb/util/cleanable.cc +0 -181
  687. package/vendor/librocksdb/vendor/rocksdb/util/coding.cc +0 -90
  688. package/vendor/librocksdb/vendor/rocksdb/util/coding.h +0 -385
  689. package/vendor/librocksdb/vendor/rocksdb/util/coding_lean.h +0 -101
  690. package/vendor/librocksdb/vendor/rocksdb/util/compaction_job_stats_impl.cc +0 -94
  691. package/vendor/librocksdb/vendor/rocksdb/util/comparator.cc +0 -443
  692. package/vendor/librocksdb/vendor/rocksdb/util/compression.cc +0 -122
  693. package/vendor/librocksdb/vendor/rocksdb/util/compression.h +0 -1879
  694. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.cc +0 -106
  695. package/vendor/librocksdb/vendor/rocksdb/util/compression_context_cache.h +0 -47
  696. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.cc +0 -64
  697. package/vendor/librocksdb/vendor/rocksdb/util/concurrent_task_limiter_impl.h +0 -67
  698. package/vendor/librocksdb/vendor/rocksdb/util/core_local.h +0 -85
  699. package/vendor/librocksdb/vendor/rocksdb/util/coro_utils.h +0 -112
  700. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.cc +0 -1295
  701. package/vendor/librocksdb/vendor/rocksdb/util/crc32c.h +0 -56
  702. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.cc +0 -213
  703. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_arm64.h +0 -51
  704. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.c +0 -94
  705. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc.h +0 -21
  706. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
  707. package/vendor/librocksdb/vendor/rocksdb/util/crc32c_ppc_constants.h +0 -900
  708. package/vendor/librocksdb/vendor/rocksdb/util/data_structure.cc +0 -16
  709. package/vendor/librocksdb/vendor/rocksdb/util/defer.h +0 -82
  710. package/vendor/librocksdb/vendor/rocksdb/util/distributed_mutex.h +0 -50
  711. package/vendor/librocksdb/vendor/rocksdb/util/duplicate_detector.h +0 -69
  712. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.cc +0 -70
  713. package/vendor/librocksdb/vendor/rocksdb/util/dynamic_bloom.h +0 -214
  714. package/vendor/librocksdb/vendor/rocksdb/util/fastrange.h +0 -114
  715. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.cc +0 -170
  716. package/vendor/librocksdb/vendor/rocksdb/util/file_checksum_helper.h +0 -101
  717. package/vendor/librocksdb/vendor/rocksdb/util/filter_bench.cc +0 -840
  718. package/vendor/librocksdb/vendor/rocksdb/util/gflags_compat.h +0 -29
  719. package/vendor/librocksdb/vendor/rocksdb/util/hash.cc +0 -201
  720. package/vendor/librocksdb/vendor/rocksdb/util/hash.h +0 -141
  721. package/vendor/librocksdb/vendor/rocksdb/util/hash128.h +0 -26
  722. package/vendor/librocksdb/vendor/rocksdb/util/hash_containers.h +0 -51
  723. package/vendor/librocksdb/vendor/rocksdb/util/hash_map.h +0 -67
  724. package/vendor/librocksdb/vendor/rocksdb/util/heap.h +0 -174
  725. package/vendor/librocksdb/vendor/rocksdb/util/kv_map.h +0 -33
  726. package/vendor/librocksdb/vendor/rocksdb/util/log_write_bench.cc +0 -88
  727. package/vendor/librocksdb/vendor/rocksdb/util/math.h +0 -351
  728. package/vendor/librocksdb/vendor/rocksdb/util/math128.h +0 -338
  729. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.cc +0 -196
  730. package/vendor/librocksdb/vendor/rocksdb/util/murmurhash.h +0 -43
  731. package/vendor/librocksdb/vendor/rocksdb/util/mutexlock.h +0 -189
  732. package/vendor/librocksdb/vendor/rocksdb/util/overload.h +0 -23
  733. package/vendor/librocksdb/vendor/rocksdb/util/ppc-opcode.h +0 -27
  734. package/vendor/librocksdb/vendor/rocksdb/util/random.cc +0 -63
  735. package/vendor/librocksdb/vendor/rocksdb/util/random.h +0 -190
  736. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter.cc +0 -391
  737. package/vendor/librocksdb/vendor/rocksdb/util/rate_limiter_impl.h +0 -156
  738. package/vendor/librocksdb/vendor/rocksdb/util/repeatable_thread.h +0 -149
  739. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_alg.h +0 -1225
  740. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.cc +0 -498
  741. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_config.h +0 -182
  742. package/vendor/librocksdb/vendor/rocksdb/util/ribbon_impl.h +0 -1137
  743. package/vendor/librocksdb/vendor/rocksdb/util/set_comparator.h +0 -24
  744. package/vendor/librocksdb/vendor/rocksdb/util/single_thread_executor.h +0 -57
  745. package/vendor/librocksdb/vendor/rocksdb/util/slice.cc +0 -366
  746. package/vendor/librocksdb/vendor/rocksdb/util/status.cc +0 -163
  747. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.cc +0 -62
  748. package/vendor/librocksdb/vendor/rocksdb/util/stderr_logger.h +0 -41
  749. package/vendor/librocksdb/vendor/rocksdb/util/stop_watch.h +0 -136
  750. package/vendor/librocksdb/vendor/rocksdb/util/string_util.cc +0 -554
  751. package/vendor/librocksdb/vendor/rocksdb/util/string_util.h +0 -185
  752. package/vendor/librocksdb/vendor/rocksdb/util/thread_guard.h +0 -41
  753. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.cc +0 -521
  754. package/vendor/librocksdb/vendor/rocksdb/util/thread_local.h +0 -100
  755. package/vendor/librocksdb/vendor/rocksdb/util/thread_operation.h +0 -122
  756. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.cc +0 -550
  757. package/vendor/librocksdb/vendor/rocksdb/util/threadpool_imp.h +0 -120
  758. package/vendor/librocksdb/vendor/rocksdb/util/timer.h +0 -340
  759. package/vendor/librocksdb/vendor/rocksdb/util/timer_queue.h +0 -231
  760. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.cc +0 -418
  761. package/vendor/librocksdb/vendor/rocksdb/util/udt_util.h +0 -275
  762. package/vendor/librocksdb/vendor/rocksdb/util/user_comparator_wrapper.h +0 -64
  763. package/vendor/librocksdb/vendor/rocksdb/util/vector_iterator.h +0 -114
  764. package/vendor/librocksdb/vendor/rocksdb/util/work_queue.h +0 -150
  765. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.cc +0 -25
  766. package/vendor/librocksdb/vendor/rocksdb/util/write_batch_util.h +0 -90
  767. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.cc +0 -48
  768. package/vendor/librocksdb/vendor/rocksdb/util/xxhash.h +0 -6364
  769. package/vendor/librocksdb/vendor/rocksdb/util/xxph3.h +0 -1760
  770. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge.cc +0 -237
  771. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/agg_merge_impl.h +0 -49
  772. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.cc +0 -103
  773. package/vendor/librocksdb/vendor/rocksdb/utilities/agg_merge/test_agg_merge.h +0 -47
  774. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine.cc +0 -3357
  775. package/vendor/librocksdb/vendor/rocksdb/utilities/backup/backup_engine_impl.h +0 -34
  776. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.cc +0 -490
  777. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_compaction_filter.h +0 -202
  778. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.cc +0 -109
  779. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db.h +0 -231
  780. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_gc_stats.h +0 -54
  781. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.cc +0 -2269
  782. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl.h +0 -514
  783. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_impl_filesnapshot.cc +0 -127
  784. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_iterator.h +0 -148
  785. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_db_listener.h +0 -71
  786. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.cc +0 -276
  787. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_dump_tool.h +0 -56
  788. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.cc +0 -311
  789. package/vendor/librocksdb/vendor/rocksdb/utilities/blob_db/blob_file.h +0 -245
  790. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load.cc +0 -67
  791. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.cc +0 -389
  792. package/vendor/librocksdb/vendor/rocksdb/utilities/cache_dump_load_impl.h +0 -368
  793. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.cc +0 -104
  794. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_compaction_filter.h +0 -57
  795. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/cassandra_options.h +0 -41
  796. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.cc +0 -365
  797. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/format.h +0 -183
  798. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.cc +0 -76
  799. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/merge_operator.h +0 -43
  800. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/serialize.h +0 -81
  801. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.cc +0 -67
  802. package/vendor/librocksdb/vendor/rocksdb/utilities/cassandra/test_utils.h +0 -42
  803. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -472
  804. package/vendor/librocksdb/vendor/rocksdb/utilities/checkpoint/checkpoint_impl.h +0 -64
  805. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/layered_compaction_filter_base.h +0 -41
  806. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc +0 -24
  807. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.h +0 -26
  808. package/vendor/librocksdb/vendor/rocksdb/utilities/compaction_filters.cc +0 -52
  809. package/vendor/librocksdb/vendor/rocksdb/utilities/convenience/info_log_finder.cc +0 -26
  810. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.cc +0 -379
  811. package/vendor/librocksdb/vendor/rocksdb/utilities/counted_fs.h +0 -158
  812. package/vendor/librocksdb/vendor/rocksdb/utilities/debug.cc +0 -134
  813. package/vendor/librocksdb/vendor/rocksdb/utilities/env_mirror.cc +0 -280
  814. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.cc +0 -181
  815. package/vendor/librocksdb/vendor/rocksdb/utilities/env_timed.h +0 -95
  816. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.cc +0 -555
  817. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_env.h +0 -252
  818. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.cc +0 -1507
  819. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_fs.h +0 -760
  820. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.cc +0 -138
  821. package/vendor/librocksdb/vendor/rocksdb/utilities/fault_injection_secondary_cache.h +0 -115
  822. package/vendor/librocksdb/vendor/rocksdb/utilities/leveldb_options/leveldb_options.cc +0 -57
  823. package/vendor/librocksdb/vendor/rocksdb/utilities/memory/memory_util.cc +0 -50
  824. package/vendor/librocksdb/vendor/rocksdb/utilities/memory_allocators.h +0 -103
  825. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.cc +0 -57
  826. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/bytesxor.h +0 -39
  827. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max.cc +0 -64
  828. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/max_operator.h +0 -35
  829. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put.cc +0 -74
  830. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/put_operator.h +0 -56
  831. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.cc +0 -97
  832. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/sortlist.h +0 -42
  833. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.cc +0 -76
  834. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend.h +0 -32
  835. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.cc +0 -129
  836. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/string_append/stringappend2.h +0 -51
  837. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.cc +0 -56
  838. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators/uint64add.h +0 -35
  839. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.cc +0 -115
  840. package/vendor/librocksdb/vendor/rocksdb/utilities/merge_operators.h +0 -36
  841. package/vendor/librocksdb/vendor/rocksdb/utilities/object_registry.cc +0 -381
  842. package/vendor/librocksdb/vendor/rocksdb/utilities/option_change_migration/option_change_migration.cc +0 -169
  843. package/vendor/librocksdb/vendor/rocksdb/utilities/options/options_util.cc +0 -117
  844. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.cc +0 -420
  845. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier.h +0 -154
  846. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc +0 -607
  847. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file.h +0 -291
  848. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_file_buffer.h +0 -127
  849. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc +0 -84
  850. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.h +0 -122
  851. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table.h +0 -237
  852. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_bench.cc +0 -310
  853. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/hash_table_evictable.h +0 -166
  854. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/lrulist.h +0 -172
  855. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_bench.cc +0 -355
  856. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_test.h +0 -284
  857. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc +0 -165
  858. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_tier.h +0 -340
  859. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/persistent_cache_util.h +0 -67
  860. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc +0 -138
  861. package/vendor/librocksdb/vendor/rocksdb/utilities/persistent_cache/volatile_tier_impl.h +0 -139
  862. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.cc +0 -287
  863. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/cache_simulator.h +0 -231
  864. package/vendor/librocksdb/vendor/rocksdb/utilities/simulator_cache/sim_cache.cc +0 -375
  865. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.cc +0 -144
  866. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_for_tiering_collector.h +0 -45
  867. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +0 -233
  868. package/vendor/librocksdb/vendor/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.h +0 -65
  869. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.cc +0 -132
  870. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/file_trace_reader_writer.h +0 -48
  871. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.cc +0 -313
  872. package/vendor/librocksdb/vendor/rocksdb/utilities/trace/replayer_impl.h +0 -84
  873. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.cc +0 -27
  874. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_manager.h +0 -80
  875. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/lock_tracker.h +0 -207
  876. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.cc +0 -718
  877. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager.h +0 -222
  878. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_manager_test.h +0 -324
  879. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -255
  880. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/point/point_lock_tracker.h +0 -97
  881. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_lock_manager.h +0 -34
  882. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/db.h +0 -81
  883. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/comparator.h +0 -138
  884. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/ft/ft-status.h +0 -102
  885. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.cc +0 -137
  886. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/concurrent_tree.h +0 -174
  887. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.cc +0 -220
  888. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/keyrange.h +0 -141
  889. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +0 -525
  890. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +0 -255
  891. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.cc +0 -1021
  892. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/locktree.h +0 -580
  893. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/manager.cc +0 -525
  894. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.cc +0 -263
  895. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/range_buffer.h +0 -178
  896. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.cc +0 -518
  897. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/treenode.h +0 -302
  898. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.cc +0 -118
  899. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/txnid_set.h +0 -92
  900. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.cc +0 -211
  901. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/wfg.h +0 -124
  902. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/memory.h +0 -215
  903. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_assert_subst.h +0 -43
  904. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h +0 -130
  905. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_external_pthread.h +0 -87
  906. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_instrumentation.h +0 -286
  907. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_portability.h +0 -87
  908. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_pthread.h +0 -520
  909. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_race_tools.h +0 -179
  910. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +0 -197
  911. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/txn_subst.h +0 -31
  912. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/standalone_port.cc +0 -139
  913. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.cc +0 -165
  914. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/dbt.h +0 -98
  915. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/growable_array.h +0 -144
  916. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.cc +0 -199
  917. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/memarena.h +0 -141
  918. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt.h +0 -794
  919. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/omt_impl.h +0 -1295
  920. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/partitioned_counter.h +0 -165
  921. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/lib/util/status.h +0 -76
  922. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +0 -501
  923. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.h +0 -135
  924. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.cc +0 -156
  925. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_tracker.h +0 -146
  926. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.cc +0 -208
  927. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction.h +0 -99
  928. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc +0 -111
  929. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/optimistic_transaction_db_impl.h +0 -110
  930. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.cc +0 -1278
  931. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction.h +0 -345
  932. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.cc +0 -845
  933. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/pessimistic_transaction_db.h +0 -345
  934. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/snapshot_checker.cc +0 -37
  935. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.cc +0 -912
  936. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_base.h +0 -455
  937. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc +0 -133
  938. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_db_mutex_impl.h +0 -24
  939. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_test.h +0 -589
  940. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.cc +0 -207
  941. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/transaction_util.h +0 -86
  942. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.cc +0 -548
  943. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn.h +0 -118
  944. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.cc +0 -1100
  945. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_prepared_txn_db.h +0 -1149
  946. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.cc +0 -1089
  947. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn.h +0 -333
  948. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.cc +0 -486
  949. package/vendor/librocksdb/vendor/rocksdb/utilities/transactions/write_unprepared_txn_db.h +0 -105
  950. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.cc +0 -638
  951. package/vendor/librocksdb/vendor/rocksdb/utilities/ttl/db_ttl_impl.h +0 -239
  952. package/vendor/librocksdb/vendor/rocksdb/utilities/types_util.cc +0 -88
  953. package/vendor/librocksdb/vendor/rocksdb/utilities/wal_filter.cc +0 -22
  954. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +0 -1134
  955. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +0 -934
  956. package/vendor/librocksdb/vendor/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +0 -468
@@ -1,1523 +0,0 @@
1
- // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
- // This source code is licensed under both the GPLv2 (found in the
3
- // COPYING file in the root directory) and Apache 2.0 License
4
- // (found in the LICENSE.Apache file in the root directory).
5
-
6
- #include "db/compaction/compaction_iterator.h"
7
-
8
- #include <iterator>
9
- #include <limits>
10
-
11
- #include "db/blob/blob_fetcher.h"
12
- #include "db/blob/blob_file_builder.h"
13
- #include "db/blob/blob_index.h"
14
- #include "db/blob/prefetch_buffer_collection.h"
15
- #include "db/snapshot_checker.h"
16
- #include "db/wide/wide_column_serialization.h"
17
- #include "db/wide/wide_columns_helper.h"
18
- #include "logging/logging.h"
19
- #include "port/likely.h"
20
- #include "rocksdb/listener.h"
21
- #include "table/internal_iterator.h"
22
- #include "test_util/sync_point.h"
23
-
24
- namespace ROCKSDB_NAMESPACE {
25
- CompactionIterator::CompactionIterator(
26
- InternalIterator* input, const Comparator* cmp, MergeHelper* merge_helper,
27
- SequenceNumber last_sequence, std::vector<SequenceNumber>* snapshots,
28
- SequenceNumber earliest_snapshot,
29
- SequenceNumber earliest_write_conflict_snapshot,
30
- SequenceNumber job_snapshot, const SnapshotChecker* snapshot_checker,
31
- Env* env, bool report_detailed_time, bool expect_valid_internal_key,
32
- CompactionRangeDelAggregator* range_del_agg,
33
- BlobFileBuilder* blob_file_builder, bool allow_data_in_errors,
34
- bool enforce_single_del_contracts,
35
- const std::atomic<bool>& manual_compaction_canceled,
36
- bool must_count_input_entries, const Compaction* compaction,
37
- const CompactionFilter* compaction_filter,
38
- const std::atomic<bool>* shutting_down,
39
- const std::shared_ptr<Logger> info_log,
40
- const std::string* full_history_ts_low,
41
- const SequenceNumber preserve_time_min_seqno,
42
- const SequenceNumber preclude_last_level_min_seqno)
43
- : CompactionIterator(
44
- input, cmp, merge_helper, last_sequence, snapshots, earliest_snapshot,
45
- earliest_write_conflict_snapshot, job_snapshot, snapshot_checker, env,
46
- report_detailed_time, expect_valid_internal_key, range_del_agg,
47
- blob_file_builder, allow_data_in_errors, enforce_single_del_contracts,
48
- manual_compaction_canceled,
49
- std::unique_ptr<CompactionProxy>(
50
- compaction ? new RealCompaction(compaction) : nullptr),
51
- must_count_input_entries, compaction_filter, shutting_down, info_log,
52
- full_history_ts_low, preserve_time_min_seqno,
53
- preclude_last_level_min_seqno) {}
54
-
55
- CompactionIterator::CompactionIterator(
56
- InternalIterator* input, const Comparator* cmp, MergeHelper* merge_helper,
57
- SequenceNumber /*last_sequence*/, std::vector<SequenceNumber>* snapshots,
58
- SequenceNumber earliest_snapshot,
59
- SequenceNumber earliest_write_conflict_snapshot,
60
- SequenceNumber job_snapshot, const SnapshotChecker* snapshot_checker,
61
- Env* env, bool report_detailed_time, bool expect_valid_internal_key,
62
- CompactionRangeDelAggregator* range_del_agg,
63
- BlobFileBuilder* blob_file_builder, bool allow_data_in_errors,
64
- bool enforce_single_del_contracts,
65
- const std::atomic<bool>& manual_compaction_canceled,
66
- std::unique_ptr<CompactionProxy> compaction, bool must_count_input_entries,
67
- const CompactionFilter* compaction_filter,
68
- const std::atomic<bool>* shutting_down,
69
- const std::shared_ptr<Logger> info_log,
70
- const std::string* full_history_ts_low,
71
- const SequenceNumber preserve_time_min_seqno,
72
- const SequenceNumber preclude_last_level_min_seqno)
73
- : input_(input, cmp, must_count_input_entries),
74
- cmp_(cmp),
75
- merge_helper_(merge_helper),
76
- snapshots_(snapshots),
77
- earliest_write_conflict_snapshot_(earliest_write_conflict_snapshot),
78
- job_snapshot_(job_snapshot),
79
- snapshot_checker_(snapshot_checker),
80
- env_(env),
81
- clock_(env_->GetSystemClock().get()),
82
- report_detailed_time_(report_detailed_time),
83
- expect_valid_internal_key_(expect_valid_internal_key),
84
- range_del_agg_(range_del_agg),
85
- blob_file_builder_(blob_file_builder),
86
- compaction_(std::move(compaction)),
87
- compaction_filter_(compaction_filter),
88
- shutting_down_(shutting_down),
89
- manual_compaction_canceled_(manual_compaction_canceled),
90
- bottommost_level_(!compaction_ ? false
91
- : compaction_->bottommost_level() &&
92
- !compaction_->allow_ingest_behind()),
93
- // snapshots_ cannot be nullptr, but we will assert later in the body of
94
- // the constructor.
95
- visible_at_tip_(snapshots_ ? snapshots_->empty() : false),
96
- earliest_snapshot_(earliest_snapshot),
97
- info_log_(info_log),
98
- allow_data_in_errors_(allow_data_in_errors),
99
- enforce_single_del_contracts_(enforce_single_del_contracts),
100
- timestamp_size_(cmp_ ? cmp_->timestamp_size() : 0),
101
- full_history_ts_low_(full_history_ts_low),
102
- current_user_key_sequence_(0),
103
- current_user_key_snapshot_(0),
104
- merge_out_iter_(merge_helper_),
105
- blob_garbage_collection_cutoff_file_number_(
106
- ComputeBlobGarbageCollectionCutoffFileNumber(compaction_.get())),
107
- blob_fetcher_(CreateBlobFetcherIfNeeded(compaction_.get())),
108
- prefetch_buffers_(
109
- CreatePrefetchBufferCollectionIfNeeded(compaction_.get())),
110
- current_key_committed_(false),
111
- cmp_with_history_ts_low_(0),
112
- level_(compaction_ == nullptr ? 0 : compaction_->level()),
113
- preserve_time_min_seqno_(preserve_time_min_seqno),
114
- preclude_last_level_min_seqno_(preclude_last_level_min_seqno) {
115
- assert(snapshots_ != nullptr);
116
- assert(preserve_time_min_seqno_ <= preclude_last_level_min_seqno_);
117
-
118
- if (compaction_ != nullptr) {
119
- level_ptrs_ = std::vector<size_t>(compaction_->number_levels(), 0);
120
- }
121
- #ifndef NDEBUG
122
- // findEarliestVisibleSnapshot assumes this ordering.
123
- for (size_t i = 1; i < snapshots_->size(); ++i) {
124
- assert(snapshots_->at(i - 1) < snapshots_->at(i));
125
- }
126
- assert(timestamp_size_ == 0 || !full_history_ts_low_ ||
127
- timestamp_size_ == full_history_ts_low_->size());
128
- #endif
129
- input_.SetPinnedItersMgr(&pinned_iters_mgr_);
130
- // The default `merge_until_status_` does not need to be checked since it is
131
- // overwritten as soon as `MergeUntil()` is called
132
- merge_until_status_.PermitUncheckedError();
133
- TEST_SYNC_POINT_CALLBACK("CompactionIterator:AfterInit", compaction_.get());
134
- }
135
-
136
- CompactionIterator::~CompactionIterator() {
137
- // input_ Iterator lifetime is longer than pinned_iters_mgr_ lifetime
138
- input_.SetPinnedItersMgr(nullptr);
139
- }
140
-
141
- void CompactionIterator::ResetRecordCounts() {
142
- iter_stats_.num_record_drop_user = 0;
143
- iter_stats_.num_record_drop_hidden = 0;
144
- iter_stats_.num_record_drop_obsolete = 0;
145
- iter_stats_.num_record_drop_range_del = 0;
146
- iter_stats_.num_range_del_drop_obsolete = 0;
147
- iter_stats_.num_optimized_del_drop_obsolete = 0;
148
- }
149
-
150
- void CompactionIterator::SeekToFirst() {
151
- NextFromInput();
152
- PrepareOutput();
153
- }
154
-
155
- void CompactionIterator::Next() {
156
- // If there is a merge output, return it before continuing to process the
157
- // input.
158
- if (merge_out_iter_.Valid()) {
159
- merge_out_iter_.Next();
160
-
161
- // Check if we returned all records of the merge output.
162
- if (merge_out_iter_.Valid()) {
163
- key_ = merge_out_iter_.key();
164
- value_ = merge_out_iter_.value();
165
- Status s = ParseInternalKey(key_, &ikey_, allow_data_in_errors_);
166
- // MergeUntil stops when it encounters a corrupt key and does not
167
- // include them in the result, so we expect the keys here to be valid.
168
- if (!s.ok()) {
169
- ROCKS_LOG_FATAL(
170
- info_log_, "Invalid ikey %s in compaction. %s",
171
- allow_data_in_errors_ ? key_.ToString(true).c_str() : "hidden",
172
- s.getState());
173
- assert(false);
174
- }
175
-
176
- // Keep current_key_ in sync.
177
- if (0 == timestamp_size_) {
178
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
179
- } else {
180
- Slice ts = ikey_.GetTimestamp(timestamp_size_);
181
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type, &ts);
182
- }
183
- key_ = current_key_.GetInternalKey();
184
- ikey_.user_key = current_key_.GetUserKey();
185
- validity_info_.SetValid(ValidContext::kMerge1);
186
- } else {
187
- if (merge_until_status_.IsMergeInProgress()) {
188
- // `Status::MergeInProgress()` tells us that the previous `MergeUntil()`
189
- // produced only merge operands. Those merge operands were accessed and
190
- // written out using `merge_out_iter_`. Since `merge_out_iter_` is
191
- // exhausted at this point, all merge operands have been written out.
192
- //
193
- // Still, there may be a base value (PUT, DELETE, SINGLEDEL, etc.) that
194
- // needs to be written out. Normally, `CompactionIterator` would skip it
195
- // on the basis that it has already output something in the same
196
- // snapshot stripe. To prevent this, we reset `has_current_user_key_` to
197
- // trick the future iteration from finding out the snapshot stripe is
198
- // unchanged.
199
- has_current_user_key_ = false;
200
- }
201
- // We consumed all pinned merge operands, release pinned iterators
202
- pinned_iters_mgr_.ReleasePinnedData();
203
- // MergeHelper moves the iterator to the first record after the merged
204
- // records, so even though we reached the end of the merge output, we do
205
- // not want to advance the iterator.
206
- NextFromInput();
207
- }
208
- } else {
209
- // Only advance the input iterator if there is no merge output and the
210
- // iterator is not already at the next record.
211
- if (!at_next_) {
212
- AdvanceInputIter();
213
- }
214
- NextFromInput();
215
- }
216
-
217
- if (Valid()) {
218
- // Record that we've outputted a record for the current key.
219
- has_outputted_key_ = true;
220
- }
221
-
222
- PrepareOutput();
223
- }
224
-
225
- bool CompactionIterator::InvokeFilterIfNeeded(bool* need_skip,
226
- Slice* skip_until) {
227
- if (!compaction_filter_) {
228
- return true;
229
- }
230
-
231
- if (ikey_.type != kTypeValue && ikey_.type != kTypeBlobIndex &&
232
- ikey_.type != kTypeWideColumnEntity) {
233
- return true;
234
- }
235
-
236
- CompactionFilter::Decision decision =
237
- CompactionFilter::Decision::kUndetermined;
238
- CompactionFilter::ValueType value_type =
239
- ikey_.type == kTypeValue ? CompactionFilter::ValueType::kValue
240
- : ikey_.type == kTypeBlobIndex
241
- ? CompactionFilter::ValueType::kBlobIndex
242
- : CompactionFilter::ValueType::kWideColumnEntity;
243
-
244
- // Hack: pass internal key to BlobIndexCompactionFilter since it needs
245
- // to get sequence number.
246
- assert(compaction_filter_);
247
- const Slice& filter_key =
248
- (ikey_.type != kTypeBlobIndex ||
249
- !compaction_filter_->IsStackedBlobDbInternalCompactionFilter())
250
- ? ikey_.user_key
251
- : key_;
252
-
253
- compaction_filter_value_.clear();
254
- compaction_filter_skip_until_.Clear();
255
-
256
- std::vector<std::pair<std::string, std::string>> new_columns;
257
-
258
- {
259
- StopWatchNano timer(clock_, report_detailed_time_);
260
-
261
- if (ikey_.type == kTypeBlobIndex) {
262
- decision = compaction_filter_->FilterBlobByKey(
263
- level_, filter_key, &compaction_filter_value_,
264
- compaction_filter_skip_until_.rep());
265
- if (decision == CompactionFilter::Decision::kUndetermined &&
266
- !compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
267
- if (!compaction_) {
268
- status_ =
269
- Status::Corruption("Unexpected blob index outside of compaction");
270
- validity_info_.Invalidate();
271
- return false;
272
- }
273
-
274
- TEST_SYNC_POINT_CALLBACK(
275
- "CompactionIterator::InvokeFilterIfNeeded::TamperWithBlobIndex",
276
- &value_);
277
-
278
- // For integrated BlobDB impl, CompactionIterator reads blob value.
279
- // For Stacked BlobDB impl, the corresponding CompactionFilter's
280
- // FilterV2 method should read the blob value.
281
- BlobIndex blob_index;
282
- Status s = blob_index.DecodeFrom(value_);
283
- if (!s.ok()) {
284
- status_ = s;
285
- validity_info_.Invalidate();
286
- return false;
287
- }
288
-
289
- FilePrefetchBuffer* prefetch_buffer =
290
- prefetch_buffers_ ? prefetch_buffers_->GetOrCreatePrefetchBuffer(
291
- blob_index.file_number())
292
- : nullptr;
293
-
294
- uint64_t bytes_read = 0;
295
-
296
- assert(blob_fetcher_);
297
-
298
- s = blob_fetcher_->FetchBlob(ikey_.user_key, blob_index,
299
- prefetch_buffer, &blob_value_,
300
- &bytes_read);
301
- if (!s.ok()) {
302
- status_ = s;
303
- validity_info_.Invalidate();
304
- return false;
305
- }
306
-
307
- ++iter_stats_.num_blobs_read;
308
- iter_stats_.total_blob_bytes_read += bytes_read;
309
-
310
- value_type = CompactionFilter::ValueType::kValue;
311
- }
312
- }
313
-
314
- if (decision == CompactionFilter::Decision::kUndetermined) {
315
- const Slice* existing_val = nullptr;
316
- const WideColumns* existing_col = nullptr;
317
-
318
- WideColumns existing_columns;
319
-
320
- if (ikey_.type != kTypeWideColumnEntity) {
321
- if (!blob_value_.empty()) {
322
- existing_val = &blob_value_;
323
- } else {
324
- existing_val = &value_;
325
- }
326
- } else {
327
- Slice value_copy = value_;
328
- const Status s =
329
- WideColumnSerialization::Deserialize(value_copy, existing_columns);
330
-
331
- if (!s.ok()) {
332
- status_ = s;
333
- validity_info_.Invalidate();
334
- return false;
335
- }
336
-
337
- existing_col = &existing_columns;
338
- }
339
-
340
- decision = compaction_filter_->FilterV3(
341
- level_, filter_key, value_type, existing_val, existing_col,
342
- &compaction_filter_value_, &new_columns,
343
- compaction_filter_skip_until_.rep());
344
- }
345
-
346
- iter_stats_.total_filter_time +=
347
- env_ != nullptr && report_detailed_time_ ? timer.ElapsedNanos() : 0;
348
- }
349
-
350
- if (decision == CompactionFilter::Decision::kUndetermined) {
351
- // Should not reach here, since FilterV2/FilterV3 should never return
352
- // kUndetermined.
353
- status_ = Status::NotSupported(
354
- "FilterV2/FilterV3 should never return kUndetermined");
355
- validity_info_.Invalidate();
356
- return false;
357
- }
358
-
359
- if (decision == CompactionFilter::Decision::kRemoveAndSkipUntil &&
360
- cmp_->Compare(*compaction_filter_skip_until_.rep(), ikey_.user_key) <=
361
- 0) {
362
- // Can't skip to a key smaller than the current one.
363
- // Keep the key as per FilterV2/FilterV3 documentation.
364
- decision = CompactionFilter::Decision::kKeep;
365
- }
366
-
367
- if (decision == CompactionFilter::Decision::kRemove) {
368
- // convert the current key to a delete; key_ is pointing into
369
- // current_key_ at this point, so updating current_key_ updates key()
370
- ikey_.type = kTypeDeletion;
371
- current_key_.UpdateInternalKey(ikey_.sequence, kTypeDeletion);
372
- // no value associated with delete
373
- value_.clear();
374
- iter_stats_.num_record_drop_user++;
375
- } else if (decision == CompactionFilter::Decision::kPurge) {
376
- // convert the current key to a single delete; key_ is pointing into
377
- // current_key_ at this point, so updating current_key_ updates key()
378
- ikey_.type = kTypeSingleDeletion;
379
- current_key_.UpdateInternalKey(ikey_.sequence, kTypeSingleDeletion);
380
- // no value associated with single delete
381
- value_.clear();
382
- iter_stats_.num_record_drop_user++;
383
- } else if (decision == CompactionFilter::Decision::kChangeValue) {
384
- if (ikey_.type != kTypeValue) {
385
- ikey_.type = kTypeValue;
386
- current_key_.UpdateInternalKey(ikey_.sequence, kTypeValue);
387
- }
388
-
389
- value_ = compaction_filter_value_;
390
- } else if (decision == CompactionFilter::Decision::kRemoveAndSkipUntil) {
391
- *need_skip = true;
392
- compaction_filter_skip_until_.ConvertFromUserKey(kMaxSequenceNumber,
393
- kValueTypeForSeek);
394
- *skip_until = compaction_filter_skip_until_.Encode();
395
- } else if (decision == CompactionFilter::Decision::kChangeBlobIndex) {
396
- // Only the StackableDB-based BlobDB impl's compaction filter should return
397
- // kChangeBlobIndex. Decision about rewriting blob and changing blob index
398
- // in the integrated BlobDB impl is made in subsequent call to
399
- // PrepareOutput() and its callees.
400
- if (!compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
401
- status_ = Status::NotSupported(
402
- "Only stacked BlobDB's internal compaction filter can return "
403
- "kChangeBlobIndex.");
404
- validity_info_.Invalidate();
405
- return false;
406
- }
407
-
408
- if (ikey_.type != kTypeBlobIndex) {
409
- ikey_.type = kTypeBlobIndex;
410
- current_key_.UpdateInternalKey(ikey_.sequence, kTypeBlobIndex);
411
- }
412
-
413
- value_ = compaction_filter_value_;
414
- } else if (decision == CompactionFilter::Decision::kIOError) {
415
- if (!compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
416
- status_ = Status::NotSupported(
417
- "CompactionFilter for integrated BlobDB should not return kIOError");
418
- validity_info_.Invalidate();
419
- return false;
420
- }
421
-
422
- status_ = Status::IOError("Failed to access blob during compaction filter");
423
- validity_info_.Invalidate();
424
- return false;
425
- } else if (decision == CompactionFilter::Decision::kChangeWideColumnEntity) {
426
- WideColumns sorted_columns;
427
- sorted_columns.reserve(new_columns.size());
428
-
429
- for (const auto& column : new_columns) {
430
- sorted_columns.emplace_back(column.first, column.second);
431
- }
432
-
433
- WideColumnsHelper::SortColumns(sorted_columns);
434
-
435
- {
436
- const Status s = WideColumnSerialization::Serialize(
437
- sorted_columns, compaction_filter_value_);
438
- if (!s.ok()) {
439
- status_ = s;
440
- validity_info_.Invalidate();
441
- return false;
442
- }
443
- }
444
-
445
- if (ikey_.type != kTypeWideColumnEntity) {
446
- ikey_.type = kTypeWideColumnEntity;
447
- current_key_.UpdateInternalKey(ikey_.sequence, kTypeWideColumnEntity);
448
- }
449
-
450
- value_ = compaction_filter_value_;
451
- }
452
-
453
- return true;
454
- }
455
-
456
- void CompactionIterator::NextFromInput() {
457
- at_next_ = false;
458
- validity_info_.Invalidate();
459
-
460
- while (!Valid() && input_.Valid() && !IsPausingManualCompaction() &&
461
- !IsShuttingDown()) {
462
- key_ = input_.key();
463
- value_ = input_.value();
464
- blob_value_.Reset();
465
- iter_stats_.num_input_records++;
466
- is_range_del_ = input_.IsDeleteRangeSentinelKey();
467
-
468
- Status pik_status = ParseInternalKey(key_, &ikey_, allow_data_in_errors_);
469
- if (!pik_status.ok()) {
470
- iter_stats_.num_input_corrupt_records++;
471
-
472
- // If `expect_valid_internal_key_` is false, return the corrupted key
473
- // and let the caller decide what to do with it.
474
- if (expect_valid_internal_key_) {
475
- status_ = pik_status;
476
- return;
477
- }
478
- key_ = current_key_.SetInternalKey(key_);
479
- has_current_user_key_ = false;
480
- current_user_key_sequence_ = kMaxSequenceNumber;
481
- current_user_key_snapshot_ = 0;
482
- validity_info_.SetValid(ValidContext::kParseKeyError);
483
- break;
484
- }
485
- TEST_SYNC_POINT_CALLBACK("CompactionIterator:ProcessKV", &ikey_);
486
- if (is_range_del_) {
487
- validity_info_.SetValid(kRangeDeletion);
488
- break;
489
- }
490
- // Update input statistics
491
- if (ikey_.type == kTypeDeletion || ikey_.type == kTypeSingleDeletion ||
492
- ikey_.type == kTypeDeletionWithTimestamp) {
493
- iter_stats_.num_input_deletion_records++;
494
- } else if (ikey_.type == kTypeValuePreferredSeqno) {
495
- iter_stats_.num_input_timed_put_records++;
496
- }
497
- iter_stats_.total_input_raw_key_bytes += key_.size();
498
- iter_stats_.total_input_raw_value_bytes += value_.size();
499
-
500
- // If need_skip is true, we should seek the input iterator
501
- // to internal key skip_until and continue from there.
502
- bool need_skip = false;
503
- // Points either into compaction_filter_skip_until_ or into
504
- // merge_helper_->compaction_filter_skip_until_.
505
- Slice skip_until;
506
-
507
- bool user_key_equal_without_ts = false;
508
- int cmp_ts = 0;
509
- if (has_current_user_key_) {
510
- user_key_equal_without_ts =
511
- cmp_->EqualWithoutTimestamp(ikey_.user_key, current_user_key_);
512
- // if timestamp_size_ > 0, then curr_ts_ has been initialized by a
513
- // previous key.
514
- cmp_ts = timestamp_size_ ? cmp_->CompareTimestamp(
515
- ExtractTimestampFromUserKey(
516
- ikey_.user_key, timestamp_size_),
517
- curr_ts_)
518
- : 0;
519
- }
520
-
521
- // Check whether the user key changed. After this if statement current_key_
522
- // is a copy of the current input key (maybe converted to a delete by the
523
- // compaction filter). ikey_.user_key is pointing to the copy.
524
- if (!has_current_user_key_ || !user_key_equal_without_ts || cmp_ts != 0) {
525
- // First occurrence of this user key
526
- // Copy key for output
527
- key_ = current_key_.SetInternalKey(key_, &ikey_);
528
-
529
- int prev_cmp_with_ts_low =
530
- !full_history_ts_low_ ? 0
531
- : curr_ts_.empty()
532
- ? 0
533
- : cmp_->CompareTimestamp(curr_ts_, *full_history_ts_low_);
534
-
535
- // If timestamp_size_ > 0, then copy from ikey_ to curr_ts_ for the use
536
- // in next iteration to compare with the timestamp of next key.
537
- UpdateTimestampAndCompareWithFullHistoryLow();
538
-
539
- // If
540
- // (1) !has_current_user_key_, OR
541
- // (2) timestamp is disabled, OR
542
- // (3) all history will be preserved, OR
543
- // (4) user key (excluding timestamp) is different from previous key, OR
544
- // (5) timestamp is NO older than *full_history_ts_low_, OR
545
- // (6) timestamp is the largest one older than full_history_ts_low_,
546
- // then current_user_key_ must be treated as a different user key.
547
- // This means, if a user key (excluding ts) is the same as the previous
548
- // user key, and its ts is older than *full_history_ts_low_, then we
549
- // consider this key for GC, e.g. it may be dropped if certain conditions
550
- // match.
551
- if (!has_current_user_key_ || !timestamp_size_ || !full_history_ts_low_ ||
552
- !user_key_equal_without_ts || cmp_with_history_ts_low_ >= 0 ||
553
- prev_cmp_with_ts_low >= 0) {
554
- // Initialize for future comparison for rule (A) and etc.
555
- current_user_key_sequence_ = kMaxSequenceNumber;
556
- current_user_key_snapshot_ = 0;
557
- has_current_user_key_ = true;
558
- }
559
- current_user_key_ = ikey_.user_key;
560
-
561
- has_outputted_key_ = false;
562
-
563
- last_key_seq_zeroed_ = false;
564
-
565
- current_key_committed_ = KeyCommitted(ikey_.sequence);
566
-
567
- // Apply the compaction filter to the first committed version of the user
568
- // key.
569
- if (current_key_committed_ &&
570
- !InvokeFilterIfNeeded(&need_skip, &skip_until)) {
571
- break;
572
- }
573
- } else {
574
- // Update the current key to reflect the new sequence number/type without
575
- // copying the user key.
576
- // TODO(rven): Compaction filter does not process keys in this path
577
- // Need to have the compaction filter process multiple versions
578
- // if we have versions on both sides of a snapshot
579
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
580
- key_ = current_key_.GetInternalKey();
581
- ikey_.user_key = current_key_.GetUserKey();
582
-
583
- // Note that newer version of a key is ordered before older versions. If a
584
- // newer version of a key is committed, so as the older version. No need
585
- // to query snapshot_checker_ in that case.
586
- if (UNLIKELY(!current_key_committed_)) {
587
- assert(snapshot_checker_ != nullptr);
588
- current_key_committed_ = KeyCommitted(ikey_.sequence);
589
- // Apply the compaction filter to the first committed version of the
590
- // user key.
591
- if (current_key_committed_ &&
592
- !InvokeFilterIfNeeded(&need_skip, &skip_until)) {
593
- break;
594
- }
595
- }
596
- }
597
-
598
- if (UNLIKELY(!current_key_committed_)) {
599
- assert(snapshot_checker_ != nullptr);
600
- validity_info_.SetValid(ValidContext::kCurrentKeyUncommitted);
601
- break;
602
- }
603
-
604
- // If there are no snapshots, then this kv affect visibility at tip.
605
- // Otherwise, search though all existing snapshots to find the earliest
606
- // snapshot that is affected by this kv.
607
- SequenceNumber last_sequence = current_user_key_sequence_;
608
- current_user_key_sequence_ = ikey_.sequence;
609
- SequenceNumber last_snapshot = current_user_key_snapshot_;
610
- SequenceNumber prev_snapshot = 0; // 0 means no previous snapshot
611
- current_user_key_snapshot_ =
612
- visible_at_tip_
613
- ? earliest_snapshot_
614
- : findEarliestVisibleSnapshot(ikey_.sequence, &prev_snapshot);
615
-
616
- if (need_skip) {
617
- // This case is handled below.
618
- } else if (clear_and_output_next_key_) {
619
- // In the previous iteration we encountered a single delete that we could
620
- // not compact out. We will keep this Put, but can drop it's data.
621
- // (See Optimization 3, below.)
622
- if (ikey_.type != kTypeValue && ikey_.type != kTypeBlobIndex &&
623
- ikey_.type != kTypeWideColumnEntity &&
624
- ikey_.type != kTypeValuePreferredSeqno) {
625
- ROCKS_LOG_FATAL(info_log_, "Unexpected key %s for compaction output",
626
- ikey_.DebugString(allow_data_in_errors_, true).c_str());
627
- assert(false);
628
- }
629
- if (current_user_key_snapshot_ < last_snapshot) {
630
- ROCKS_LOG_FATAL(info_log_,
631
- "key %s, current_user_key_snapshot_ (%" PRIu64
632
- ") < last_snapshot (%" PRIu64 ")",
633
- ikey_.DebugString(allow_data_in_errors_, true).c_str(),
634
- current_user_key_snapshot_, last_snapshot);
635
- assert(false);
636
- }
637
-
638
- if (ikey_.type == kTypeBlobIndex || ikey_.type == kTypeWideColumnEntity ||
639
- ikey_.type == kTypeValuePreferredSeqno) {
640
- ikey_.type = kTypeValue;
641
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
642
- }
643
-
644
- value_.clear();
645
- validity_info_.SetValid(ValidContext::kKeepSDAndClearPut);
646
- clear_and_output_next_key_ = false;
647
- } else if (ikey_.type == kTypeSingleDeletion) {
648
- // We can compact out a SingleDelete if:
649
- // 1) We encounter the corresponding PUT -OR- we know that this key
650
- // doesn't appear past this output level
651
- // =AND=
652
- // 2) We've already returned a record in this snapshot -OR-
653
- // there are no earlier earliest_write_conflict_snapshot.
654
- //
655
- // A note about 2) above:
656
- // we try to determine whether there is any earlier write conflict
657
- // checking snapshot by calling DefinitelyInSnapshot() with seq and
658
- // earliest_write_conflict_snapshot as arguments. For write-prepared
659
- // and write-unprepared transactions, if earliest_write_conflict_snapshot
660
- // is evicted from WritePreparedTxnDB::commit_cache, then
661
- // DefinitelyInSnapshot(seq, earliest_write_conflict_snapshot) returns
662
- // false, even if the seq is actually visible within
663
- // earliest_write_conflict_snapshot. Consequently, CompactionIterator
664
- // may try to zero out its sequence number, thus hitting assertion error
665
- // in debug mode or cause incorrect DBIter return result.
666
- // We observe that earliest_write_conflict_snapshot >= earliest_snapshot,
667
- // and the seq zeroing logic depends on
668
- // DefinitelyInSnapshot(seq, earliest_snapshot). Therefore, if we cannot
669
- // determine whether seq is **definitely** in
670
- // earliest_write_conflict_snapshot, then we can additionally check if
671
- // seq is definitely in earliest_snapshot. If the latter holds, then the
672
- // former holds too.
673
- //
674
- // Rule 1 is needed for SingleDelete correctness. Rule 2 is needed to
675
- // allow Transactions to do write-conflict checking (if we compacted away
676
- // all keys, then we wouldn't know that a write happened in this
677
- // snapshot). If there is no earlier snapshot, then we know that there
678
- // are no active transactions that need to know about any writes.
679
- //
680
- // Optimization 3:
681
- // If we encounter a SingleDelete followed by a PUT and Rule 2 is NOT
682
- // true, then we must output a SingleDelete. In this case, we will decide
683
- // to also output the PUT. While we are compacting less by outputting the
684
- // PUT now, hopefully this will lead to better compaction in the future
685
- // when Rule 2 is later true (Ie, We are hoping we can later compact out
686
- // both the SingleDelete and the Put, while we couldn't if we only
687
- // outputted the SingleDelete now).
688
- // In this case, we can save space by removing the PUT's value as it will
689
- // never be read.
690
- //
691
- // Deletes and Merges are not supported on the same key that has a
692
- // SingleDelete as it is not possible to correctly do any partial
693
- // compaction of such a combination of operations. The result of mixing
694
- // those operations for a given key is documented as being undefined. So
695
- // we can choose how to handle such a combinations of operations. We will
696
- // try to compact out as much as we can in these cases.
697
- // We will report counts on these anomalous cases.
698
- //
699
- // Note: If timestamp is enabled, then record will be eligible for
700
- // deletion, only if, along with above conditions (Rule 1 and Rule 2)
701
- // full_history_ts_low_ is specified and timestamp for that key is less
702
- // than *full_history_ts_low_. If it's not eligible for deletion, then we
703
- // will output the SingleDelete. For Optimization 3 also, if
704
- // full_history_ts_low_ is specified and timestamp for the key is less
705
- // than *full_history_ts_low_ then only optimization will be applied.
706
-
707
- // The easiest way to process a SingleDelete during iteration is to peek
708
- // ahead at the next key.
709
- const bool is_timestamp_eligible_for_gc =
710
- (timestamp_size_ == 0 ||
711
- (full_history_ts_low_ && cmp_with_history_ts_low_ < 0));
712
-
713
- ParsedInternalKey next_ikey;
714
- AdvanceInputIter();
715
- while (input_.Valid() && input_.IsDeleteRangeSentinelKey() &&
716
- ParseInternalKey(input_.key(), &next_ikey, allow_data_in_errors_)
717
- .ok() &&
718
- cmp_->EqualWithoutTimestamp(ikey_.user_key, next_ikey.user_key)) {
719
- // skip range tombstone start keys with the same user key
720
- // since they are not "real" point keys.
721
- AdvanceInputIter();
722
- }
723
-
724
- // Check whether the next key exists, is not corrupt, and is the same key
725
- // as the single delete.
726
- if (input_.Valid() &&
727
- ParseInternalKey(input_.key(), &next_ikey, allow_data_in_errors_)
728
- .ok() &&
729
- cmp_->EqualWithoutTimestamp(ikey_.user_key, next_ikey.user_key)) {
730
- assert(!input_.IsDeleteRangeSentinelKey());
731
- #ifndef NDEBUG
732
- const Compaction* c =
733
- compaction_ ? compaction_->real_compaction() : nullptr;
734
- #endif
735
- TEST_SYNC_POINT_CALLBACK(
736
- "CompactionIterator::NextFromInput:SingleDelete:1",
737
- const_cast<Compaction*>(c));
738
- if (last_key_seq_zeroed_) {
739
- ++iter_stats_.num_record_drop_hidden;
740
- ++iter_stats_.num_record_drop_obsolete;
741
- assert(bottommost_level_);
742
- AdvanceInputIter();
743
- } else if (prev_snapshot == 0 ||
744
- DefinitelyNotInSnapshot(next_ikey.sequence, prev_snapshot)) {
745
- // Check whether the next key belongs to the same snapshot as the
746
- // SingleDelete.
747
-
748
- TEST_SYNC_POINT_CALLBACK(
749
- "CompactionIterator::NextFromInput:SingleDelete:2", nullptr);
750
- if (next_ikey.type == kTypeSingleDeletion) {
751
- // We encountered two SingleDeletes for same key in a row. This
752
- // could be due to unexpected user input. If write-(un)prepared
753
- // transaction is used, this could also be due to releasing an old
754
- // snapshot between a Put and its matching SingleDelete.
755
- // Skip the first SingleDelete and let the next iteration decide
756
- // how to handle the second SingleDelete.
757
-
758
- // First SingleDelete has been skipped since we already called
759
- // input_.Next().
760
- ++iter_stats_.num_record_drop_obsolete;
761
- ++iter_stats_.num_single_del_mismatch;
762
- } else if (next_ikey.type == kTypeDeletion) {
763
- std::ostringstream oss;
764
- oss << "Found SD and type: " << static_cast<int>(next_ikey.type)
765
- << " on the same key, violating the contract "
766
- "of SingleDelete. Check your application to make sure the "
767
- "application does not mix SingleDelete and Delete for "
768
- "the same key. If you are using "
769
- "write-prepared/write-unprepared transactions, and use "
770
- "SingleDelete to delete certain keys, then make sure "
771
- "TransactionDBOptions::rollback_deletion_type_callback is "
772
- "configured properly. Mixing SD and DEL can lead to "
773
- "undefined behaviors";
774
- ++iter_stats_.num_record_drop_obsolete;
775
- ++iter_stats_.num_single_del_mismatch;
776
- if (enforce_single_del_contracts_) {
777
- ROCKS_LOG_ERROR(info_log_, "%s", oss.str().c_str());
778
- validity_info_.Invalidate();
779
- status_ = Status::Corruption(oss.str());
780
- return;
781
- }
782
- ROCKS_LOG_WARN(info_log_, "%s", oss.str().c_str());
783
- } else if (!is_timestamp_eligible_for_gc) {
784
- // We cannot drop the SingleDelete as timestamp is enabled, and
785
- // timestamp of this key is greater than or equal to
786
- // *full_history_ts_low_. We will output the SingleDelete.
787
- validity_info_.SetValid(ValidContext::kKeepTsHistory);
788
- } else if (has_outputted_key_ ||
789
- DefinitelyInSnapshot(ikey_.sequence,
790
- earliest_write_conflict_snapshot_) ||
791
- (earliest_snapshot_ < earliest_write_conflict_snapshot_ &&
792
- DefinitelyInSnapshot(ikey_.sequence,
793
- earliest_snapshot_))) {
794
- // Found a matching value, we can drop the single delete and the
795
- // value. It is safe to drop both records since we've already
796
- // outputted a key in this snapshot, or there is no earlier
797
- // snapshot (Rule 2 above).
798
-
799
- // Note: it doesn't matter whether the second key is a Put or if it
800
- // is an unexpected Merge or Delete. We will compact it out
801
- // either way. We will maintain counts of how many mismatches
802
- // happened
803
- if (next_ikey.type != kTypeValue &&
804
- next_ikey.type != kTypeBlobIndex &&
805
- next_ikey.type != kTypeWideColumnEntity &&
806
- next_ikey.type != kTypeValuePreferredSeqno) {
807
- ++iter_stats_.num_single_del_mismatch;
808
- }
809
-
810
- ++iter_stats_.num_record_drop_hidden;
811
- ++iter_stats_.num_record_drop_obsolete;
812
- // Already called input_.Next() once. Call it a second time to
813
- // skip past the second key.
814
- AdvanceInputIter();
815
- } else {
816
- // Found a matching value, but we cannot drop both keys since
817
- // there is an earlier snapshot and we need to leave behind a record
818
- // to know that a write happened in this snapshot (Rule 2 above).
819
- // Clear the value and output the SingleDelete. (The value will be
820
- // outputted on the next iteration.)
821
-
822
- // Setting valid_ to true will output the current SingleDelete
823
- validity_info_.SetValid(ValidContext::kKeepSDForConflictCheck);
824
-
825
- // Set up the Put to be outputted in the next iteration.
826
- // (Optimization 3).
827
- clear_and_output_next_key_ = true;
828
- TEST_SYNC_POINT_CALLBACK(
829
- "CompactionIterator::NextFromInput:KeepSDForWW",
830
- /*arg=*/nullptr);
831
- }
832
- } else {
833
- // We hit the next snapshot without hitting a put, so the iterator
834
- // returns the single delete.
835
- validity_info_.SetValid(ValidContext::kKeepSDForSnapshot);
836
- TEST_SYNC_POINT_CALLBACK(
837
- "CompactionIterator::NextFromInput:SingleDelete:3",
838
- const_cast<Compaction*>(c));
839
- }
840
- } else {
841
- // We are at the end of the input, could not parse the next key, or hit
842
- // a different key. The iterator returns the single delete if the key
843
- // possibly exists beyond the current output level. We set
844
- // has_current_user_key to false so that if the iterator is at the next
845
- // key, we do not compare it again against the previous key at the next
846
- // iteration. If the next key is corrupt, we return before the
847
- // comparison, so the value of has_current_user_key does not matter.
848
- has_current_user_key_ = false;
849
- if (compaction_ != nullptr &&
850
- DefinitelyInSnapshot(ikey_.sequence, earliest_snapshot_) &&
851
- compaction_->KeyNotExistsBeyondOutputLevel(ikey_.user_key,
852
- &level_ptrs_) &&
853
- is_timestamp_eligible_for_gc) {
854
- // Key doesn't exist outside of this range.
855
- // Can compact out this SingleDelete.
856
- ++iter_stats_.num_record_drop_obsolete;
857
- ++iter_stats_.num_single_del_fallthru;
858
- if (!bottommost_level_) {
859
- ++iter_stats_.num_optimized_del_drop_obsolete;
860
- }
861
- } else if (last_key_seq_zeroed_) {
862
- // Skip.
863
- ++iter_stats_.num_record_drop_hidden;
864
- ++iter_stats_.num_record_drop_obsolete;
865
- assert(bottommost_level_);
866
- } else {
867
- // Output SingleDelete
868
- validity_info_.SetValid(ValidContext::kKeepSD);
869
- }
870
- }
871
-
872
- if (Valid()) {
873
- at_next_ = true;
874
- }
875
- } else if (last_snapshot == current_user_key_snapshot_ ||
876
- (last_snapshot > 0 &&
877
- last_snapshot < current_user_key_snapshot_)) {
878
- // If the earliest snapshot is which this key is visible in
879
- // is the same as the visibility of a previous instance of the
880
- // same key, then this kv is not visible in any snapshot.
881
- // Hidden by an newer entry for same user key
882
- //
883
- // Note: Dropping this key will not affect TransactionDB write-conflict
884
- // checking since there has already been a record returned for this key
885
- // in this snapshot.
886
- if (last_sequence < current_user_key_sequence_) {
887
- ROCKS_LOG_FATAL(info_log_,
888
- "key %s, last_sequence (%" PRIu64
889
- ") < current_user_key_sequence_ (%" PRIu64 ")",
890
- ikey_.DebugString(allow_data_in_errors_, true).c_str(),
891
- last_sequence, current_user_key_sequence_);
892
- assert(false);
893
- }
894
-
895
- ++iter_stats_.num_record_drop_hidden; // rule (A)
896
- AdvanceInputIter();
897
- } else if (compaction_ != nullptr &&
898
- (ikey_.type == kTypeDeletion ||
899
- (ikey_.type == kTypeDeletionWithTimestamp &&
900
- cmp_with_history_ts_low_ < 0)) &&
901
- DefinitelyInSnapshot(ikey_.sequence, earliest_snapshot_) &&
902
- compaction_->KeyNotExistsBeyondOutputLevel(ikey_.user_key,
903
- &level_ptrs_)) {
904
- // TODO(noetzli): This is the only place where we use compaction_
905
- // (besides the constructor). We should probably get rid of this
906
- // dependency and find a way to do similar filtering during flushes.
907
- //
908
- // For this user key:
909
- // (1) there is no data in higher levels
910
- // (2) data in lower levels will have larger sequence numbers
911
- // (3) data in layers that are being compacted here and have
912
- // smaller sequence numbers will be dropped in the next
913
- // few iterations of this loop (by rule (A) above).
914
- // Therefore this deletion marker is obsolete and can be dropped.
915
- //
916
- // Note: Dropping this Delete will not affect TransactionDB
917
- // write-conflict checking since it is earlier than any snapshot.
918
- //
919
- // It seems that we can also drop deletion later than earliest snapshot
920
- // given that:
921
- // (1) The deletion is earlier than earliest_write_conflict_snapshot, and
922
- // (2) No value exist earlier than the deletion.
923
- //
924
- // Note also that a deletion marker of type kTypeDeletionWithTimestamp
925
- // will be treated as a different user key unless the timestamp is older
926
- // than *full_history_ts_low_.
927
- ++iter_stats_.num_record_drop_obsolete;
928
- if (!bottommost_level_) {
929
- ++iter_stats_.num_optimized_del_drop_obsolete;
930
- }
931
- AdvanceInputIter();
932
- } else if ((ikey_.type == kTypeDeletion ||
933
- (ikey_.type == kTypeDeletionWithTimestamp &&
934
- cmp_with_history_ts_low_ < 0)) &&
935
- bottommost_level_) {
936
- // Handle the case where we have a delete key at the bottom most level
937
- // We can skip outputting the key iff there are no subsequent puts for
938
- // this key
939
- assert(!compaction_ || compaction_->KeyNotExistsBeyondOutputLevel(
940
- ikey_.user_key, &level_ptrs_));
941
- ParsedInternalKey next_ikey;
942
- AdvanceInputIter();
943
- #ifndef NDEBUG
944
- const Compaction* c =
945
- compaction_ ? compaction_->real_compaction() : nullptr;
946
- #endif
947
- TEST_SYNC_POINT_CALLBACK(
948
- "CompactionIterator::NextFromInput:BottommostDelete:1",
949
- const_cast<Compaction*>(c));
950
- // Skip over all versions of this key that happen to occur in the same
951
- // snapshot range as the delete.
952
- //
953
- // Note that a deletion marker of type kTypeDeletionWithTimestamp will be
954
- // considered to have a different user key unless the timestamp is older
955
- // than *full_history_ts_low_.
956
- //
957
- // Range tombstone start keys are skipped as they are not "real" keys.
958
- while (!IsPausingManualCompaction() && !IsShuttingDown() &&
959
- input_.Valid() &&
960
- (ParseInternalKey(input_.key(), &next_ikey, allow_data_in_errors_)
961
- .ok()) &&
962
- cmp_->EqualWithoutTimestamp(ikey_.user_key, next_ikey.user_key) &&
963
- (prev_snapshot == 0 || input_.IsDeleteRangeSentinelKey() ||
964
- DefinitelyNotInSnapshot(next_ikey.sequence, prev_snapshot))) {
965
- AdvanceInputIter();
966
- }
967
- // If you find you still need to output a row with this key, we need to
968
- // output the delete too
969
- if (input_.Valid() &&
970
- (ParseInternalKey(input_.key(), &next_ikey, allow_data_in_errors_)
971
- .ok()) &&
972
- cmp_->EqualWithoutTimestamp(ikey_.user_key, next_ikey.user_key)) {
973
- validity_info_.SetValid(ValidContext::kKeepDel);
974
- at_next_ = true;
975
- }
976
- } else if (ikey_.type == kTypeValuePreferredSeqno &&
977
- DefinitelyInSnapshot(ikey_.sequence, earliest_snapshot_) &&
978
- (bottommost_level_ ||
979
- (compaction_ != nullptr &&
980
- compaction_->KeyNotExistsBeyondOutputLevel(ikey_.user_key,
981
- &level_ptrs_)))) {
982
- // This section that attempts to swap preferred sequence number will not
983
- // be invoked if this is a CompactionIterator created for flush, since
984
- // `compaction_` will be nullptr and it's not bottommost either.
985
- //
986
- // The entries with the same user key and smaller sequence numbers are
987
- // all in this earliest snapshot range to be iterated. Since those entries
988
- // will be hidden by this entry [rule A], it's safe to swap in the
989
- // preferred seqno now.
990
- //
991
- // It's otherwise not safe to swap in the preferred seqno since it's
992
- // possible for entries in earlier snapshots to have sequence number that
993
- // is smaller than this entry's sequence number but bigger than this
994
- // entry's preferred sequence number. Swapping in the preferred sequence
995
- // number will break the internal key ordering invariant for this key.
996
- //
997
- // A special case involving range deletion is handled separately below.
998
- auto [unpacked_value, preferred_seqno] =
999
- ParsePackedValueWithSeqno(value_);
1000
- assert(preferred_seqno < ikey_.sequence || ikey_.sequence == 0);
1001
- if (range_del_agg_->ShouldDelete(
1002
- key_, RangeDelPositioningMode::kForwardTraversal)) {
1003
- ++iter_stats_.num_record_drop_hidden;
1004
- ++iter_stats_.num_record_drop_range_del;
1005
- AdvanceInputIter();
1006
- } else {
1007
- InternalKey ikey_after_swap(ikey_.user_key,
1008
- std::min(preferred_seqno, ikey_.sequence),
1009
- kTypeValue);
1010
- Slice ikey_after_swap_slice(*ikey_after_swap.rep());
1011
- if (range_del_agg_->ShouldDelete(
1012
- ikey_after_swap_slice,
1013
- RangeDelPositioningMode::kForwardTraversal)) {
1014
- // A range tombstone that doesn't cover this kTypeValuePreferredSeqno
1015
- // entry will end up covering the entry, so it's not safe to swap
1016
- // preferred sequence number. In this case, we output the entry as is.
1017
- validity_info_.SetValid(ValidContext::kNewUserKey);
1018
- } else {
1019
- if (ikey_.sequence != 0) {
1020
- iter_stats_.num_timed_put_swap_preferred_seqno++;
1021
- saved_seq_for_penul_check_ = ikey_.sequence;
1022
- ikey_.sequence = preferred_seqno;
1023
- }
1024
- ikey_.type = kTypeValue;
1025
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
1026
- key_ = current_key_.GetInternalKey();
1027
- ikey_.user_key = current_key_.GetUserKey();
1028
- value_ = unpacked_value;
1029
- validity_info_.SetValid(ValidContext::kSwapPreferredSeqno);
1030
- }
1031
- }
1032
- } else if (ikey_.type == kTypeMerge) {
1033
- if (!merge_helper_->HasOperator()) {
1034
- status_ = Status::InvalidArgument(
1035
- "merge_operator is not properly initialized.");
1036
- return;
1037
- }
1038
-
1039
- pinned_iters_mgr_.StartPinning();
1040
-
1041
- // We know the merge type entry is not hidden, otherwise we would
1042
- // have hit (A)
1043
- // We encapsulate the merge related state machine in a different
1044
- // object to minimize change to the existing flow.
1045
- merge_until_status_ = merge_helper_->MergeUntil(
1046
- &input_, range_del_agg_, prev_snapshot, bottommost_level_,
1047
- allow_data_in_errors_, blob_fetcher_.get(), full_history_ts_low_,
1048
- prefetch_buffers_.get(), &iter_stats_);
1049
- merge_out_iter_.SeekToFirst();
1050
-
1051
- if (!merge_until_status_.ok() &&
1052
- !merge_until_status_.IsMergeInProgress()) {
1053
- status_ = merge_until_status_;
1054
- return;
1055
- } else if (merge_out_iter_.Valid()) {
1056
- // NOTE: key, value, and ikey_ refer to old entries.
1057
- // These will be correctly set below.
1058
- key_ = merge_out_iter_.key();
1059
- value_ = merge_out_iter_.value();
1060
- pik_status = ParseInternalKey(key_, &ikey_, allow_data_in_errors_);
1061
- // MergeUntil stops when it encounters a corrupt key and does not
1062
- // include them in the result, so we expect the keys here to valid.
1063
- if (!pik_status.ok()) {
1064
- ROCKS_LOG_FATAL(
1065
- info_log_, "Invalid key %s in compaction. %s",
1066
- allow_data_in_errors_ ? key_.ToString(true).c_str() : "hidden",
1067
- pik_status.getState());
1068
- assert(false);
1069
- }
1070
- // Keep current_key_ in sync.
1071
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
1072
- key_ = current_key_.GetInternalKey();
1073
- ikey_.user_key = current_key_.GetUserKey();
1074
- validity_info_.SetValid(ValidContext::kMerge2);
1075
- } else {
1076
- // all merge operands were filtered out. reset the user key, since the
1077
- // batch consumed by the merge operator should not shadow any keys
1078
- // coming after the merges
1079
- has_current_user_key_ = false;
1080
- pinned_iters_mgr_.ReleasePinnedData();
1081
-
1082
- if (merge_helper_->FilteredUntil(&skip_until)) {
1083
- need_skip = true;
1084
- }
1085
- }
1086
- } else {
1087
- // 1. new user key -OR-
1088
- // 2. different snapshot stripe
1089
- // If user-defined timestamp is enabled, we consider keys for GC if they
1090
- // are below history_ts_low_. CompactionRangeDelAggregator::ShouldDelete()
1091
- // only considers range deletions that are at or below history_ts_low_ and
1092
- // trim_ts_. We drop keys here that are below history_ts_low_ and are
1093
- // covered by a range tombstone that is at or below history_ts_low_ and
1094
- // trim_ts.
1095
- bool should_delete = false;
1096
- if (!timestamp_size_ || cmp_with_history_ts_low_ < 0) {
1097
- should_delete = range_del_agg_->ShouldDelete(
1098
- key_, RangeDelPositioningMode::kForwardTraversal);
1099
- }
1100
- if (should_delete) {
1101
- ++iter_stats_.num_record_drop_hidden;
1102
- ++iter_stats_.num_record_drop_range_del;
1103
- AdvanceInputIter();
1104
- } else {
1105
- validity_info_.SetValid(ValidContext::kNewUserKey);
1106
- }
1107
- }
1108
-
1109
- if (need_skip) {
1110
- SkipUntil(skip_until);
1111
- }
1112
- }
1113
-
1114
- if (!Valid() && IsShuttingDown()) {
1115
- status_ = Status::ShutdownInProgress();
1116
- }
1117
-
1118
- if (IsPausingManualCompaction()) {
1119
- status_ = Status::Incomplete(Status::SubCode::kManualCompactionPaused);
1120
- }
1121
-
1122
- // Propagate corruption status from memtable itereator
1123
- if (!input_.Valid() && input_.status().IsCorruption()) {
1124
- status_ = input_.status();
1125
- }
1126
- }
1127
-
1128
- bool CompactionIterator::ExtractLargeValueIfNeededImpl() {
1129
- if (!blob_file_builder_) {
1130
- return false;
1131
- }
1132
-
1133
- blob_index_.clear();
1134
- const Status s = blob_file_builder_->Add(user_key(), value_, &blob_index_);
1135
-
1136
- if (!s.ok()) {
1137
- status_ = s;
1138
- validity_info_.Invalidate();
1139
-
1140
- return false;
1141
- }
1142
-
1143
- if (blob_index_.empty()) {
1144
- return false;
1145
- }
1146
-
1147
- value_ = blob_index_;
1148
-
1149
- return true;
1150
- }
1151
-
1152
- void CompactionIterator::ExtractLargeValueIfNeeded() {
1153
- assert(ikey_.type == kTypeValue);
1154
-
1155
- if (!ExtractLargeValueIfNeededImpl()) {
1156
- return;
1157
- }
1158
-
1159
- ikey_.type = kTypeBlobIndex;
1160
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
1161
- }
1162
-
1163
- void CompactionIterator::GarbageCollectBlobIfNeeded() {
1164
- assert(ikey_.type == kTypeBlobIndex);
1165
-
1166
- if (!compaction_) {
1167
- return;
1168
- }
1169
-
1170
- // GC for integrated BlobDB
1171
- if (compaction_->enable_blob_garbage_collection()) {
1172
- TEST_SYNC_POINT_CALLBACK(
1173
- "CompactionIterator::GarbageCollectBlobIfNeeded::TamperWithBlobIndex",
1174
- &value_);
1175
-
1176
- BlobIndex blob_index;
1177
-
1178
- {
1179
- const Status s = blob_index.DecodeFrom(value_);
1180
-
1181
- if (!s.ok()) {
1182
- status_ = s;
1183
- validity_info_.Invalidate();
1184
-
1185
- return;
1186
- }
1187
- }
1188
-
1189
- if (blob_index.file_number() >=
1190
- blob_garbage_collection_cutoff_file_number_) {
1191
- return;
1192
- }
1193
-
1194
- FilePrefetchBuffer* prefetch_buffer =
1195
- prefetch_buffers_ ? prefetch_buffers_->GetOrCreatePrefetchBuffer(
1196
- blob_index.file_number())
1197
- : nullptr;
1198
-
1199
- uint64_t bytes_read = 0;
1200
-
1201
- {
1202
- assert(blob_fetcher_);
1203
-
1204
- const Status s = blob_fetcher_->FetchBlob(
1205
- user_key(), blob_index, prefetch_buffer, &blob_value_, &bytes_read);
1206
-
1207
- if (!s.ok()) {
1208
- status_ = s;
1209
- validity_info_.Invalidate();
1210
-
1211
- return;
1212
- }
1213
- }
1214
-
1215
- ++iter_stats_.num_blobs_read;
1216
- iter_stats_.total_blob_bytes_read += bytes_read;
1217
-
1218
- ++iter_stats_.num_blobs_relocated;
1219
- iter_stats_.total_blob_bytes_relocated += blob_index.size();
1220
-
1221
- value_ = blob_value_;
1222
-
1223
- if (ExtractLargeValueIfNeededImpl()) {
1224
- return;
1225
- }
1226
-
1227
- ikey_.type = kTypeValue;
1228
- current_key_.UpdateInternalKey(ikey_.sequence, ikey_.type);
1229
-
1230
- return;
1231
- }
1232
-
1233
- // GC for stacked BlobDB
1234
- if (compaction_filter_ &&
1235
- compaction_filter_->IsStackedBlobDbInternalCompactionFilter()) {
1236
- const auto blob_decision = compaction_filter_->PrepareBlobOutput(
1237
- user_key(), value_, &compaction_filter_value_);
1238
-
1239
- if (blob_decision == CompactionFilter::BlobDecision::kCorruption) {
1240
- status_ =
1241
- Status::Corruption("Corrupted blob reference encountered during GC");
1242
- validity_info_.Invalidate();
1243
-
1244
- return;
1245
- }
1246
-
1247
- if (blob_decision == CompactionFilter::BlobDecision::kIOError) {
1248
- status_ = Status::IOError("Could not relocate blob during GC");
1249
- validity_info_.Invalidate();
1250
-
1251
- return;
1252
- }
1253
-
1254
- if (blob_decision == CompactionFilter::BlobDecision::kChangeValue) {
1255
- value_ = compaction_filter_value_;
1256
-
1257
- return;
1258
- }
1259
- }
1260
- }
1261
-
1262
- void CompactionIterator::DecideOutputLevel() {
1263
- assert(compaction_->SupportsPerKeyPlacement());
1264
- output_to_penultimate_level_ = false;
1265
- // if the key is newer than the cutoff sequence or within the earliest
1266
- // snapshot, it should output to the penultimate level.
1267
- if (ikey_.sequence > preclude_last_level_min_seqno_ ||
1268
- ikey_.sequence > earliest_snapshot_) {
1269
- output_to_penultimate_level_ = true;
1270
- }
1271
-
1272
- #ifndef NDEBUG
1273
- // Could be overridden by unittest
1274
- PerKeyPlacementContext context(level_, ikey_.user_key, value_, ikey_.sequence,
1275
- output_to_penultimate_level_);
1276
- TEST_SYNC_POINT_CALLBACK("CompactionIterator::PrepareOutput.context",
1277
- &context);
1278
- if (ikey_.sequence > earliest_snapshot_) {
1279
- output_to_penultimate_level_ = true;
1280
- }
1281
- #endif // NDEBUG
1282
-
1283
- // saved_seq_for_penul_check_ is populated in `NextFromInput` when the
1284
- // entry's sequence number is non zero and validity context for output this
1285
- // entry is kSwapPreferredSeqno for use in `DecideOutputLevel`. It should be
1286
- // cleared out here unconditionally. Otherwise, it may end up getting consumed
1287
- // incorrectly by a different entry.
1288
- SequenceNumber seq_for_range_check =
1289
- (saved_seq_for_penul_check_.has_value() &&
1290
- saved_seq_for_penul_check_.value() != kMaxSequenceNumber)
1291
- ? saved_seq_for_penul_check_.value()
1292
- : ikey_.sequence;
1293
- saved_seq_for_penul_check_ = std::nullopt;
1294
- ParsedInternalKey ikey_for_range_check = ikey_;
1295
- if (seq_for_range_check != ikey_.sequence) {
1296
- ikey_for_range_check.sequence = seq_for_range_check;
1297
- }
1298
- if (output_to_penultimate_level_) {
1299
- // If it's decided to output to the penultimate level, but unsafe to do so,
1300
- // still output to the last level. For example, moving the data from a lower
1301
- // level to a higher level outside of the higher-level input key range is
1302
- // considered unsafe, because the key may conflict with higher-level SSTs
1303
- // not from this compaction.
1304
- // TODO: add statistic for declined output_to_penultimate_level
1305
- bool safe_to_penultimate_level =
1306
- compaction_->WithinPenultimateLevelOutputRange(ikey_for_range_check);
1307
- if (!safe_to_penultimate_level) {
1308
- output_to_penultimate_level_ = false;
1309
- // It could happen when disable/enable `last_level_temperature` while
1310
- // holding a snapshot. When `last_level_temperature` is not set
1311
- // (==kUnknown), the data newer than any snapshot is pushed to the last
1312
- // level, but when the per_key_placement feature is enabled on the fly,
1313
- // the data later than the snapshot has to be moved to the penultimate
1314
- // level, which may or may not be safe. So the user needs to make sure all
1315
- // snapshot is released before enabling `last_level_temperature` feature
1316
- // We will migrate the feature to `last_level_temperature` and maybe make
1317
- // it not dynamically changeable.
1318
- if (seq_for_range_check > earliest_snapshot_) {
1319
- status_ = Status::Corruption(
1320
- "Unsafe to store Seq later than snapshot in the last level if "
1321
- "per_key_placement is enabled");
1322
- }
1323
- }
1324
- }
1325
- }
1326
-
1327
- void CompactionIterator::PrepareOutput() {
1328
- if (Valid()) {
1329
- if (LIKELY(!is_range_del_)) {
1330
- if (ikey_.type == kTypeValue) {
1331
- ExtractLargeValueIfNeeded();
1332
- } else if (ikey_.type == kTypeBlobIndex) {
1333
- GarbageCollectBlobIfNeeded();
1334
- }
1335
-
1336
- // For range del sentinel, we don't use it to cut files for bottommost
1337
- // compaction. So it should not make a difference which output level we
1338
- // decide.
1339
- if (compaction_ != nullptr && compaction_->SupportsPerKeyPlacement()) {
1340
- DecideOutputLevel();
1341
- }
1342
- }
1343
-
1344
- // Zeroing out the sequence number leads to better compression.
1345
- // If this is the bottommost level (no files in lower levels)
1346
- // and the earliest snapshot is larger than this seqno
1347
- // and the userkey differs from the last userkey in compaction
1348
- // then we can squash the seqno to zero.
1349
- //
1350
- // This is safe for TransactionDB write-conflict checking since transactions
1351
- // only care about sequence number larger than any active snapshots.
1352
- //
1353
- // Can we do the same for levels above bottom level as long as
1354
- // KeyNotExistsBeyondOutputLevel() return true?
1355
- if (Valid() && compaction_ != nullptr &&
1356
- !compaction_->allow_ingest_behind() && bottommost_level_ &&
1357
- DefinitelyInSnapshot(ikey_.sequence, earliest_snapshot_) &&
1358
- ikey_.type != kTypeMerge && current_key_committed_ &&
1359
- !output_to_penultimate_level_ &&
1360
- ikey_.sequence < preserve_time_min_seqno_ && !is_range_del_) {
1361
- if (ikey_.type == kTypeDeletion ||
1362
- (ikey_.type == kTypeSingleDeletion && timestamp_size_ == 0)) {
1363
- ROCKS_LOG_FATAL(
1364
- info_log_,
1365
- "Unexpected key %s for seq-zero optimization. "
1366
- "earliest_snapshot %" PRIu64
1367
- ", earliest_write_conflict_snapshot %" PRIu64
1368
- " job_snapshot %" PRIu64
1369
- ". timestamp_size: %d full_history_ts_low_ %s. validity %x",
1370
- ikey_.DebugString(allow_data_in_errors_, true).c_str(),
1371
- earliest_snapshot_, earliest_write_conflict_snapshot_,
1372
- job_snapshot_, static_cast<int>(timestamp_size_),
1373
- full_history_ts_low_ != nullptr
1374
- ? Slice(*full_history_ts_low_).ToString(true).c_str()
1375
- : "null",
1376
- validity_info_.rep);
1377
- assert(false);
1378
- }
1379
- ikey_.sequence = 0;
1380
- last_key_seq_zeroed_ = true;
1381
- TEST_SYNC_POINT_CALLBACK("CompactionIterator::PrepareOutput:ZeroingSeq",
1382
- &ikey_);
1383
- if (!timestamp_size_) {
1384
- current_key_.UpdateInternalKey(0, ikey_.type);
1385
- } else if (full_history_ts_low_ && cmp_with_history_ts_low_ < 0) {
1386
- // We can also zero out timestamp for better compression.
1387
- // For the same user key (excluding timestamp), the timestamp-based
1388
- // history can be collapsed to save some space if the timestamp is
1389
- // older than *full_history_ts_low_.
1390
- const std::string kTsMin(timestamp_size_, static_cast<char>(0));
1391
- const Slice ts_slice = kTsMin;
1392
- ikey_.SetTimestamp(ts_slice);
1393
- current_key_.UpdateInternalKey(0, ikey_.type, &ts_slice);
1394
- }
1395
- }
1396
- }
1397
- }
1398
-
1399
- inline SequenceNumber CompactionIterator::findEarliestVisibleSnapshot(
1400
- SequenceNumber in, SequenceNumber* prev_snapshot) {
1401
- assert(snapshots_->size());
1402
- if (snapshots_->size() == 0) {
1403
- ROCKS_LOG_FATAL(info_log_,
1404
- "No snapshot left in findEarliestVisibleSnapshot");
1405
- }
1406
- auto snapshots_iter =
1407
- std::lower_bound(snapshots_->begin(), snapshots_->end(), in);
1408
- assert(prev_snapshot != nullptr);
1409
- if (snapshots_iter == snapshots_->begin()) {
1410
- *prev_snapshot = 0;
1411
- } else {
1412
- *prev_snapshot = *std::prev(snapshots_iter);
1413
- if (*prev_snapshot >= in) {
1414
- ROCKS_LOG_FATAL(info_log_,
1415
- "*prev_snapshot (%" PRIu64 ") >= in (%" PRIu64
1416
- ") in findEarliestVisibleSnapshot",
1417
- *prev_snapshot, in);
1418
- assert(false);
1419
- }
1420
- }
1421
- if (snapshot_checker_ == nullptr) {
1422
- return snapshots_iter != snapshots_->end() ? *snapshots_iter
1423
- : kMaxSequenceNumber;
1424
- }
1425
- bool has_released_snapshot = !released_snapshots_.empty();
1426
- for (; snapshots_iter != snapshots_->end(); ++snapshots_iter) {
1427
- auto cur = *snapshots_iter;
1428
- if (in > cur) {
1429
- ROCKS_LOG_FATAL(info_log_,
1430
- "in (%" PRIu64 ") > cur (%" PRIu64
1431
- ") in findEarliestVisibleSnapshot",
1432
- in, cur);
1433
- assert(false);
1434
- }
1435
- // Skip if cur is in released_snapshots.
1436
- if (has_released_snapshot && released_snapshots_.count(cur) > 0) {
1437
- continue;
1438
- }
1439
- auto res = snapshot_checker_->CheckInSnapshot(in, cur);
1440
- if (res == SnapshotCheckerResult::kInSnapshot) {
1441
- return cur;
1442
- } else if (res == SnapshotCheckerResult::kSnapshotReleased) {
1443
- released_snapshots_.insert(cur);
1444
- }
1445
- *prev_snapshot = cur;
1446
- }
1447
- return kMaxSequenceNumber;
1448
- }
1449
-
1450
- uint64_t CompactionIterator::ComputeBlobGarbageCollectionCutoffFileNumber(
1451
- const CompactionProxy* compaction) {
1452
- if (!compaction) {
1453
- return 0;
1454
- }
1455
-
1456
- if (!compaction->enable_blob_garbage_collection()) {
1457
- return 0;
1458
- }
1459
-
1460
- const Version* const version = compaction->input_version();
1461
- assert(version);
1462
-
1463
- const VersionStorageInfo* const storage_info = version->storage_info();
1464
- assert(storage_info);
1465
-
1466
- const auto& blob_files = storage_info->GetBlobFiles();
1467
-
1468
- const size_t cutoff_index = static_cast<size_t>(
1469
- compaction->blob_garbage_collection_age_cutoff() * blob_files.size());
1470
-
1471
- if (cutoff_index >= blob_files.size()) {
1472
- return std::numeric_limits<uint64_t>::max();
1473
- }
1474
-
1475
- const auto& meta = blob_files[cutoff_index];
1476
- assert(meta);
1477
-
1478
- return meta->GetBlobFileNumber();
1479
- }
1480
-
1481
- std::unique_ptr<BlobFetcher> CompactionIterator::CreateBlobFetcherIfNeeded(
1482
- const CompactionProxy* compaction) {
1483
- if (!compaction) {
1484
- return nullptr;
1485
- }
1486
-
1487
- const Version* const version = compaction->input_version();
1488
- if (!version) {
1489
- return nullptr;
1490
- }
1491
-
1492
- ReadOptions read_options;
1493
- read_options.io_activity = Env::IOActivity::kCompaction;
1494
- read_options.fill_cache = false;
1495
-
1496
- return std::unique_ptr<BlobFetcher>(new BlobFetcher(version, read_options));
1497
- }
1498
-
1499
- std::unique_ptr<PrefetchBufferCollection>
1500
- CompactionIterator::CreatePrefetchBufferCollectionIfNeeded(
1501
- const CompactionProxy* compaction) {
1502
- if (!compaction) {
1503
- return nullptr;
1504
- }
1505
-
1506
- if (!compaction->input_version()) {
1507
- return nullptr;
1508
- }
1509
-
1510
- if (compaction->allow_mmap_reads()) {
1511
- return nullptr;
1512
- }
1513
-
1514
- const uint64_t readahead_size = compaction->blob_compaction_readahead_size();
1515
- if (!readahead_size) {
1516
- return nullptr;
1517
- }
1518
-
1519
- return std::unique_ptr<PrefetchBufferCollection>(
1520
- new PrefetchBufferCollection(readahead_size));
1521
- }
1522
-
1523
- } // namespace ROCKSDB_NAMESPACE