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,1859 +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
- // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
7
- // Use of this source code is governed by a BSD-style license that can be
8
- // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
-
10
- #include "db/column_family.h"
11
-
12
- #include <algorithm>
13
- #include <cinttypes>
14
- #include <limits>
15
- #include <sstream>
16
- #include <string>
17
- #include <vector>
18
-
19
- #include "db/blob/blob_file_cache.h"
20
- #include "db/blob/blob_source.h"
21
- #include "db/compaction/compaction_picker.h"
22
- #include "db/compaction/compaction_picker_fifo.h"
23
- #include "db/compaction/compaction_picker_level.h"
24
- #include "db/compaction/compaction_picker_universal.h"
25
- #include "db/db_impl/db_impl.h"
26
- #include "db/internal_stats.h"
27
- #include "db/job_context.h"
28
- #include "db/range_del_aggregator.h"
29
- #include "db/table_properties_collector.h"
30
- #include "db/version_set.h"
31
- #include "db/write_controller.h"
32
- #include "file/sst_file_manager_impl.h"
33
- #include "logging/logging.h"
34
- #include "monitoring/thread_status_util.h"
35
- #include "options/options_helper.h"
36
- #include "port/port.h"
37
- #include "rocksdb/convenience.h"
38
- #include "rocksdb/table.h"
39
- #include "table/merging_iterator.h"
40
- #include "util/autovector.h"
41
- #include "util/cast_util.h"
42
- #include "util/compression.h"
43
-
44
- namespace ROCKSDB_NAMESPACE {
45
-
46
- ColumnFamilyHandleImpl::ColumnFamilyHandleImpl(
47
- ColumnFamilyData* column_family_data, DBImpl* db, InstrumentedMutex* mutex)
48
- : cfd_(column_family_data), db_(db), mutex_(mutex) {
49
- if (cfd_ != nullptr) {
50
- cfd_->Ref();
51
- }
52
- }
53
-
54
- ColumnFamilyHandleImpl::~ColumnFamilyHandleImpl() {
55
- if (cfd_ != nullptr) {
56
- for (auto& listener : cfd_->ioptions()->listeners) {
57
- listener->OnColumnFamilyHandleDeletionStarted(this);
58
- }
59
- // Job id == 0 means that this is not our background process, but rather
60
- // user thread
61
- // Need to hold some shared pointers owned by the initial_cf_options
62
- // before final cleaning up finishes.
63
- ColumnFamilyOptions initial_cf_options_copy = cfd_->initial_cf_options();
64
- JobContext job_context(0);
65
- mutex_->Lock();
66
- bool dropped = cfd_->IsDropped();
67
- if (cfd_->UnrefAndTryDelete()) {
68
- if (dropped) {
69
- db_->FindObsoleteFiles(&job_context, false, true);
70
- }
71
- }
72
- mutex_->Unlock();
73
- if (job_context.HaveSomethingToDelete()) {
74
- bool defer_purge =
75
- db_->immutable_db_options().avoid_unnecessary_blocking_io;
76
- db_->PurgeObsoleteFiles(job_context, defer_purge);
77
- }
78
- job_context.Clean();
79
- }
80
- }
81
-
82
- uint32_t ColumnFamilyHandleImpl::GetID() const { return cfd()->GetID(); }
83
-
84
- const std::string& ColumnFamilyHandleImpl::GetName() const {
85
- return cfd()->GetName();
86
- }
87
-
88
- Status ColumnFamilyHandleImpl::GetDescriptor(ColumnFamilyDescriptor* desc) {
89
- // accessing mutable cf-options requires db mutex.
90
- InstrumentedMutexLock l(mutex_);
91
- *desc = ColumnFamilyDescriptor(cfd()->GetName(), cfd()->GetLatestCFOptions());
92
- return Status::OK();
93
- }
94
-
95
- const Comparator* ColumnFamilyHandleImpl::GetComparator() const {
96
- return cfd()->user_comparator();
97
- }
98
-
99
- void GetInternalTblPropCollFactory(
100
- const ImmutableCFOptions& ioptions,
101
- InternalTblPropCollFactories* internal_tbl_prop_coll_factories) {
102
- assert(internal_tbl_prop_coll_factories);
103
-
104
- auto& collector_factories = ioptions.table_properties_collector_factories;
105
- for (size_t i = 0; i < ioptions.table_properties_collector_factories.size();
106
- ++i) {
107
- assert(collector_factories[i]);
108
- internal_tbl_prop_coll_factories->emplace_back(
109
- new UserKeyTablePropertiesCollectorFactory(collector_factories[i]));
110
- }
111
- }
112
-
113
- Status CheckCompressionSupported(const ColumnFamilyOptions& cf_options) {
114
- if (!cf_options.compression_per_level.empty()) {
115
- for (size_t level = 0; level < cf_options.compression_per_level.size();
116
- ++level) {
117
- if (!CompressionTypeSupported(cf_options.compression_per_level[level])) {
118
- return Status::InvalidArgument(
119
- "Compression type " +
120
- CompressionTypeToString(cf_options.compression_per_level[level]) +
121
- " is not linked with the binary.");
122
- }
123
- }
124
- } else {
125
- if (!CompressionTypeSupported(cf_options.compression)) {
126
- return Status::InvalidArgument(
127
- "Compression type " +
128
- CompressionTypeToString(cf_options.compression) +
129
- " is not linked with the binary.");
130
- }
131
- }
132
- if (cf_options.compression_opts.zstd_max_train_bytes > 0) {
133
- if (cf_options.compression_opts.use_zstd_dict_trainer) {
134
- if (!ZSTD_TrainDictionarySupported()) {
135
- return Status::InvalidArgument(
136
- "zstd dictionary trainer cannot be used because ZSTD 1.1.3+ "
137
- "is not linked with the binary.");
138
- }
139
- } else if (!ZSTD_FinalizeDictionarySupported()) {
140
- return Status::InvalidArgument(
141
- "zstd finalizeDictionary cannot be used because ZSTD 1.4.5+ "
142
- "is not linked with the binary.");
143
- }
144
- if (cf_options.compression_opts.max_dict_bytes == 0) {
145
- return Status::InvalidArgument(
146
- "The dictionary size limit (`CompressionOptions::max_dict_bytes`) "
147
- "should be nonzero if we're using zstd's dictionary generator.");
148
- }
149
- }
150
-
151
- if (!CompressionTypeSupported(cf_options.blob_compression_type)) {
152
- std::ostringstream oss;
153
- oss << "The specified blob compression type "
154
- << CompressionTypeToString(cf_options.blob_compression_type)
155
- << " is not available.";
156
-
157
- return Status::InvalidArgument(oss.str());
158
- }
159
-
160
- return Status::OK();
161
- }
162
-
163
- Status CheckConcurrentWritesSupported(const ColumnFamilyOptions& cf_options) {
164
- if (cf_options.inplace_update_support) {
165
- return Status::InvalidArgument(
166
- "In-place memtable updates (inplace_update_support) is not compatible "
167
- "with concurrent writes (allow_concurrent_memtable_write)");
168
- }
169
- if (!cf_options.memtable_factory->IsInsertConcurrentlySupported()) {
170
- return Status::InvalidArgument(
171
- "Memtable doesn't concurrent writes (allow_concurrent_memtable_write)");
172
- }
173
- return Status::OK();
174
- }
175
-
176
- Status CheckCFPathsSupported(const DBOptions& db_options,
177
- const ColumnFamilyOptions& cf_options) {
178
- // More than one cf_paths are supported only in universal
179
- // and level compaction styles. This function also checks the case
180
- // in which cf_paths is not specified, which results in db_paths
181
- // being used.
182
- if ((cf_options.compaction_style != kCompactionStyleUniversal) &&
183
- (cf_options.compaction_style != kCompactionStyleLevel)) {
184
- if (cf_options.cf_paths.size() > 1) {
185
- return Status::NotSupported(
186
- "More than one CF paths are only supported in "
187
- "universal and level compaction styles. ");
188
- } else if (cf_options.cf_paths.empty() && db_options.db_paths.size() > 1) {
189
- return Status::NotSupported(
190
- "More than one DB paths are only supported in "
191
- "universal and level compaction styles. ");
192
- }
193
- }
194
- return Status::OK();
195
- }
196
-
197
- namespace {
198
- const uint64_t kDefaultTtl = 0xfffffffffffffffe;
199
- const uint64_t kDefaultPeriodicCompSecs = 0xfffffffffffffffe;
200
- } // anonymous namespace
201
-
202
- ColumnFamilyOptions SanitizeOptions(const ImmutableDBOptions& db_options,
203
- const ColumnFamilyOptions& src) {
204
- ColumnFamilyOptions result = src;
205
- size_t clamp_max = std::conditional<
206
- sizeof(size_t) == 4, std::integral_constant<size_t, 0xffffffff>,
207
- std::integral_constant<uint64_t, 64ull << 30>>::type::value;
208
- ClipToRange(&result.write_buffer_size, (static_cast<size_t>(64)) << 10,
209
- clamp_max);
210
- // if user sets arena_block_size, we trust user to use this value. Otherwise,
211
- // calculate a proper value from writer_buffer_size;
212
- if (result.arena_block_size <= 0) {
213
- result.arena_block_size =
214
- std::min(size_t{1024 * 1024}, result.write_buffer_size / 8);
215
-
216
- // Align up to 4k
217
- const size_t align = 4 * 1024;
218
- result.arena_block_size =
219
- ((result.arena_block_size + align - 1) / align) * align;
220
- }
221
- result.min_write_buffer_number_to_merge =
222
- std::min(result.min_write_buffer_number_to_merge,
223
- result.max_write_buffer_number - 1);
224
- if (result.min_write_buffer_number_to_merge < 1) {
225
- result.min_write_buffer_number_to_merge = 1;
226
- }
227
-
228
- if (db_options.atomic_flush && result.min_write_buffer_number_to_merge > 1) {
229
- ROCKS_LOG_WARN(
230
- db_options.logger,
231
- "Currently, if atomic_flush is true, then triggering flush for any "
232
- "column family internally (non-manual flush) will trigger flushing "
233
- "all column families even if the number of memtables is smaller "
234
- "min_write_buffer_number_to_merge. Therefore, configuring "
235
- "min_write_buffer_number_to_merge > 1 is not compatible and should "
236
- "be satinized to 1. Not doing so will lead to data loss and "
237
- "inconsistent state across multiple column families when WAL is "
238
- "disabled, which is a common setting for atomic flush");
239
-
240
- result.min_write_buffer_number_to_merge = 1;
241
- }
242
-
243
- if (result.num_levels < 1) {
244
- result.num_levels = 1;
245
- }
246
- if (result.compaction_style == kCompactionStyleLevel &&
247
- result.num_levels < 2) {
248
- result.num_levels = 2;
249
- }
250
-
251
- if (result.compaction_style == kCompactionStyleUniversal &&
252
- db_options.allow_ingest_behind && result.num_levels < 3) {
253
- result.num_levels = 3;
254
- }
255
-
256
- if (result.max_write_buffer_number < 2) {
257
- result.max_write_buffer_number = 2;
258
- }
259
- // fall back max_write_buffer_number_to_maintain if
260
- // max_write_buffer_size_to_maintain is not set
261
- if (result.max_write_buffer_size_to_maintain < 0) {
262
- result.max_write_buffer_size_to_maintain =
263
- result.max_write_buffer_number *
264
- static_cast<int64_t>(result.write_buffer_size);
265
- } else if (result.max_write_buffer_size_to_maintain == 0 &&
266
- result.max_write_buffer_number_to_maintain < 0) {
267
- result.max_write_buffer_number_to_maintain = result.max_write_buffer_number;
268
- }
269
- // bloom filter size shouldn't exceed 1/4 of memtable size.
270
- if (result.memtable_prefix_bloom_size_ratio > 0.25) {
271
- result.memtable_prefix_bloom_size_ratio = 0.25;
272
- } else if (result.memtable_prefix_bloom_size_ratio < 0) {
273
- result.memtable_prefix_bloom_size_ratio = 0;
274
- }
275
-
276
- if (!result.prefix_extractor) {
277
- assert(result.memtable_factory);
278
- Slice name = result.memtable_factory->Name();
279
- if (name.compare("HashSkipListRepFactory") == 0 ||
280
- name.compare("HashLinkListRepFactory") == 0) {
281
- result.memtable_factory = std::make_shared<SkipListFactory>();
282
- }
283
- }
284
-
285
- if (result.compaction_style == kCompactionStyleFIFO) {
286
- // since we delete level0 files in FIFO compaction when there are too many
287
- // of them, these options don't really mean anything
288
- result.level0_slowdown_writes_trigger = std::numeric_limits<int>::max();
289
- result.level0_stop_writes_trigger = std::numeric_limits<int>::max();
290
- }
291
-
292
- if (result.max_bytes_for_level_multiplier <= 0) {
293
- result.max_bytes_for_level_multiplier = 1;
294
- }
295
-
296
- if (result.level0_file_num_compaction_trigger == 0) {
297
- ROCKS_LOG_WARN(db_options.logger,
298
- "level0_file_num_compaction_trigger cannot be 0");
299
- result.level0_file_num_compaction_trigger = 1;
300
- }
301
-
302
- if (result.level0_stop_writes_trigger <
303
- result.level0_slowdown_writes_trigger ||
304
- result.level0_slowdown_writes_trigger <
305
- result.level0_file_num_compaction_trigger) {
306
- ROCKS_LOG_WARN(db_options.logger,
307
- "This condition must be satisfied: "
308
- "level0_stop_writes_trigger(%d) >= "
309
- "level0_slowdown_writes_trigger(%d) >= "
310
- "level0_file_num_compaction_trigger(%d)",
311
- result.level0_stop_writes_trigger,
312
- result.level0_slowdown_writes_trigger,
313
- result.level0_file_num_compaction_trigger);
314
- if (result.level0_slowdown_writes_trigger <
315
- result.level0_file_num_compaction_trigger) {
316
- result.level0_slowdown_writes_trigger =
317
- result.level0_file_num_compaction_trigger;
318
- }
319
- if (result.level0_stop_writes_trigger <
320
- result.level0_slowdown_writes_trigger) {
321
- result.level0_stop_writes_trigger = result.level0_slowdown_writes_trigger;
322
- }
323
- ROCKS_LOG_WARN(db_options.logger,
324
- "Adjust the value to "
325
- "level0_stop_writes_trigger(%d) "
326
- "level0_slowdown_writes_trigger(%d) "
327
- "level0_file_num_compaction_trigger(%d)",
328
- result.level0_stop_writes_trigger,
329
- result.level0_slowdown_writes_trigger,
330
- result.level0_file_num_compaction_trigger);
331
- }
332
-
333
- if (result.soft_pending_compaction_bytes_limit == 0) {
334
- result.soft_pending_compaction_bytes_limit =
335
- result.hard_pending_compaction_bytes_limit;
336
- } else if (result.hard_pending_compaction_bytes_limit > 0 &&
337
- result.soft_pending_compaction_bytes_limit >
338
- result.hard_pending_compaction_bytes_limit) {
339
- result.soft_pending_compaction_bytes_limit =
340
- result.hard_pending_compaction_bytes_limit;
341
- }
342
-
343
- // When the DB is stopped, it's possible that there are some .trash files that
344
- // were not deleted yet, when we open the DB we will find these .trash files
345
- // and schedule them to be deleted (or delete immediately if SstFileManager
346
- // was not used)
347
- auto sfm =
348
- static_cast<SstFileManagerImpl*>(db_options.sst_file_manager.get());
349
- for (size_t i = 0; i < result.cf_paths.size(); i++) {
350
- DeleteScheduler::CleanupDirectory(db_options.env, sfm,
351
- result.cf_paths[i].path)
352
- .PermitUncheckedError();
353
- }
354
-
355
- if (result.cf_paths.empty()) {
356
- result.cf_paths = db_options.db_paths;
357
- }
358
-
359
- if (result.level_compaction_dynamic_level_bytes) {
360
- if (result.compaction_style != kCompactionStyleLevel) {
361
- ROCKS_LOG_INFO(db_options.info_log.get(),
362
- "level_compaction_dynamic_level_bytes only makes sense "
363
- "for level-based compaction");
364
- result.level_compaction_dynamic_level_bytes = false;
365
- } else if (result.cf_paths.size() > 1U) {
366
- // we don't yet know how to make both of this feature and multiple
367
- // DB path work.
368
- ROCKS_LOG_WARN(db_options.info_log.get(),
369
- "multiple cf_paths/db_paths and "
370
- "level_compaction_dynamic_level_bytes "
371
- "can't be used together");
372
- result.level_compaction_dynamic_level_bytes = false;
373
- }
374
- }
375
-
376
- if (result.max_compaction_bytes == 0) {
377
- result.max_compaction_bytes = result.target_file_size_base * 25;
378
- }
379
-
380
- bool is_block_based_table = (result.table_factory->IsInstanceOf(
381
- TableFactory::kBlockBasedTableName()));
382
-
383
- const uint64_t kAdjustedTtl = 30 * 24 * 60 * 60;
384
- if (result.ttl == kDefaultTtl) {
385
- if (is_block_based_table) {
386
- // FIFO also requires max_open_files=-1, which is checked in
387
- // ValidateOptions().
388
- result.ttl = kAdjustedTtl;
389
- } else {
390
- result.ttl = 0;
391
- }
392
- }
393
-
394
- const uint64_t kAdjustedPeriodicCompSecs = 30 * 24 * 60 * 60;
395
- if (result.compaction_style == kCompactionStyleLevel) {
396
- if ((result.compaction_filter != nullptr ||
397
- result.compaction_filter_factory != nullptr) &&
398
- result.periodic_compaction_seconds == kDefaultPeriodicCompSecs &&
399
- is_block_based_table) {
400
- result.periodic_compaction_seconds = kAdjustedPeriodicCompSecs;
401
- }
402
- } else if (result.compaction_style == kCompactionStyleUniversal) {
403
- if (result.periodic_compaction_seconds == kDefaultPeriodicCompSecs &&
404
- is_block_based_table) {
405
- result.periodic_compaction_seconds = kAdjustedPeriodicCompSecs;
406
- }
407
- } else if (result.compaction_style == kCompactionStyleFIFO) {
408
- if (result.periodic_compaction_seconds != kDefaultPeriodicCompSecs) {
409
- ROCKS_LOG_WARN(
410
- db_options.info_log.get(),
411
- "periodic_compaction_seconds does not support FIFO compaction. You"
412
- "may want to set option TTL instead.");
413
- }
414
- if (result.last_level_temperature != Temperature::kUnknown) {
415
- ROCKS_LOG_WARN(
416
- db_options.info_log.get(),
417
- "last_level_temperature is ignored with FIFO compaction. Consider "
418
- "CompactionOptionsFIFO::file_temperature_age_thresholds.");
419
- result.last_level_temperature = Temperature::kUnknown;
420
- }
421
- }
422
-
423
- // For universal compaction, `ttl` and `periodic_compaction_seconds` mean the
424
- // same thing, take the stricter value.
425
- if (result.compaction_style == kCompactionStyleUniversal) {
426
- if (result.periodic_compaction_seconds == 0) {
427
- result.periodic_compaction_seconds = result.ttl;
428
- } else if (result.ttl != 0) {
429
- result.periodic_compaction_seconds =
430
- std::min(result.ttl, result.periodic_compaction_seconds);
431
- }
432
- }
433
-
434
- if (result.periodic_compaction_seconds == kDefaultPeriodicCompSecs) {
435
- result.periodic_compaction_seconds = 0;
436
- }
437
-
438
- return result;
439
- }
440
-
441
- int SuperVersion::dummy = 0;
442
- void* const SuperVersion::kSVInUse = &SuperVersion::dummy;
443
- void* const SuperVersion::kSVObsolete = nullptr;
444
-
445
- SuperVersion::~SuperVersion() {
446
- for (auto td : to_delete) {
447
- delete td;
448
- }
449
- }
450
-
451
- SuperVersion* SuperVersion::Ref() {
452
- refs.fetch_add(1, std::memory_order_relaxed);
453
- return this;
454
- }
455
-
456
- bool SuperVersion::Unref() {
457
- // fetch_sub returns the previous value of ref
458
- uint32_t previous_refs = refs.fetch_sub(1);
459
- assert(previous_refs > 0);
460
- return previous_refs == 1;
461
- }
462
-
463
- void SuperVersion::Cleanup() {
464
- assert(refs.load(std::memory_order_relaxed) == 0);
465
- // Since this SuperVersion object is being deleted,
466
- // decrement reference to the immutable MemtableList
467
- // this SV object was pointing to.
468
- imm->Unref(&to_delete);
469
- MemTable* m = mem->Unref();
470
- if (m != nullptr) {
471
- auto* memory_usage = current->cfd()->imm()->current_memory_usage();
472
- assert(*memory_usage >= m->ApproximateMemoryUsage());
473
- *memory_usage -= m->ApproximateMemoryUsage();
474
- to_delete.push_back(m);
475
- }
476
- current->Unref();
477
- cfd->UnrefAndTryDelete();
478
- }
479
-
480
- void SuperVersion::Init(
481
- ColumnFamilyData* new_cfd, MemTable* new_mem, MemTableListVersion* new_imm,
482
- Version* new_current,
483
- std::shared_ptr<const SeqnoToTimeMapping> new_seqno_to_time_mapping) {
484
- cfd = new_cfd;
485
- mem = new_mem;
486
- imm = new_imm;
487
- current = new_current;
488
- full_history_ts_low = cfd->GetFullHistoryTsLow();
489
- seqno_to_time_mapping = std::move(new_seqno_to_time_mapping);
490
- cfd->Ref();
491
- mem->Ref();
492
- imm->Ref();
493
- current->Ref();
494
- refs.store(1, std::memory_order_relaxed);
495
- }
496
-
497
- namespace {
498
- void SuperVersionUnrefHandle(void* ptr) {
499
- // UnrefHandle is called when a thread exits or a ThreadLocalPtr gets
500
- // destroyed. When the former happens, the thread shouldn't see kSVInUse.
501
- // When the latter happens, only super_version_ holds a reference
502
- // to ColumnFamilyData, so no further queries are possible.
503
- SuperVersion* sv = static_cast<SuperVersion*>(ptr);
504
- bool was_last_ref __attribute__((__unused__));
505
- was_last_ref = sv->Unref();
506
- // Thread-local SuperVersions can't outlive ColumnFamilyData::super_version_.
507
- // This is important because we can't do SuperVersion cleanup here.
508
- // That would require locking DB mutex, which would deadlock because
509
- // SuperVersionUnrefHandle is called with locked ThreadLocalPtr mutex.
510
- assert(!was_last_ref);
511
- }
512
- } // anonymous namespace
513
-
514
- std::vector<std::string> ColumnFamilyData::GetDbPaths() const {
515
- std::vector<std::string> paths;
516
- paths.reserve(ioptions_.cf_paths.size());
517
- for (const DbPath& db_path : ioptions_.cf_paths) {
518
- paths.emplace_back(db_path.path);
519
- }
520
- return paths;
521
- }
522
-
523
- const uint32_t ColumnFamilyData::kDummyColumnFamilyDataId =
524
- std::numeric_limits<uint32_t>::max();
525
-
526
- ColumnFamilyData::ColumnFamilyData(
527
- uint32_t id, const std::string& name, Version* _dummy_versions,
528
- Cache* _table_cache, WriteBufferManager* write_buffer_manager,
529
- const ColumnFamilyOptions& cf_options, const ImmutableDBOptions& db_options,
530
- const FileOptions* file_options, ColumnFamilySet* column_family_set,
531
- BlockCacheTracer* const block_cache_tracer,
532
- const std::shared_ptr<IOTracer>& io_tracer, const std::string& db_id,
533
- const std::string& db_session_id)
534
- : id_(id),
535
- name_(name),
536
- dummy_versions_(_dummy_versions),
537
- current_(nullptr),
538
- refs_(0),
539
- initialized_(false),
540
- dropped_(false),
541
- flush_skip_reschedule_(false),
542
- internal_comparator_(cf_options.comparator),
543
- initial_cf_options_(SanitizeOptions(db_options, cf_options)),
544
- ioptions_(db_options, initial_cf_options_),
545
- mutable_cf_options_(initial_cf_options_),
546
- is_delete_range_supported_(
547
- cf_options.table_factory->IsDeleteRangeSupported()),
548
- write_buffer_manager_(write_buffer_manager),
549
- mem_(nullptr),
550
- imm_(ioptions_.min_write_buffer_number_to_merge,
551
- ioptions_.max_write_buffer_number_to_maintain,
552
- ioptions_.max_write_buffer_size_to_maintain),
553
- super_version_(nullptr),
554
- super_version_number_(0),
555
- local_sv_(new ThreadLocalPtr(&SuperVersionUnrefHandle)),
556
- next_(nullptr),
557
- prev_(nullptr),
558
- log_number_(0),
559
- column_family_set_(column_family_set),
560
- queued_for_flush_(false),
561
- queued_for_compaction_(false),
562
- prev_compaction_needed_bytes_(0),
563
- allow_2pc_(db_options.allow_2pc),
564
- last_memtable_id_(0),
565
- db_paths_registered_(false),
566
- mempurge_used_(false),
567
- next_epoch_number_(1) {
568
- if (id_ != kDummyColumnFamilyDataId) {
569
- // TODO(cc): RegisterDbPaths can be expensive, considering moving it
570
- // outside of this constructor which might be called with db mutex held.
571
- // TODO(cc): considering using ioptions_.fs, currently some tests rely on
572
- // EnvWrapper, that's the main reason why we use env here.
573
- Status s = ioptions_.env->RegisterDbPaths(GetDbPaths());
574
- if (s.ok()) {
575
- db_paths_registered_ = true;
576
- } else {
577
- ROCKS_LOG_ERROR(
578
- ioptions_.logger,
579
- "Failed to register data paths of column family (id: %d, name: %s)",
580
- id_, name_.c_str());
581
- }
582
- }
583
- Ref();
584
-
585
- // Convert user defined table properties collector factories to internal ones.
586
- GetInternalTblPropCollFactory(ioptions_, &internal_tbl_prop_coll_factories_);
587
-
588
- // if _dummy_versions is nullptr, then this is a dummy column family.
589
- if (_dummy_versions != nullptr) {
590
- internal_stats_.reset(
591
- new InternalStats(ioptions_.num_levels, ioptions_.clock, this));
592
- table_cache_.reset(new TableCache(ioptions_, file_options, _table_cache,
593
- block_cache_tracer, io_tracer,
594
- db_session_id));
595
- blob_file_cache_.reset(
596
- new BlobFileCache(_table_cache, ioptions(), soptions(), id_,
597
- internal_stats_->GetBlobFileReadHist(), io_tracer));
598
- blob_source_.reset(new BlobSource(ioptions(), db_id, db_session_id,
599
- blob_file_cache_.get()));
600
-
601
- if (ioptions_.compaction_style == kCompactionStyleLevel) {
602
- compaction_picker_.reset(
603
- new LevelCompactionPicker(ioptions_, &internal_comparator_));
604
- } else if (ioptions_.compaction_style == kCompactionStyleUniversal) {
605
- compaction_picker_.reset(
606
- new UniversalCompactionPicker(ioptions_, &internal_comparator_));
607
- } else if (ioptions_.compaction_style == kCompactionStyleFIFO) {
608
- compaction_picker_.reset(
609
- new FIFOCompactionPicker(ioptions_, &internal_comparator_));
610
- } else if (ioptions_.compaction_style == kCompactionStyleNone) {
611
- compaction_picker_.reset(
612
- new NullCompactionPicker(ioptions_, &internal_comparator_));
613
- ROCKS_LOG_WARN(ioptions_.logger,
614
- "Column family %s does not use any background compaction. "
615
- "Compactions can only be done via CompactFiles\n",
616
- GetName().c_str());
617
- } else {
618
- ROCKS_LOG_ERROR(ioptions_.logger,
619
- "Unable to recognize the specified compaction style %d. "
620
- "Column family %s will use kCompactionStyleLevel.\n",
621
- ioptions_.compaction_style, GetName().c_str());
622
- compaction_picker_.reset(
623
- new LevelCompactionPicker(ioptions_, &internal_comparator_));
624
- }
625
-
626
- if (column_family_set_->NumberOfColumnFamilies() < 10) {
627
- ROCKS_LOG_INFO(ioptions_.logger,
628
- "--------------- Options for column family [%s]:\n",
629
- name.c_str());
630
- initial_cf_options_.Dump(ioptions_.logger);
631
- } else {
632
- ROCKS_LOG_INFO(ioptions_.logger, "\t(skipping printing options)\n");
633
- }
634
- }
635
-
636
- RecalculateWriteStallConditions(mutable_cf_options_);
637
-
638
- if (cf_options.table_factory->IsInstanceOf(
639
- TableFactory::kBlockBasedTableName()) &&
640
- cf_options.table_factory->GetOptions<BlockBasedTableOptions>()) {
641
- const BlockBasedTableOptions* bbto =
642
- cf_options.table_factory->GetOptions<BlockBasedTableOptions>();
643
- const auto& options_overrides = bbto->cache_usage_options.options_overrides;
644
- const auto file_metadata_charged =
645
- options_overrides.at(CacheEntryRole::kFileMetadata).charged;
646
- if (bbto->block_cache &&
647
- file_metadata_charged == CacheEntryRoleOptions::Decision::kEnabled) {
648
- // TODO(hx235): Add a `ConcurrentCacheReservationManager` at DB scope
649
- // responsible for reservation of `ObsoleteFileInfo` so that we can keep
650
- // this `file_metadata_cache_res_mgr_` nonconcurrent
651
- file_metadata_cache_res_mgr_.reset(new ConcurrentCacheReservationManager(
652
- std::make_shared<
653
- CacheReservationManagerImpl<CacheEntryRole::kFileMetadata>>(
654
- bbto->block_cache)));
655
- }
656
- }
657
- }
658
-
659
- // DB mutex held
660
- ColumnFamilyData::~ColumnFamilyData() {
661
- assert(refs_.load(std::memory_order_relaxed) == 0);
662
- // remove from linked list
663
- auto prev = prev_;
664
- auto next = next_;
665
- prev->next_ = next;
666
- next->prev_ = prev;
667
-
668
- if (!dropped_ && column_family_set_ != nullptr) {
669
- // If it's dropped, it's already removed from column family set
670
- // If column_family_set_ == nullptr, this is dummy CFD and not in
671
- // ColumnFamilySet
672
- column_family_set_->RemoveColumnFamily(this);
673
- }
674
-
675
- if (current_ != nullptr) {
676
- current_->Unref();
677
- }
678
-
679
- // It would be wrong if this ColumnFamilyData is in flush_queue_ or
680
- // compaction_queue_ and we destroyed it
681
- assert(!queued_for_flush_);
682
- assert(!queued_for_compaction_);
683
- assert(super_version_ == nullptr);
684
-
685
- if (dummy_versions_ != nullptr) {
686
- // List must be empty
687
- assert(dummy_versions_->Next() == dummy_versions_);
688
- bool deleted __attribute__((__unused__));
689
- deleted = dummy_versions_->Unref();
690
- assert(deleted);
691
- }
692
-
693
- if (mem_ != nullptr) {
694
- delete mem_->Unref();
695
- }
696
- autovector<MemTable*> to_delete;
697
- imm_.current()->Unref(&to_delete);
698
- for (MemTable* m : to_delete) {
699
- delete m;
700
- }
701
-
702
- if (db_paths_registered_) {
703
- // TODO(cc): considering using ioptions_.fs, currently some tests rely on
704
- // EnvWrapper, that's the main reason why we use env here.
705
- Status s = ioptions_.env->UnregisterDbPaths(GetDbPaths());
706
- if (!s.ok()) {
707
- ROCKS_LOG_ERROR(
708
- ioptions_.logger,
709
- "Failed to unregister data paths of column family (id: %d, name: %s)",
710
- id_, name_.c_str());
711
- }
712
- }
713
- }
714
-
715
- bool ColumnFamilyData::UnrefAndTryDelete() {
716
- int old_refs = refs_.fetch_sub(1);
717
- assert(old_refs > 0);
718
-
719
- if (old_refs == 1) {
720
- assert(super_version_ == nullptr);
721
- delete this;
722
- return true;
723
- }
724
-
725
- if (old_refs == 2 && super_version_ != nullptr) {
726
- // Only the super_version_ holds me
727
- SuperVersion* sv = super_version_;
728
- super_version_ = nullptr;
729
-
730
- // Release SuperVersion references kept in ThreadLocalPtr.
731
- local_sv_.reset();
732
-
733
- if (sv->Unref()) {
734
- // Note: sv will delete this ColumnFamilyData during Cleanup()
735
- assert(sv->cfd == this);
736
- sv->Cleanup();
737
- delete sv;
738
- return true;
739
- }
740
- }
741
- return false;
742
- }
743
-
744
- void ColumnFamilyData::SetDropped() {
745
- // can't drop default CF
746
- assert(id_ != 0);
747
- dropped_ = true;
748
- write_controller_token_.reset();
749
-
750
- // remove from column_family_set
751
- column_family_set_->RemoveColumnFamily(this);
752
- }
753
-
754
- ColumnFamilyOptions ColumnFamilyData::GetLatestCFOptions() const {
755
- return BuildColumnFamilyOptions(initial_cf_options_, mutable_cf_options_);
756
- }
757
-
758
- uint64_t ColumnFamilyData::OldestLogToKeep() {
759
- auto current_log = GetLogNumber();
760
-
761
- if (allow_2pc_) {
762
- auto imm_prep_log = imm()->PrecomputeMinLogContainingPrepSection();
763
- auto mem_prep_log = mem()->GetMinLogContainingPrepSection();
764
-
765
- if (imm_prep_log > 0 && imm_prep_log < current_log) {
766
- current_log = imm_prep_log;
767
- }
768
-
769
- if (mem_prep_log > 0 && mem_prep_log < current_log) {
770
- current_log = mem_prep_log;
771
- }
772
- }
773
-
774
- return current_log;
775
- }
776
-
777
- const double kIncSlowdownRatio = 0.8;
778
- const double kDecSlowdownRatio = 1 / kIncSlowdownRatio;
779
- const double kNearStopSlowdownRatio = 0.6;
780
- const double kDelayRecoverSlowdownRatio = 1.4;
781
-
782
- namespace {
783
- // If penalize_stop is true, we further reduce slowdown rate.
784
- std::unique_ptr<WriteControllerToken> SetupDelay(
785
- WriteController* write_controller, uint64_t compaction_needed_bytes,
786
- uint64_t prev_compaction_need_bytes, bool penalize_stop,
787
- bool auto_compactions_disabled) {
788
- const uint64_t kMinWriteRate = 16 * 1024u; // Minimum write rate 16KB/s.
789
-
790
- uint64_t max_write_rate = write_controller->max_delayed_write_rate();
791
- uint64_t write_rate = write_controller->delayed_write_rate();
792
-
793
- if (auto_compactions_disabled) {
794
- // When auto compaction is disabled, always use the value user gave.
795
- write_rate = max_write_rate;
796
- } else if (write_controller->NeedsDelay() && max_write_rate > kMinWriteRate) {
797
- // If user gives rate less than kMinWriteRate, don't adjust it.
798
- //
799
- // If already delayed, need to adjust based on previous compaction debt.
800
- // When there are two or more column families require delay, we always
801
- // increase or reduce write rate based on information for one single
802
- // column family. It is likely to be OK but we can improve if there is a
803
- // problem.
804
- // Ignore compaction_needed_bytes = 0 case because compaction_needed_bytes
805
- // is only available in level-based compaction
806
- //
807
- // If the compaction debt stays the same as previously, we also further slow
808
- // down. It usually means a mem table is full. It's mainly for the case
809
- // where both of flush and compaction are much slower than the speed we
810
- // insert to mem tables, so we need to actively slow down before we get
811
- // feedback signal from compaction and flushes to avoid the full stop
812
- // because of hitting the max write buffer number.
813
- //
814
- // If DB just falled into the stop condition, we need to further reduce
815
- // the write rate to avoid the stop condition.
816
- if (penalize_stop) {
817
- // Penalize the near stop or stop condition by more aggressive slowdown.
818
- // This is to provide the long term slowdown increase signal.
819
- // The penalty is more than the reward of recovering to the normal
820
- // condition.
821
- write_rate = static_cast<uint64_t>(static_cast<double>(write_rate) *
822
- kNearStopSlowdownRatio);
823
- if (write_rate < kMinWriteRate) {
824
- write_rate = kMinWriteRate;
825
- }
826
- } else if (prev_compaction_need_bytes > 0 &&
827
- prev_compaction_need_bytes <= compaction_needed_bytes) {
828
- write_rate = static_cast<uint64_t>(static_cast<double>(write_rate) *
829
- kIncSlowdownRatio);
830
- if (write_rate < kMinWriteRate) {
831
- write_rate = kMinWriteRate;
832
- }
833
- } else if (prev_compaction_need_bytes > compaction_needed_bytes) {
834
- // We are speeding up by ratio of kSlowdownRatio when we have paid
835
- // compaction debt. But we'll never speed up to faster than the write rate
836
- // given by users.
837
- write_rate = static_cast<uint64_t>(static_cast<double>(write_rate) *
838
- kDecSlowdownRatio);
839
- if (write_rate > max_write_rate) {
840
- write_rate = max_write_rate;
841
- }
842
- }
843
- }
844
- return write_controller->GetDelayToken(write_rate);
845
- }
846
-
847
- int GetL0FileCountForCompactionSpeedup(int level0_file_num_compaction_trigger,
848
- int level0_slowdown_writes_trigger) {
849
- // SanitizeOptions() ensures it.
850
- assert(level0_file_num_compaction_trigger <= level0_slowdown_writes_trigger);
851
-
852
- if (level0_file_num_compaction_trigger < 0) {
853
- return std::numeric_limits<int>::max();
854
- }
855
-
856
- const int64_t twice_level0_trigger =
857
- static_cast<int64_t>(level0_file_num_compaction_trigger) * 2;
858
-
859
- const int64_t one_fourth_trigger_slowdown =
860
- static_cast<int64_t>(level0_file_num_compaction_trigger) +
861
- ((level0_slowdown_writes_trigger - level0_file_num_compaction_trigger) /
862
- 4);
863
-
864
- assert(twice_level0_trigger >= 0);
865
- assert(one_fourth_trigger_slowdown >= 0);
866
-
867
- // 1/4 of the way between L0 compaction trigger threshold and slowdown
868
- // condition.
869
- // Or twice as compaction trigger, if it is smaller.
870
- int64_t res = std::min(twice_level0_trigger, one_fourth_trigger_slowdown);
871
- if (res >= std::numeric_limits<int32_t>::max()) {
872
- return std::numeric_limits<int32_t>::max();
873
- } else {
874
- // res fits in int
875
- return static_cast<int>(res);
876
- }
877
- }
878
-
879
- uint64_t GetPendingCompactionBytesForCompactionSpeedup(
880
- const MutableCFOptions& mutable_cf_options,
881
- const VersionStorageInfo* vstorage) {
882
- // Compaction debt relatively large compared to the stable (bottommost) data
883
- // size indicates compaction fell behind.
884
- const uint64_t kBottommostSizeDivisor = 8;
885
- // Meaningful progress toward the slowdown trigger is another good indication.
886
- const uint64_t kSlowdownTriggerDivisor = 4;
887
-
888
- uint64_t bottommost_files_size = 0;
889
- for (const auto& level_and_file : vstorage->BottommostFiles()) {
890
- bottommost_files_size += level_and_file.second->fd.GetFileSize();
891
- }
892
-
893
- // Slowdown trigger might be zero but that means compaction speedup should
894
- // always happen (undocumented/historical), so no special treatment is needed.
895
- uint64_t slowdown_threshold =
896
- mutable_cf_options.soft_pending_compaction_bytes_limit /
897
- kSlowdownTriggerDivisor;
898
-
899
- // Size of zero, however, should not be used to decide to speedup compaction.
900
- if (bottommost_files_size == 0) {
901
- return slowdown_threshold;
902
- }
903
-
904
- uint64_t size_threshold = bottommost_files_size / kBottommostSizeDivisor;
905
- return std::min(size_threshold, slowdown_threshold);
906
- }
907
-
908
- uint64_t GetMarkedFileCountForCompactionSpeedup() {
909
- // When just one file is marked, it is not clear that parallel compaction will
910
- // help the compaction that the user nicely requested to happen sooner. When
911
- // multiple files are marked, however, it is pretty clearly helpful, except
912
- // for the rare case in which a single compaction grabs all the marked files.
913
- return 2;
914
- }
915
- } // anonymous namespace
916
-
917
- std::pair<WriteStallCondition, WriteStallCause>
918
- ColumnFamilyData::GetWriteStallConditionAndCause(
919
- int num_unflushed_memtables, int num_l0_files,
920
- uint64_t num_compaction_needed_bytes,
921
- const MutableCFOptions& mutable_cf_options,
922
- const ImmutableCFOptions& immutable_cf_options) {
923
- if (num_unflushed_memtables >= mutable_cf_options.max_write_buffer_number) {
924
- return {WriteStallCondition::kStopped, WriteStallCause::kMemtableLimit};
925
- } else if (!mutable_cf_options.disable_auto_compactions &&
926
- num_l0_files >= mutable_cf_options.level0_stop_writes_trigger) {
927
- return {WriteStallCondition::kStopped, WriteStallCause::kL0FileCountLimit};
928
- } else if (!mutable_cf_options.disable_auto_compactions &&
929
- mutable_cf_options.hard_pending_compaction_bytes_limit > 0 &&
930
- num_compaction_needed_bytes >=
931
- mutable_cf_options.hard_pending_compaction_bytes_limit) {
932
- return {WriteStallCondition::kStopped,
933
- WriteStallCause::kPendingCompactionBytes};
934
- } else if (mutable_cf_options.max_write_buffer_number > 3 &&
935
- num_unflushed_memtables >=
936
- mutable_cf_options.max_write_buffer_number - 1 &&
937
- num_unflushed_memtables - 1 >=
938
- immutable_cf_options.min_write_buffer_number_to_merge) {
939
- return {WriteStallCondition::kDelayed, WriteStallCause::kMemtableLimit};
940
- } else if (!mutable_cf_options.disable_auto_compactions &&
941
- mutable_cf_options.level0_slowdown_writes_trigger >= 0 &&
942
- num_l0_files >=
943
- mutable_cf_options.level0_slowdown_writes_trigger) {
944
- return {WriteStallCondition::kDelayed, WriteStallCause::kL0FileCountLimit};
945
- } else if (!mutable_cf_options.disable_auto_compactions &&
946
- mutable_cf_options.soft_pending_compaction_bytes_limit > 0 &&
947
- num_compaction_needed_bytes >=
948
- mutable_cf_options.soft_pending_compaction_bytes_limit) {
949
- return {WriteStallCondition::kDelayed,
950
- WriteStallCause::kPendingCompactionBytes};
951
- }
952
- return {WriteStallCondition::kNormal, WriteStallCause::kNone};
953
- }
954
-
955
- WriteStallCondition ColumnFamilyData::RecalculateWriteStallConditions(
956
- const MutableCFOptions& mutable_cf_options) {
957
- auto write_stall_condition = WriteStallCondition::kNormal;
958
- if (current_ != nullptr) {
959
- auto* vstorage = current_->storage_info();
960
- auto write_controller = column_family_set_->write_controller_;
961
- uint64_t compaction_needed_bytes =
962
- vstorage->estimated_compaction_needed_bytes();
963
-
964
- auto write_stall_condition_and_cause = GetWriteStallConditionAndCause(
965
- imm()->NumNotFlushed(), vstorage->l0_delay_trigger_count(),
966
- vstorage->estimated_compaction_needed_bytes(), mutable_cf_options,
967
- *ioptions());
968
- write_stall_condition = write_stall_condition_and_cause.first;
969
- auto write_stall_cause = write_stall_condition_and_cause.second;
970
-
971
- bool was_stopped = write_controller->IsStopped();
972
- bool needed_delay = write_controller->NeedsDelay();
973
-
974
- if (write_stall_condition == WriteStallCondition::kStopped &&
975
- write_stall_cause == WriteStallCause::kMemtableLimit) {
976
- write_controller_token_ = write_controller->GetStopToken();
977
- internal_stats_->AddCFStats(InternalStats::MEMTABLE_LIMIT_STOPS, 1);
978
- ROCKS_LOG_WARN(
979
- ioptions_.logger,
980
- "[%s] Stopping writes because we have %d immutable memtables "
981
- "(waiting for flush), max_write_buffer_number is set to %d",
982
- name_.c_str(), imm()->NumNotFlushed(),
983
- mutable_cf_options.max_write_buffer_number);
984
- } else if (write_stall_condition == WriteStallCondition::kStopped &&
985
- write_stall_cause == WriteStallCause::kL0FileCountLimit) {
986
- write_controller_token_ = write_controller->GetStopToken();
987
- internal_stats_->AddCFStats(InternalStats::L0_FILE_COUNT_LIMIT_STOPS, 1);
988
- if (compaction_picker_->IsLevel0CompactionInProgress()) {
989
- internal_stats_->AddCFStats(
990
- InternalStats::L0_FILE_COUNT_LIMIT_STOPS_WITH_ONGOING_COMPACTION,
991
- 1);
992
- }
993
- ROCKS_LOG_WARN(ioptions_.logger,
994
- "[%s] Stopping writes because we have %d level-0 files",
995
- name_.c_str(), vstorage->l0_delay_trigger_count());
996
- } else if (write_stall_condition == WriteStallCondition::kStopped &&
997
- write_stall_cause == WriteStallCause::kPendingCompactionBytes) {
998
- write_controller_token_ = write_controller->GetStopToken();
999
- internal_stats_->AddCFStats(
1000
- InternalStats::PENDING_COMPACTION_BYTES_LIMIT_STOPS, 1);
1001
- ROCKS_LOG_WARN(
1002
- ioptions_.logger,
1003
- "[%s] Stopping writes because of estimated pending compaction "
1004
- "bytes %" PRIu64,
1005
- name_.c_str(), compaction_needed_bytes);
1006
- } else if (write_stall_condition == WriteStallCondition::kDelayed &&
1007
- write_stall_cause == WriteStallCause::kMemtableLimit) {
1008
- write_controller_token_ =
1009
- SetupDelay(write_controller, compaction_needed_bytes,
1010
- prev_compaction_needed_bytes_, was_stopped,
1011
- mutable_cf_options.disable_auto_compactions);
1012
- internal_stats_->AddCFStats(InternalStats::MEMTABLE_LIMIT_DELAYS, 1);
1013
- ROCKS_LOG_WARN(
1014
- ioptions_.logger,
1015
- "[%s] Stalling writes because we have %d immutable memtables "
1016
- "(waiting for flush), max_write_buffer_number is set to %d "
1017
- "rate %" PRIu64,
1018
- name_.c_str(), imm()->NumNotFlushed(),
1019
- mutable_cf_options.max_write_buffer_number,
1020
- write_controller->delayed_write_rate());
1021
- } else if (write_stall_condition == WriteStallCondition::kDelayed &&
1022
- write_stall_cause == WriteStallCause::kL0FileCountLimit) {
1023
- // L0 is the last two files from stopping.
1024
- bool near_stop = vstorage->l0_delay_trigger_count() >=
1025
- mutable_cf_options.level0_stop_writes_trigger - 2;
1026
- write_controller_token_ =
1027
- SetupDelay(write_controller, compaction_needed_bytes,
1028
- prev_compaction_needed_bytes_, was_stopped || near_stop,
1029
- mutable_cf_options.disable_auto_compactions);
1030
- internal_stats_->AddCFStats(InternalStats::L0_FILE_COUNT_LIMIT_DELAYS, 1);
1031
- if (compaction_picker_->IsLevel0CompactionInProgress()) {
1032
- internal_stats_->AddCFStats(
1033
- InternalStats::L0_FILE_COUNT_LIMIT_DELAYS_WITH_ONGOING_COMPACTION,
1034
- 1);
1035
- }
1036
- ROCKS_LOG_WARN(ioptions_.logger,
1037
- "[%s] Stalling writes because we have %d level-0 files "
1038
- "rate %" PRIu64,
1039
- name_.c_str(), vstorage->l0_delay_trigger_count(),
1040
- write_controller->delayed_write_rate());
1041
- } else if (write_stall_condition == WriteStallCondition::kDelayed &&
1042
- write_stall_cause == WriteStallCause::kPendingCompactionBytes) {
1043
- // If the distance to hard limit is less than 1/4 of the gap between soft
1044
- // and
1045
- // hard bytes limit, we think it is near stop and speed up the slowdown.
1046
- bool near_stop =
1047
- mutable_cf_options.hard_pending_compaction_bytes_limit > 0 &&
1048
- (compaction_needed_bytes -
1049
- mutable_cf_options.soft_pending_compaction_bytes_limit) >
1050
- 3 *
1051
- (mutable_cf_options.hard_pending_compaction_bytes_limit -
1052
- mutable_cf_options.soft_pending_compaction_bytes_limit) /
1053
- 4;
1054
-
1055
- write_controller_token_ =
1056
- SetupDelay(write_controller, compaction_needed_bytes,
1057
- prev_compaction_needed_bytes_, was_stopped || near_stop,
1058
- mutable_cf_options.disable_auto_compactions);
1059
- internal_stats_->AddCFStats(
1060
- InternalStats::PENDING_COMPACTION_BYTES_LIMIT_DELAYS, 1);
1061
- ROCKS_LOG_WARN(
1062
- ioptions_.logger,
1063
- "[%s] Stalling writes because of estimated pending compaction "
1064
- "bytes %" PRIu64 " rate %" PRIu64,
1065
- name_.c_str(), vstorage->estimated_compaction_needed_bytes(),
1066
- write_controller->delayed_write_rate());
1067
- } else {
1068
- assert(write_stall_condition == WriteStallCondition::kNormal);
1069
- if (vstorage->l0_delay_trigger_count() >=
1070
- GetL0FileCountForCompactionSpeedup(
1071
- mutable_cf_options.level0_file_num_compaction_trigger,
1072
- mutable_cf_options.level0_slowdown_writes_trigger)) {
1073
- write_controller_token_ =
1074
- write_controller->GetCompactionPressureToken();
1075
- ROCKS_LOG_INFO(
1076
- ioptions_.logger,
1077
- "[%s] Increasing compaction threads because we have %d level-0 "
1078
- "files ",
1079
- name_.c_str(), vstorage->l0_delay_trigger_count());
1080
- } else if (mutable_cf_options.soft_pending_compaction_bytes_limit == 0) {
1081
- // If soft pending compaction byte limit is not set, always speed up
1082
- // compaction.
1083
- write_controller_token_ =
1084
- write_controller->GetCompactionPressureToken();
1085
- } else if (vstorage->estimated_compaction_needed_bytes() >=
1086
- GetPendingCompactionBytesForCompactionSpeedup(
1087
- mutable_cf_options, vstorage)) {
1088
- write_controller_token_ =
1089
- write_controller->GetCompactionPressureToken();
1090
- ROCKS_LOG_INFO(
1091
- ioptions_.logger,
1092
- "[%s] Increasing compaction threads because of estimated pending "
1093
- "compaction "
1094
- "bytes %" PRIu64,
1095
- name_.c_str(), vstorage->estimated_compaction_needed_bytes());
1096
- } else if (uint64_t(vstorage->FilesMarkedForCompaction().size()) >=
1097
- GetMarkedFileCountForCompactionSpeedup()) {
1098
- write_controller_token_ =
1099
- write_controller->GetCompactionPressureToken();
1100
- ROCKS_LOG_INFO(
1101
- ioptions_.logger,
1102
- "[%s] Increasing compaction threads because we have %" PRIu64
1103
- " files marked for compaction",
1104
- name_.c_str(),
1105
- uint64_t(vstorage->FilesMarkedForCompaction().size()));
1106
- } else {
1107
- write_controller_token_.reset();
1108
- }
1109
- // If the DB recovers from delay conditions, we reward with reducing
1110
- // double the slowdown ratio. This is to balance the long term slowdown
1111
- // increase signal.
1112
- if (needed_delay) {
1113
- uint64_t write_rate = write_controller->delayed_write_rate();
1114
- write_controller->set_delayed_write_rate(static_cast<uint64_t>(
1115
- static_cast<double>(write_rate) * kDelayRecoverSlowdownRatio));
1116
- // Set the low pri limit to be 1/4 the delayed write rate.
1117
- // Note we don't reset this value even after delay condition is relased.
1118
- // Low-pri rate will continue to apply if there is a compaction
1119
- // pressure.
1120
- write_controller->low_pri_rate_limiter()->SetBytesPerSecond(write_rate /
1121
- 4);
1122
- }
1123
- }
1124
- prev_compaction_needed_bytes_ = compaction_needed_bytes;
1125
- }
1126
- return write_stall_condition;
1127
- }
1128
-
1129
- const FileOptions* ColumnFamilyData::soptions() const {
1130
- return &(column_family_set_->file_options_);
1131
- }
1132
-
1133
- void ColumnFamilyData::SetCurrent(Version* current_version) {
1134
- current_ = current_version;
1135
- }
1136
-
1137
- uint64_t ColumnFamilyData::GetNumLiveVersions() const {
1138
- return VersionSet::GetNumLiveVersions(dummy_versions_);
1139
- }
1140
-
1141
- uint64_t ColumnFamilyData::GetTotalSstFilesSize() const {
1142
- return VersionSet::GetTotalSstFilesSize(dummy_versions_);
1143
- }
1144
-
1145
- uint64_t ColumnFamilyData::GetTotalBlobFileSize() const {
1146
- return VersionSet::GetTotalBlobFileSize(dummy_versions_);
1147
- }
1148
-
1149
- uint64_t ColumnFamilyData::GetLiveSstFilesSize() const {
1150
- return current_->GetSstFilesSize();
1151
- }
1152
-
1153
- MemTable* ColumnFamilyData::ConstructNewMemtable(
1154
- const MutableCFOptions& mutable_cf_options, SequenceNumber earliest_seq) {
1155
- return new MemTable(internal_comparator_, ioptions_, mutable_cf_options,
1156
- write_buffer_manager_, earliest_seq, id_);
1157
- }
1158
-
1159
- void ColumnFamilyData::CreateNewMemtable(
1160
- const MutableCFOptions& mutable_cf_options, SequenceNumber earliest_seq) {
1161
- if (mem_ != nullptr) {
1162
- delete mem_->Unref();
1163
- }
1164
- SetMemtable(ConstructNewMemtable(mutable_cf_options, earliest_seq));
1165
- mem_->Ref();
1166
- }
1167
-
1168
- bool ColumnFamilyData::NeedsCompaction() const {
1169
- return !mutable_cf_options_.disable_auto_compactions &&
1170
- compaction_picker_->NeedsCompaction(current_->storage_info());
1171
- }
1172
-
1173
- Compaction* ColumnFamilyData::PickCompaction(
1174
- const MutableCFOptions& mutable_options,
1175
- const MutableDBOptions& mutable_db_options, LogBuffer* log_buffer) {
1176
- auto* result = compaction_picker_->PickCompaction(
1177
- GetName(), mutable_options, mutable_db_options, current_->storage_info(),
1178
- log_buffer);
1179
- if (result != nullptr) {
1180
- result->FinalizeInputInfo(current_);
1181
- }
1182
- return result;
1183
- }
1184
-
1185
- bool ColumnFamilyData::RangeOverlapWithCompaction(
1186
- const Slice& smallest_user_key, const Slice& largest_user_key,
1187
- int level) const {
1188
- return compaction_picker_->RangeOverlapWithCompaction(
1189
- smallest_user_key, largest_user_key, level);
1190
- }
1191
-
1192
- Status ColumnFamilyData::RangesOverlapWithMemtables(
1193
- const autovector<UserKeyRange>& ranges, SuperVersion* super_version,
1194
- bool allow_data_in_errors, bool* overlap) {
1195
- assert(overlap != nullptr);
1196
- *overlap = false;
1197
- // Create an InternalIterator over all unflushed memtables
1198
- Arena arena;
1199
- // TODO: plumb Env::IOActivity, Env::IOPriority
1200
- ReadOptions read_opts;
1201
- read_opts.total_order_seek = true;
1202
- MergeIteratorBuilder merge_iter_builder(&internal_comparator_, &arena);
1203
- merge_iter_builder.AddIterator(super_version->mem->NewIterator(
1204
- read_opts, /*seqno_to_time_mapping=*/nullptr, &arena));
1205
- super_version->imm->AddIterators(read_opts, /*seqno_to_time_mapping=*/nullptr,
1206
- &merge_iter_builder,
1207
- false /* add_range_tombstone_iter */);
1208
- ScopedArenaPtr<InternalIterator> memtable_iter(merge_iter_builder.Finish());
1209
-
1210
- auto read_seq = super_version->current->version_set()->LastSequence();
1211
- ReadRangeDelAggregator range_del_agg(&internal_comparator_, read_seq);
1212
- auto* active_range_del_iter = super_version->mem->NewRangeTombstoneIterator(
1213
- read_opts, read_seq, false /* immutable_memtable */);
1214
- range_del_agg.AddTombstones(
1215
- std::unique_ptr<FragmentedRangeTombstoneIterator>(active_range_del_iter));
1216
- Status status;
1217
- status = super_version->imm->AddRangeTombstoneIterators(
1218
- read_opts, nullptr /* arena */, &range_del_agg);
1219
- // AddRangeTombstoneIterators always return Status::OK.
1220
- assert(status.ok());
1221
-
1222
- for (size_t i = 0; i < ranges.size() && status.ok() && !*overlap; ++i) {
1223
- auto* vstorage = super_version->current->storage_info();
1224
- auto* ucmp = vstorage->InternalComparator()->user_comparator();
1225
- InternalKey range_start(ranges[i].start, kMaxSequenceNumber,
1226
- kValueTypeForSeek);
1227
- memtable_iter->Seek(range_start.Encode());
1228
- status = memtable_iter->status();
1229
- ParsedInternalKey seek_result;
1230
-
1231
- if (status.ok() && memtable_iter->Valid()) {
1232
- status = ParseInternalKey(memtable_iter->key(), &seek_result,
1233
- allow_data_in_errors);
1234
- }
1235
-
1236
- if (status.ok()) {
1237
- if (memtable_iter->Valid() &&
1238
- ucmp->CompareWithoutTimestamp(seek_result.user_key,
1239
- ranges[i].limit) <= 0) {
1240
- *overlap = true;
1241
- } else if (range_del_agg.IsRangeOverlapped(ranges[i].start,
1242
- ranges[i].limit)) {
1243
- *overlap = true;
1244
- }
1245
- }
1246
- }
1247
- return status;
1248
- }
1249
-
1250
- const int ColumnFamilyData::kCompactAllLevels = -1;
1251
- const int ColumnFamilyData::kCompactToBaseLevel = -2;
1252
-
1253
- Compaction* ColumnFamilyData::CompactRange(
1254
- const MutableCFOptions& mutable_cf_options,
1255
- const MutableDBOptions& mutable_db_options, int input_level,
1256
- int output_level, const CompactRangeOptions& compact_range_options,
1257
- const InternalKey* begin, const InternalKey* end,
1258
- InternalKey** compaction_end, bool* conflict,
1259
- uint64_t max_file_num_to_ignore, const std::string& trim_ts) {
1260
- auto* result = compaction_picker_->CompactRange(
1261
- GetName(), mutable_cf_options, mutable_db_options,
1262
- current_->storage_info(), input_level, output_level,
1263
- compact_range_options, begin, end, compaction_end, conflict,
1264
- max_file_num_to_ignore, trim_ts);
1265
- if (result != nullptr) {
1266
- result->FinalizeInputInfo(current_);
1267
- }
1268
- TEST_SYNC_POINT("ColumnFamilyData::CompactRange:Return");
1269
- return result;
1270
- }
1271
-
1272
- SuperVersion* ColumnFamilyData::GetReferencedSuperVersion(DBImpl* db) {
1273
- SuperVersion* sv = GetThreadLocalSuperVersion(db);
1274
- sv->Ref();
1275
- if (!ReturnThreadLocalSuperVersion(sv)) {
1276
- // This Unref() corresponds to the Ref() in GetThreadLocalSuperVersion()
1277
- // when the thread-local pointer was populated. So, the Ref() earlier in
1278
- // this function still prevents the returned SuperVersion* from being
1279
- // deleted out from under the caller.
1280
- sv->Unref();
1281
- }
1282
- return sv;
1283
- }
1284
-
1285
- SuperVersion* ColumnFamilyData::GetThreadLocalSuperVersion(DBImpl* db) {
1286
- // The SuperVersion is cached in thread local storage to avoid acquiring
1287
- // mutex when SuperVersion does not change since the last use. When a new
1288
- // SuperVersion is installed, the compaction or flush thread cleans up
1289
- // cached SuperVersion in all existing thread local storage. To avoid
1290
- // acquiring mutex for this operation, we use atomic Swap() on the thread
1291
- // local pointer to guarantee exclusive access. If the thread local pointer
1292
- // is being used while a new SuperVersion is installed, the cached
1293
- // SuperVersion can become stale. In that case, the background thread would
1294
- // have swapped in kSVObsolete. We re-check the value at when returning
1295
- // SuperVersion back to thread local, with an atomic compare and swap.
1296
- // The superversion will need to be released if detected to be stale.
1297
- void* ptr = local_sv_->Swap(SuperVersion::kSVInUse);
1298
- // Invariant:
1299
- // (1) Scrape (always) installs kSVObsolete in ThreadLocal storage
1300
- // (2) the Swap above (always) installs kSVInUse, ThreadLocal storage
1301
- // should only keep kSVInUse before ReturnThreadLocalSuperVersion call
1302
- // (if no Scrape happens).
1303
- assert(ptr != SuperVersion::kSVInUse);
1304
- SuperVersion* sv = static_cast<SuperVersion*>(ptr);
1305
- if (sv == SuperVersion::kSVObsolete) {
1306
- RecordTick(ioptions_.stats, NUMBER_SUPERVERSION_ACQUIRES);
1307
- db->mutex()->Lock();
1308
- sv = super_version_->Ref();
1309
- db->mutex()->Unlock();
1310
- }
1311
- assert(sv != nullptr);
1312
- return sv;
1313
- }
1314
-
1315
- bool ColumnFamilyData::ReturnThreadLocalSuperVersion(SuperVersion* sv) {
1316
- assert(sv != nullptr);
1317
- // Put the SuperVersion back
1318
- void* expected = SuperVersion::kSVInUse;
1319
- if (local_sv_->CompareAndSwap(static_cast<void*>(sv), expected)) {
1320
- // When we see kSVInUse in the ThreadLocal, we are sure ThreadLocal
1321
- // storage has not been altered and no Scrape has happened. The
1322
- // SuperVersion is still current.
1323
- return true;
1324
- } else {
1325
- // ThreadLocal scrape happened in the process of this GetImpl call (after
1326
- // thread local Swap() at the beginning and before CompareAndSwap()).
1327
- // This means the SuperVersion it holds is obsolete.
1328
- assert(expected == SuperVersion::kSVObsolete);
1329
- }
1330
- return false;
1331
- }
1332
-
1333
- void ColumnFamilyData::InstallSuperVersion(SuperVersionContext* sv_context,
1334
- InstrumentedMutex* db_mutex) {
1335
- db_mutex->AssertHeld();
1336
- return InstallSuperVersion(sv_context, mutable_cf_options_);
1337
- }
1338
-
1339
- void ColumnFamilyData::InstallSuperVersion(
1340
- SuperVersionContext* sv_context,
1341
- const MutableCFOptions& mutable_cf_options) {
1342
- SuperVersion* new_superversion = sv_context->new_superversion.release();
1343
- new_superversion->mutable_cf_options = mutable_cf_options;
1344
- new_superversion->Init(this, mem_, imm_.current(), current_,
1345
- sv_context->new_seqno_to_time_mapping
1346
- ? std::move(sv_context->new_seqno_to_time_mapping)
1347
- : super_version_
1348
- ? super_version_->ShareSeqnoToTimeMapping()
1349
- : nullptr);
1350
- SuperVersion* old_superversion = super_version_;
1351
- super_version_ = new_superversion;
1352
- if (old_superversion == nullptr || old_superversion->current != current() ||
1353
- old_superversion->mem != mem_ ||
1354
- old_superversion->imm != imm_.current()) {
1355
- // Should not recalculate slow down condition if nothing has changed, since
1356
- // currently RecalculateWriteStallConditions() treats it as further slowing
1357
- // down is needed.
1358
- super_version_->write_stall_condition =
1359
- RecalculateWriteStallConditions(mutable_cf_options);
1360
- } else {
1361
- super_version_->write_stall_condition =
1362
- old_superversion->write_stall_condition;
1363
- }
1364
- if (old_superversion != nullptr) {
1365
- // Reset SuperVersions cached in thread local storage.
1366
- // This should be done before old_superversion->Unref(). That's to ensure
1367
- // that local_sv_ never holds the last reference to SuperVersion, since
1368
- // it has no means to safely do SuperVersion cleanup.
1369
- ResetThreadLocalSuperVersions();
1370
-
1371
- if (old_superversion->mutable_cf_options.write_buffer_size !=
1372
- mutable_cf_options.write_buffer_size) {
1373
- mem_->UpdateWriteBufferSize(mutable_cf_options.write_buffer_size);
1374
- }
1375
- if (old_superversion->write_stall_condition !=
1376
- new_superversion->write_stall_condition) {
1377
- sv_context->PushWriteStallNotification(
1378
- old_superversion->write_stall_condition,
1379
- new_superversion->write_stall_condition, GetName(), ioptions());
1380
- }
1381
- if (old_superversion->Unref()) {
1382
- old_superversion->Cleanup();
1383
- sv_context->superversions_to_free.push_back(old_superversion);
1384
- }
1385
- }
1386
- ++super_version_number_;
1387
- super_version_->version_number = super_version_number_;
1388
- }
1389
-
1390
- void ColumnFamilyData::ResetThreadLocalSuperVersions() {
1391
- autovector<void*> sv_ptrs;
1392
- local_sv_->Scrape(&sv_ptrs, SuperVersion::kSVObsolete);
1393
- for (auto ptr : sv_ptrs) {
1394
- assert(ptr);
1395
- if (ptr == SuperVersion::kSVInUse) {
1396
- continue;
1397
- }
1398
- auto sv = static_cast<SuperVersion*>(ptr);
1399
- bool was_last_ref __attribute__((__unused__));
1400
- was_last_ref = sv->Unref();
1401
- // sv couldn't have been the last reference because
1402
- // ResetThreadLocalSuperVersions() is called before
1403
- // unref'ing super_version_.
1404
- assert(!was_last_ref);
1405
- }
1406
- }
1407
-
1408
- Status ColumnFamilyData::ValidateOptions(
1409
- const DBOptions& db_options, const ColumnFamilyOptions& cf_options) {
1410
- Status s;
1411
- s = CheckCompressionSupported(cf_options);
1412
- if (s.ok() && db_options.allow_concurrent_memtable_write) {
1413
- s = CheckConcurrentWritesSupported(cf_options);
1414
- }
1415
- if (s.ok() && db_options.unordered_write &&
1416
- cf_options.max_successive_merges != 0) {
1417
- s = Status::InvalidArgument(
1418
- "max_successive_merges > 0 is incompatible with unordered_write");
1419
- }
1420
- if (s.ok()) {
1421
- s = CheckCFPathsSupported(db_options, cf_options);
1422
- }
1423
- if (!s.ok()) {
1424
- return s;
1425
- }
1426
-
1427
- if (cf_options.ttl > 0 && cf_options.ttl != kDefaultTtl) {
1428
- if (!cf_options.table_factory->IsInstanceOf(
1429
- TableFactory::kBlockBasedTableName())) {
1430
- return Status::NotSupported(
1431
- "TTL is only supported in Block-Based Table format. ");
1432
- }
1433
- }
1434
-
1435
- if (cf_options.periodic_compaction_seconds > 0 &&
1436
- cf_options.periodic_compaction_seconds != kDefaultPeriodicCompSecs) {
1437
- if (!cf_options.table_factory->IsInstanceOf(
1438
- TableFactory::kBlockBasedTableName())) {
1439
- return Status::NotSupported(
1440
- "Periodic Compaction is only supported in "
1441
- "Block-Based Table format. ");
1442
- }
1443
- }
1444
-
1445
- const auto* ucmp = cf_options.comparator;
1446
- assert(ucmp);
1447
- if (ucmp->timestamp_size() > 0 &&
1448
- !cf_options.persist_user_defined_timestamps) {
1449
- if (db_options.atomic_flush) {
1450
- return Status::NotSupported(
1451
- "Not persisting user-defined timestamps feature is not supported"
1452
- "in combination with atomic flush.");
1453
- }
1454
- if (db_options.allow_concurrent_memtable_write) {
1455
- return Status::NotSupported(
1456
- "Not persisting user-defined timestamps feature is not supported"
1457
- " in combination with concurrent memtable write.");
1458
- }
1459
- const char* comparator_name = cf_options.comparator->Name();
1460
- size_t name_size = strlen(comparator_name);
1461
- const char* suffix = ".u64ts";
1462
- size_t suffix_size = strlen(suffix);
1463
- if (name_size <= suffix_size ||
1464
- strcmp(comparator_name + name_size - suffix_size, suffix) != 0) {
1465
- return Status::NotSupported(
1466
- "Not persisting user-defined timestamps"
1467
- "feature only support user-defined timestamps formatted as "
1468
- "uint64_t.");
1469
- }
1470
- }
1471
-
1472
- if (cf_options.enable_blob_garbage_collection) {
1473
- if (cf_options.blob_garbage_collection_age_cutoff < 0.0 ||
1474
- cf_options.blob_garbage_collection_age_cutoff > 1.0) {
1475
- return Status::InvalidArgument(
1476
- "The age cutoff for blob garbage collection should be in the range "
1477
- "[0.0, 1.0].");
1478
- }
1479
- if (cf_options.blob_garbage_collection_force_threshold < 0.0 ||
1480
- cf_options.blob_garbage_collection_force_threshold > 1.0) {
1481
- return Status::InvalidArgument(
1482
- "The garbage ratio threshold for forcing blob garbage collection "
1483
- "should be in the range [0.0, 1.0].");
1484
- }
1485
- }
1486
-
1487
- if (cf_options.compaction_style == kCompactionStyleFIFO &&
1488
- db_options.max_open_files != -1 && cf_options.ttl > 0) {
1489
- return Status::NotSupported(
1490
- "FIFO compaction only supported with max_open_files = -1.");
1491
- }
1492
-
1493
- std::vector<uint32_t> supported{0, 1, 2, 4, 8};
1494
- if (std::find(supported.begin(), supported.end(),
1495
- cf_options.memtable_protection_bytes_per_key) ==
1496
- supported.end()) {
1497
- return Status::NotSupported(
1498
- "Memtable per key-value checksum protection only supports 0, 1, 2, 4 "
1499
- "or 8 bytes per key.");
1500
- }
1501
- if (std::find(supported.begin(), supported.end(),
1502
- cf_options.block_protection_bytes_per_key) == supported.end()) {
1503
- return Status::NotSupported(
1504
- "Block per key-value checksum protection only supports 0, 1, 2, 4 "
1505
- "or 8 bytes per key.");
1506
- }
1507
-
1508
- if (!cf_options.compaction_options_fifo.file_temperature_age_thresholds
1509
- .empty()) {
1510
- if (cf_options.compaction_style != kCompactionStyleFIFO) {
1511
- return Status::NotSupported(
1512
- "Option file_temperature_age_thresholds only supports FIFO "
1513
- "compaction.");
1514
- } else if (cf_options.num_levels > 1) {
1515
- return Status::NotSupported(
1516
- "Option file_temperature_age_thresholds is only supported when "
1517
- "num_levels = 1.");
1518
- } else {
1519
- const auto& ages =
1520
- cf_options.compaction_options_fifo.file_temperature_age_thresholds;
1521
- assert(ages.size() >= 1);
1522
- // check that age is sorted
1523
- for (size_t i = 0; i < ages.size() - 1; ++i) {
1524
- if (ages[i].age >= ages[i + 1].age) {
1525
- return Status::NotSupported(
1526
- "Option file_temperature_age_thresholds requires elements to be "
1527
- "sorted in increasing order with respect to `age` field.");
1528
- }
1529
- }
1530
- }
1531
- }
1532
-
1533
- if (cf_options.compaction_style == kCompactionStyleUniversal) {
1534
- int max_read_amp = cf_options.compaction_options_universal.max_read_amp;
1535
- if (max_read_amp < -1) {
1536
- return Status::NotSupported(
1537
- "CompactionOptionsUniversal::max_read_amp should be at least -1.");
1538
- } else if (0 < max_read_amp &&
1539
- max_read_amp < cf_options.level0_file_num_compaction_trigger) {
1540
- return Status::NotSupported(
1541
- "CompactionOptionsUniversal::max_read_amp limits the number of sorted"
1542
- " runs but is smaller than the compaction trigger "
1543
- "level0_file_num_compaction_trigger.");
1544
- }
1545
- }
1546
- return s;
1547
- }
1548
-
1549
- Status ColumnFamilyData::SetOptions(
1550
- const DBOptions& db_opts,
1551
- const std::unordered_map<std::string, std::string>& options_map) {
1552
- ColumnFamilyOptions cf_opts =
1553
- BuildColumnFamilyOptions(initial_cf_options_, mutable_cf_options_);
1554
- ConfigOptions config_opts;
1555
- config_opts.mutable_options_only = true;
1556
- Status s = GetColumnFamilyOptionsFromMap(config_opts, cf_opts, options_map,
1557
- &cf_opts);
1558
- if (s.ok()) {
1559
- s = ValidateOptions(db_opts, cf_opts);
1560
- }
1561
- if (s.ok()) {
1562
- mutable_cf_options_ = MutableCFOptions(cf_opts);
1563
- mutable_cf_options_.RefreshDerivedOptions(ioptions_);
1564
- }
1565
- return s;
1566
- }
1567
-
1568
- // REQUIRES: DB mutex held
1569
- Env::WriteLifeTimeHint ColumnFamilyData::CalculateSSTWriteHint(int level) {
1570
- if (initial_cf_options_.compaction_style != kCompactionStyleLevel) {
1571
- return Env::WLTH_NOT_SET;
1572
- }
1573
- if (level == 0) {
1574
- return Env::WLTH_MEDIUM;
1575
- }
1576
- int base_level = current_->storage_info()->base_level();
1577
-
1578
- // L1: medium, L2: long, ...
1579
- if (level - base_level >= 2) {
1580
- return Env::WLTH_EXTREME;
1581
- } else if (level < base_level) {
1582
- // There is no restriction which prevents level passed in to be smaller
1583
- // than base_level.
1584
- return Env::WLTH_MEDIUM;
1585
- }
1586
- return static_cast<Env::WriteLifeTimeHint>(
1587
- level - base_level + static_cast<int>(Env::WLTH_MEDIUM));
1588
- }
1589
-
1590
- Status ColumnFamilyData::AddDirectories(
1591
- std::map<std::string, std::shared_ptr<FSDirectory>>* created_dirs) {
1592
- Status s;
1593
- assert(created_dirs != nullptr);
1594
- assert(data_dirs_.empty());
1595
- for (auto& p : ioptions_.cf_paths) {
1596
- auto existing_dir = created_dirs->find(p.path);
1597
-
1598
- if (existing_dir == created_dirs->end()) {
1599
- std::unique_ptr<FSDirectory> path_directory;
1600
- s = DBImpl::CreateAndNewDirectory(ioptions_.fs.get(), p.path,
1601
- &path_directory);
1602
- if (!s.ok()) {
1603
- return s;
1604
- }
1605
- assert(path_directory != nullptr);
1606
- data_dirs_.emplace_back(path_directory.release());
1607
- (*created_dirs)[p.path] = data_dirs_.back();
1608
- } else {
1609
- data_dirs_.emplace_back(existing_dir->second);
1610
- }
1611
- }
1612
- assert(data_dirs_.size() == ioptions_.cf_paths.size());
1613
- return s;
1614
- }
1615
-
1616
- FSDirectory* ColumnFamilyData::GetDataDir(size_t path_id) const {
1617
- if (data_dirs_.empty()) {
1618
- return nullptr;
1619
- }
1620
-
1621
- assert(path_id < data_dirs_.size());
1622
- return data_dirs_[path_id].get();
1623
- }
1624
-
1625
- void ColumnFamilyData::SetFlushSkipReschedule() {
1626
- const Comparator* ucmp = user_comparator();
1627
- const size_t ts_sz = ucmp->timestamp_size();
1628
- if (ts_sz == 0 || ioptions_.persist_user_defined_timestamps) {
1629
- return;
1630
- }
1631
- flush_skip_reschedule_.store(true);
1632
- }
1633
-
1634
- bool ColumnFamilyData::GetAndClearFlushSkipReschedule() {
1635
- return flush_skip_reschedule_.exchange(false);
1636
- }
1637
-
1638
- bool ColumnFamilyData::ShouldPostponeFlushToRetainUDT(
1639
- uint64_t max_memtable_id) {
1640
- const Comparator* ucmp = user_comparator();
1641
- const size_t ts_sz = ucmp->timestamp_size();
1642
- if (ts_sz == 0 || ioptions_.persist_user_defined_timestamps) {
1643
- return false;
1644
- }
1645
- // If users set the `persist_user_defined_timestamps` flag to false, they
1646
- // should also set the `full_history_ts_low` flag to indicate the range of
1647
- // user-defined timestamps to retain in memory. Otherwise, we do not
1648
- // explicitly postpone flush to retain UDTs.
1649
- const std::string& full_history_ts_low = GetFullHistoryTsLow();
1650
- if (full_history_ts_low.empty()) {
1651
- return false;
1652
- }
1653
- for (const Slice& table_newest_udt :
1654
- imm()->GetTablesNewestUDT(max_memtable_id)) {
1655
- assert(table_newest_udt.size() == full_history_ts_low.size());
1656
- // Checking the newest UDT contained in MemTable with ascending ID up to
1657
- // `max_memtable_id`. Return immediately on finding the first MemTable that
1658
- // needs postponing.
1659
- if (ucmp->CompareTimestamp(table_newest_udt, full_history_ts_low) >= 0) {
1660
- return true;
1661
- }
1662
- }
1663
- return false;
1664
- }
1665
-
1666
- void ColumnFamilyData::RecoverEpochNumbers() {
1667
- assert(current_);
1668
- auto* vstorage = current_->storage_info();
1669
- assert(vstorage);
1670
- vstorage->RecoverEpochNumbers(this);
1671
- }
1672
-
1673
- ColumnFamilySet::ColumnFamilySet(const std::string& dbname,
1674
- const ImmutableDBOptions* db_options,
1675
- const FileOptions& file_options,
1676
- Cache* table_cache,
1677
- WriteBufferManager* _write_buffer_manager,
1678
- WriteController* _write_controller,
1679
- BlockCacheTracer* const block_cache_tracer,
1680
- const std::shared_ptr<IOTracer>& io_tracer,
1681
- const std::string& db_id,
1682
- const std::string& db_session_id)
1683
- : max_column_family_(0),
1684
- file_options_(file_options),
1685
- dummy_cfd_(new ColumnFamilyData(
1686
- ColumnFamilyData::kDummyColumnFamilyDataId, "", nullptr, nullptr,
1687
- nullptr, ColumnFamilyOptions(), *db_options, &file_options_, nullptr,
1688
- block_cache_tracer, io_tracer, db_id, db_session_id)),
1689
- default_cfd_cache_(nullptr),
1690
- db_name_(dbname),
1691
- db_options_(db_options),
1692
- table_cache_(table_cache),
1693
- write_buffer_manager_(_write_buffer_manager),
1694
- write_controller_(_write_controller),
1695
- block_cache_tracer_(block_cache_tracer),
1696
- io_tracer_(io_tracer),
1697
- db_id_(db_id),
1698
- db_session_id_(db_session_id) {
1699
- // initialize linked list
1700
- dummy_cfd_->prev_ = dummy_cfd_;
1701
- dummy_cfd_->next_ = dummy_cfd_;
1702
- }
1703
-
1704
- ColumnFamilySet::~ColumnFamilySet() {
1705
- while (column_family_data_.size() > 0) {
1706
- // cfd destructor will delete itself from column_family_data_
1707
- auto cfd = column_family_data_.begin()->second;
1708
- bool last_ref __attribute__((__unused__));
1709
- last_ref = cfd->UnrefAndTryDelete();
1710
- assert(last_ref);
1711
- }
1712
- bool dummy_last_ref __attribute__((__unused__));
1713
- dummy_last_ref = dummy_cfd_->UnrefAndTryDelete();
1714
- assert(dummy_last_ref);
1715
- }
1716
-
1717
- ColumnFamilyData* ColumnFamilySet::GetDefault() const {
1718
- assert(default_cfd_cache_ != nullptr);
1719
- return default_cfd_cache_;
1720
- }
1721
-
1722
- ColumnFamilyData* ColumnFamilySet::GetColumnFamily(uint32_t id) const {
1723
- auto cfd_iter = column_family_data_.find(id);
1724
- if (cfd_iter != column_family_data_.end()) {
1725
- return cfd_iter->second;
1726
- } else {
1727
- return nullptr;
1728
- }
1729
- }
1730
-
1731
- ColumnFamilyData* ColumnFamilySet::GetColumnFamily(
1732
- const std::string& name) const {
1733
- auto cfd_iter = column_families_.find(name);
1734
- if (cfd_iter != column_families_.end()) {
1735
- auto cfd = GetColumnFamily(cfd_iter->second);
1736
- assert(cfd != nullptr);
1737
- return cfd;
1738
- } else {
1739
- return nullptr;
1740
- }
1741
- }
1742
-
1743
- uint32_t ColumnFamilySet::GetNextColumnFamilyID() {
1744
- return ++max_column_family_;
1745
- }
1746
-
1747
- uint32_t ColumnFamilySet::GetMaxColumnFamily() { return max_column_family_; }
1748
-
1749
- void ColumnFamilySet::UpdateMaxColumnFamily(uint32_t new_max_column_family) {
1750
- max_column_family_ = std::max(new_max_column_family, max_column_family_);
1751
- }
1752
-
1753
- size_t ColumnFamilySet::NumberOfColumnFamilies() const {
1754
- return column_families_.size();
1755
- }
1756
-
1757
- // under a DB mutex AND write thread
1758
- ColumnFamilyData* ColumnFamilySet::CreateColumnFamily(
1759
- const std::string& name, uint32_t id, Version* dummy_versions,
1760
- const ColumnFamilyOptions& options) {
1761
- assert(column_families_.find(name) == column_families_.end());
1762
- ColumnFamilyData* new_cfd = new ColumnFamilyData(
1763
- id, name, dummy_versions, table_cache_, write_buffer_manager_, options,
1764
- *db_options_, &file_options_, this, block_cache_tracer_, io_tracer_,
1765
- db_id_, db_session_id_);
1766
- column_families_.insert({name, id});
1767
- column_family_data_.insert({id, new_cfd});
1768
- auto ucmp = new_cfd->user_comparator();
1769
- assert(ucmp);
1770
- size_t ts_sz = ucmp->timestamp_size();
1771
- running_ts_sz_.insert({id, ts_sz});
1772
- if (ts_sz > 0) {
1773
- ts_sz_for_record_.insert({id, ts_sz});
1774
- }
1775
- max_column_family_ = std::max(max_column_family_, id);
1776
- // add to linked list
1777
- new_cfd->next_ = dummy_cfd_;
1778
- auto prev = dummy_cfd_->prev_;
1779
- new_cfd->prev_ = prev;
1780
- prev->next_ = new_cfd;
1781
- dummy_cfd_->prev_ = new_cfd;
1782
- if (id == 0) {
1783
- default_cfd_cache_ = new_cfd;
1784
- }
1785
- return new_cfd;
1786
- }
1787
-
1788
- // under a DB mutex AND from a write thread
1789
- void ColumnFamilySet::RemoveColumnFamily(ColumnFamilyData* cfd) {
1790
- uint32_t cf_id = cfd->GetID();
1791
- auto cfd_iter = column_family_data_.find(cf_id);
1792
- assert(cfd_iter != column_family_data_.end());
1793
- column_family_data_.erase(cfd_iter);
1794
- column_families_.erase(cfd->GetName());
1795
- running_ts_sz_.erase(cf_id);
1796
- ts_sz_for_record_.erase(cf_id);
1797
- }
1798
-
1799
- // under a DB mutex OR from a write thread
1800
- bool ColumnFamilyMemTablesImpl::Seek(uint32_t column_family_id) {
1801
- if (column_family_id == 0) {
1802
- // optimization for common case
1803
- current_ = column_family_set_->GetDefault();
1804
- } else {
1805
- current_ = column_family_set_->GetColumnFamily(column_family_id);
1806
- }
1807
- handle_.SetCFD(current_);
1808
- return current_ != nullptr;
1809
- }
1810
-
1811
- uint64_t ColumnFamilyMemTablesImpl::GetLogNumber() const {
1812
- assert(current_ != nullptr);
1813
- return current_->GetLogNumber();
1814
- }
1815
-
1816
- MemTable* ColumnFamilyMemTablesImpl::GetMemTable() const {
1817
- assert(current_ != nullptr);
1818
- return current_->mem();
1819
- }
1820
-
1821
- ColumnFamilyHandle* ColumnFamilyMemTablesImpl::GetColumnFamilyHandle() {
1822
- assert(current_ != nullptr);
1823
- return &handle_;
1824
- }
1825
-
1826
- uint32_t GetColumnFamilyID(ColumnFamilyHandle* column_family) {
1827
- uint32_t column_family_id = 0;
1828
- if (column_family != nullptr) {
1829
- auto cfh = static_cast_with_check<ColumnFamilyHandleImpl>(column_family);
1830
- column_family_id = cfh->GetID();
1831
- }
1832
- return column_family_id;
1833
- }
1834
-
1835
- const Comparator* GetColumnFamilyUserComparator(
1836
- ColumnFamilyHandle* column_family) {
1837
- if (column_family != nullptr) {
1838
- return column_family->GetComparator();
1839
- }
1840
- return nullptr;
1841
- }
1842
-
1843
- const ImmutableOptions& GetImmutableOptions(ColumnFamilyHandle* column_family) {
1844
- assert(column_family);
1845
-
1846
- ColumnFamilyHandleImpl* const handle =
1847
- static_cast_with_check<ColumnFamilyHandleImpl>(column_family);
1848
- assert(handle);
1849
-
1850
- const ColumnFamilyData* const cfd = handle->cfd();
1851
- assert(cfd);
1852
-
1853
- const ImmutableOptions* ioptions = cfd->ioptions();
1854
- assert(ioptions);
1855
-
1856
- return *ioptions;
1857
- }
1858
-
1859
- } // namespace ROCKSDB_NAMESPACE