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,2339 +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
- // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
6
- // Use of this source code is governed by a BSD-style license that can be
7
- // found in the LICENSE file. See the AUTHORS file for names of contributors.
8
-
9
- #pragma once
10
-
11
- #include <stddef.h>
12
- #include <stdint.h>
13
-
14
- #include <limits>
15
- #include <memory>
16
- #include <optional>
17
- #include <string>
18
- #include <unordered_map>
19
- #include <vector>
20
-
21
- #include "rocksdb/advanced_options.h"
22
- #include "rocksdb/comparator.h"
23
- #include "rocksdb/compression_type.h"
24
- #include "rocksdb/customizable.h"
25
- #include "rocksdb/data_structure.h"
26
- #include "rocksdb/env.h"
27
- #include "rocksdb/file_checksum.h"
28
- #include "rocksdb/listener.h"
29
- #include "rocksdb/sst_partitioner.h"
30
- #include "rocksdb/types.h"
31
- #include "rocksdb/universal_compaction.h"
32
- #include "rocksdb/version.h"
33
- #include "rocksdb/write_buffer_manager.h"
34
-
35
- #ifdef max
36
- #undef max
37
- #endif
38
-
39
- namespace ROCKSDB_NAMESPACE {
40
-
41
- class Cache;
42
- class CompactionFilter;
43
- class CompactionFilterFactory;
44
- class Comparator;
45
- class ConcurrentTaskLimiter;
46
- class Env;
47
- enum InfoLogLevel : unsigned char;
48
- class SstFileManager;
49
- class FilterPolicy;
50
- class Logger;
51
- class MergeOperator;
52
- class Snapshot;
53
- class MemTableRepFactory;
54
- class RateLimiter;
55
- class Slice;
56
- class Statistics;
57
- class InternalKeyComparator;
58
- class WalFilter;
59
- class FileSystem;
60
-
61
- struct Options;
62
- struct DbPath;
63
-
64
- using FileTypeSet = SmallEnumSet<FileType, FileType::kBlobFile>;
65
-
66
- struct ColumnFamilyOptions : public AdvancedColumnFamilyOptions {
67
- // The function recovers options to a previous version. Only 4.6 or later
68
- // versions are supported.
69
- // NOT MAINTAINED: This function has not been and is not maintained.
70
- // DEPRECATED: This function might be removed in a future release.
71
- // In general, defaults are changed to suit broad interests. Opting
72
- // out of a change on upgrade should be deliberate and considered.
73
- ColumnFamilyOptions* OldDefaults(int rocksdb_major_version = 4,
74
- int rocksdb_minor_version = 6);
75
-
76
- // Some functions that make it easier to optimize RocksDB
77
- // Use this if your DB is very small (like under 1GB) and you don't want to
78
- // spend lots of memory for memtables.
79
- // An optional cache object is passed in to be used as the block cache
80
- ColumnFamilyOptions* OptimizeForSmallDb(
81
- std::shared_ptr<Cache>* cache = nullptr);
82
-
83
- // Use this if you don't need to keep the data sorted, i.e. you'll never use
84
- // an iterator, only Put() and Get() API calls
85
- //
86
- ColumnFamilyOptions* OptimizeForPointLookup(uint64_t block_cache_size_mb);
87
-
88
- // Default values for some parameters in ColumnFamilyOptions are not
89
- // optimized for heavy workloads and big datasets, which means you might
90
- // observe write stalls under some conditions. As a starting point for tuning
91
- // RocksDB options, use the following two functions:
92
- // * OptimizeLevelStyleCompaction -- optimizes level style compaction
93
- // * OptimizeUniversalStyleCompaction -- optimizes universal style compaction
94
- // Universal style compaction is focused on reducing Write Amplification
95
- // Factor for big data sets, but increases Space Amplification. You can learn
96
- // more about the different styles here:
97
- // https://github.com/facebook/rocksdb/wiki/Rocksdb-Architecture-Guide
98
- // Make sure to also call IncreaseParallelism(), which will provide the
99
- // biggest performance gains.
100
- // Note: we might use more memory than memtable_memory_budget during high
101
- // write rate period
102
- ColumnFamilyOptions* OptimizeLevelStyleCompaction(
103
- uint64_t memtable_memory_budget = 512 * 1024 * 1024);
104
- ColumnFamilyOptions* OptimizeUniversalStyleCompaction(
105
- uint64_t memtable_memory_budget = 512 * 1024 * 1024);
106
-
107
- // -------------------
108
- // Parameters that affect behavior
109
-
110
- // Comparator used to define the order of keys in the table.
111
- // Default: a comparator that uses lexicographic byte-wise ordering
112
- //
113
- // REQUIRES: The client must ensure that the comparator supplied
114
- // here has the same name and orders keys *exactly* the same as the
115
- // comparator provided to previous open calls on the same DB.
116
- const Comparator* comparator = BytewiseComparator();
117
-
118
- // REQUIRES: The client must provide a merge operator if Merge operation
119
- // needs to be accessed. Calling Merge on a DB without a merge operator
120
- // would result in Status::NotSupported. The client must ensure that the
121
- // merge operator supplied here has the same name and *exactly* the same
122
- // semantics as the merge operator provided to previous open calls on
123
- // the same DB. The only exception is reserved for upgrade, where a DB
124
- // previously without a merge operator is introduced to Merge operation
125
- // for the first time. It's necessary to specify a merge operator when
126
- // opening the DB in this case.
127
- // Default: nullptr
128
- std::shared_ptr<MergeOperator> merge_operator = nullptr;
129
-
130
- // A single CompactionFilter instance to call into during compaction.
131
- // Allows an application to modify/delete a key-value during background
132
- // compaction.
133
- //
134
- // If the client requires a new `CompactionFilter` to be used for different
135
- // compaction runs and/or requires a `CompactionFilter` for table file
136
- // creations outside of compaction, it can specify compaction_filter_factory
137
- // instead of this option. The client should specify only one of the two.
138
- // compaction_filter takes precedence over compaction_filter_factory if
139
- // client specifies both.
140
- //
141
- // If multithreaded compaction is being used, the supplied CompactionFilter
142
- // instance may be used from different threads concurrently and so should be
143
- // thread-safe.
144
- //
145
- // Default: nullptr
146
- const CompactionFilter* compaction_filter = nullptr;
147
-
148
- // This is a factory that provides `CompactionFilter` objects which allow
149
- // an application to modify/delete a key-value during table file creation.
150
- //
151
- // Unlike the `compaction_filter` option, which is used when compaction
152
- // creates a table file, this factory allows using a `CompactionFilter` when a
153
- // table file is created for various reasons. The factory can decide what
154
- // `TableFileCreationReason`s use a `CompactionFilter`. For compatibility, by
155
- // default the decision is to use a `CompactionFilter` for
156
- // `TableFileCreationReason::kCompaction` only.
157
- //
158
- // Each thread of work involving creating table files will create a new
159
- // `CompactionFilter` when it will be used according to the above
160
- // `TableFileCreationReason`-based decision. This allows the application to
161
- // know about the different ongoing threads of work and makes it unnecessary
162
- // for `CompactionFilter` to provide thread-safety.
163
- //
164
- // Default: nullptr
165
- std::shared_ptr<CompactionFilterFactory> compaction_filter_factory = nullptr;
166
-
167
- // -------------------
168
- // Parameters that affect performance
169
-
170
- // Amount of data to build up in memory (backed by an unsorted log
171
- // on disk) before converting to a sorted on-disk file.
172
- //
173
- // Larger values increase performance, especially during bulk loads.
174
- // Up to max_write_buffer_number write buffers may be held in memory
175
- // at the same time,
176
- // so you may wish to adjust this parameter to control memory usage.
177
- // Also, a larger write buffer will result in a longer recovery time
178
- // the next time the database is opened.
179
- //
180
- // Note that write_buffer_size is enforced per column family.
181
- // See db_write_buffer_size for sharing memory across column families.
182
- //
183
- // Default: 64MB
184
- //
185
- // Dynamically changeable through SetOptions() API
186
- size_t write_buffer_size = 64 << 20;
187
-
188
- // Compress blocks using the specified compression algorithm.
189
- //
190
- // Default: kSnappyCompression, if it's supported. If snappy is not linked
191
- // with the library, the default is kNoCompression.
192
- //
193
- // Typical speeds of kSnappyCompression on an Intel(R) Core(TM)2 2.4GHz:
194
- // ~200-500MB/s compression
195
- // ~400-800MB/s decompression
196
- //
197
- // Note that these speeds are significantly faster than most
198
- // persistent storage speeds, and therefore it is typically never
199
- // worth switching to kNoCompression. Even if the input data is
200
- // incompressible, the kSnappyCompression implementation will
201
- // efficiently detect that and will switch to uncompressed mode.
202
- //
203
- // If you do not set `compression_opts.level`, or set it to
204
- // `CompressionOptions::kDefaultCompressionLevel`, we will attempt to pick the
205
- // default corresponding to `compression` as follows:
206
- //
207
- // - kZSTD: 3
208
- // - kZlibCompression: Z_DEFAULT_COMPRESSION (currently -1)
209
- // - kLZ4HCCompression: 0
210
- // - kLZ4: -1 (i.e., `acceleration=1`; see `CompressionOptions::level` doc)
211
- // - For all others, we do not specify a compression level
212
- //
213
- // Dynamically changeable through SetOptions() API
214
- CompressionType compression;
215
-
216
- // Compression algorithm that will be used for the bottommost level that
217
- // contain files. The behavior for num_levels = 1 is not well defined.
218
- // Right now, with num_levels = 1, all compaction outputs will use
219
- // bottommost_compression and all flush outputs still use options.compression,
220
- // but the behavior is subject to change.
221
- //
222
- // Default: kDisableCompressionOption (Disabled)
223
- CompressionType bottommost_compression = kDisableCompressionOption;
224
-
225
- // different options for compression algorithms used by bottommost_compression
226
- // if it is enabled. To enable it, please see the definition of
227
- // CompressionOptions. Behavior for num_levels = 1 is the same as
228
- // options.bottommost_compression.
229
- CompressionOptions bottommost_compression_opts;
230
-
231
- // different options for compression algorithms
232
- CompressionOptions compression_opts;
233
-
234
- // Number of files to trigger level-0 compaction. A value <0 means that
235
- // level-0 compaction will not be triggered by number of files at all.
236
- //
237
- // Universal compaction: RocksDB will try to keep the number of sorted runs
238
- // no more than this number. If CompactionOptionsUniversal::max_read_amp is
239
- // set, then this option will be used only as a trigger to look for
240
- // compaction. CompactionOptionsUniversal::max_read_amp will be the limit
241
- // on the number of sorted runs.
242
- //
243
- // Default: 4
244
- //
245
- // Dynamically changeable through SetOptions() API
246
- int level0_file_num_compaction_trigger = 4;
247
-
248
- // If non-nullptr, use the specified function to put keys in contiguous
249
- // groups called "prefixes". These prefixes are used to place one
250
- // representative entry for the group into the Bloom filter
251
- // rather than an entry for each key (see whole_key_filtering).
252
- // Under certain conditions, this enables optimizing some range queries
253
- // (Iterators) in addition to some point lookups (Get/MultiGet).
254
- //
255
- // Together `prefix_extractor` and `comparator` must satisfy one essential
256
- // property for valid prefix filtering of range queries:
257
- // If Compare(k1, k2) <= 0 and Compare(k2, k3) <= 0 and
258
- // InDomain(k1) and InDomain(k3) and prefix(k1) == prefix(k3),
259
- // Then InDomain(k2) and prefix(k2) == prefix(k1)
260
- //
261
- // In other words, all keys with the same prefix must be in a contiguous
262
- // group by comparator order, and cannot be interrupted by keys with no
263
- // prefix ("out of domain"). (This makes it valid to conclude that no
264
- // entries within some bounds are present if the upper and lower bounds
265
- // have a common prefix and no entries with that same prefix are present.)
266
- //
267
- // Some other properties are recommended but not strictly required. Under
268
- // most sensible comparators, the following will need to hold true to
269
- // satisfy the essential property above:
270
- // * "Prefix is a prefix": key.starts_with(prefix(key))
271
- // * "Prefixes preserve ordering": If Compare(k1, k2) <= 0, then
272
- // Compare(prefix(k1), prefix(k2)) <= 0
273
- //
274
- // The next two properties ensure that seeking to a prefix allows
275
- // enumerating all entries with that prefix:
276
- // * "Prefix starts the group": Compare(prefix(key), key) <= 0
277
- // * "Prefix idempotent": prefix(prefix(key)) == prefix(key)
278
- //
279
- // Default: nullptr
280
- std::shared_ptr<const SliceTransform> prefix_extractor = nullptr;
281
-
282
- // Control maximum total data size for a level.
283
- // max_bytes_for_level_base is the max total for level-1.
284
- // Maximum number of bytes for level L can be calculated as
285
- // (max_bytes_for_level_base) * (max_bytes_for_level_multiplier ^ (L-1))
286
- // For example, if max_bytes_for_level_base is 200MB, and if
287
- // max_bytes_for_level_multiplier is 10, total data size for level-1
288
- // will be 200MB, total file size for level-2 will be 2GB,
289
- // and total file size for level-3 will be 20GB.
290
- //
291
- // Default: 256MB.
292
- //
293
- // Dynamically changeable through SetOptions() API
294
- uint64_t max_bytes_for_level_base = 256 * 1048576;
295
-
296
- // Deprecated.
297
- uint64_t snap_refresh_nanos = 0;
298
-
299
- // Disable automatic compactions. Manual compactions can still
300
- // be issued on this column family
301
- //
302
- // Dynamically changeable through SetOptions() API
303
- bool disable_auto_compactions = false;
304
-
305
- // This is a factory that provides TableFactory objects.
306
- // Default: a block-based table factory that provides a default
307
- // implementation of TableBuilder and TableReader with default
308
- // BlockBasedTableOptions.
309
- std::shared_ptr<TableFactory> table_factory;
310
-
311
- // A list of paths where SST files for this column family
312
- // can be put into, with its target size. Similar to db_paths,
313
- // newer data is placed into paths specified earlier in the
314
- // vector while older data gradually moves to paths specified
315
- // later in the vector.
316
- // Note that, if a path is supplied to multiple column
317
- // families, it would have files and total size from all
318
- // the column families combined. User should provision for the
319
- // total size(from all the column families) in such cases.
320
- //
321
- // If left empty, db_paths will be used.
322
- // Default: empty
323
- std::vector<DbPath> cf_paths;
324
-
325
- // Compaction concurrent thread limiter for the column family.
326
- // If non-nullptr, use given concurrent thread limiter to control
327
- // the max outstanding compaction tasks. Limiter can be shared with
328
- // multiple column families across db instances.
329
- //
330
- // Default: nullptr
331
- std::shared_ptr<ConcurrentTaskLimiter> compaction_thread_limiter = nullptr;
332
-
333
- // If non-nullptr, use the specified factory for a function to determine the
334
- // partitioning of sst files. This helps compaction to split the files
335
- // on interesting boundaries (key prefixes) to make propagation of sst
336
- // files less write amplifying (covering the whole key space).
337
- // THE FEATURE IS STILL EXPERIMENTAL
338
- //
339
- // Default: nullptr
340
- std::shared_ptr<SstPartitionerFactory> sst_partitioner_factory = nullptr;
341
-
342
- // RocksDB will try to flush the current memtable after the number of range
343
- // deletions is >= this limit. For workloads with many range
344
- // deletions, limiting the number of range deletions in memtable can help
345
- // prevent performance degradation and/or OOM caused by too many range
346
- // tombstones in a single memtable.
347
- //
348
- // Default: 0 (disabled)
349
- //
350
- // Dynamically changeable through SetOptions() API
351
- uint32_t memtable_max_range_deletions = 0;
352
-
353
- // EXPERIMENTAL
354
- // When > 0, RocksDB attempts to erase some block cache entries for files
355
- // that have become obsolete, which means they are about to be deleted.
356
- // To avoid excessive tracking, this "uncaching" process is iterative and
357
- // speculative, meaning it could incur extra background CPU effort if the
358
- // file's blocks are generally not cached. A larger number indicates more
359
- // willingness to spend CPU time to maximize block cache hit rates by
360
- // erasing known-obsolete entries.
361
- //
362
- // When uncache_aggressiveness=1, block cache entries for an obsolete file
363
- // are only erased until any attempted erase operation fails because the
364
- // block is not cached. Then no further attempts are made to erase cached
365
- // blocks for that file.
366
- //
367
- // For larger values, erasure is attempted until evidence incidates that the
368
- // chance of success is < 0.99^(a-1), where a = uncache_aggressiveness. For
369
- // example:
370
- // 2 -> Attempt only while expecting >= 99% successful/useful erasure
371
- // 11 -> 90%
372
- // 69 -> 50%
373
- // 110 -> 33%
374
- // 230 -> 10%
375
- // 460 -> 1%
376
- // 690 -> 0.1%
377
- // 1000 -> 1 in 23000
378
- // 10000 -> Always (for all practical purposes)
379
- // NOTE: UINT32_MAX and nearby values could take additional special meanings
380
- // in the future.
381
- //
382
- // Pinned cache entries (guaranteed present) are always erased if
383
- // uncache_aggressiveness > 0, but are not used in predicting the chances of
384
- // successful erasure of non-pinned entries.
385
- //
386
- // NOTE: In the case of copied DBs (such as Checkpoints) sharing a block
387
- // cache, it is possible that a file becoming obsolete doesn't mean its
388
- // block cache entries (shared among copies) are obsolete. Such a scenerio
389
- // is the best case for uncache_aggressiveness = 0.
390
- //
391
- // Once validated in production, the default will likely change to something
392
- // around 300.
393
- uint32_t uncache_aggressiveness = 0;
394
-
395
- // Create ColumnFamilyOptions with default values for all fields
396
- ColumnFamilyOptions();
397
- // Create ColumnFamilyOptions from Options
398
- explicit ColumnFamilyOptions(const Options& options);
399
-
400
- void Dump(Logger* log) const;
401
- };
402
-
403
- enum class WALRecoveryMode : char {
404
- // Original levelDB recovery
405
- //
406
- // We tolerate the last record in any log to be incomplete due to a crash
407
- // while writing it. Zeroed bytes from preallocation are also tolerated in the
408
- // trailing data of any log.
409
- //
410
- // Use case: Applications for which updates, once applied, must not be rolled
411
- // back even after a crash-recovery. In this recovery mode, RocksDB guarantees
412
- // this as long as `WritableFile::Append()` writes are durable. In case the
413
- // user needs the guarantee in more situations (e.g., when
414
- // `WritableFile::Append()` writes to page cache, but the user desires this
415
- // guarantee in face of power-loss crash-recovery), RocksDB offers various
416
- // mechanisms to additionally invoke `WritableFile::Sync()` in order to
417
- // strengthen the guarantee.
418
- //
419
- // This differs from `kPointInTimeRecovery` in that, in case a corruption is
420
- // detected during recovery, this mode will refuse to open the DB. Whereas,
421
- // `kPointInTimeRecovery` will stop recovery just before the corruption since
422
- // that is a valid point-in-time to which to recover.
423
- kTolerateCorruptedTailRecords = 0x00,
424
- // Recover from clean shutdown
425
- // We don't expect to find any corruption in the WAL
426
- // Use case : This is ideal for unit tests and rare applications that
427
- // can require high consistency guarantee
428
- kAbsoluteConsistency = 0x01,
429
- // Recover to point-in-time consistency (default)
430
- // We stop the WAL playback on discovering WAL inconsistency
431
- // Use case : Ideal for systems that have disk controller cache like
432
- // hard disk, SSD without super capacitor that store related data
433
- kPointInTimeRecovery = 0x02,
434
- // Recovery after a disaster
435
- // We ignore any corruption in the WAL and try to salvage as much data as
436
- // possible
437
- // Use case : Ideal for last ditch effort to recover data or systems that
438
- // operate with low grade unrelated data
439
- kSkipAnyCorruptedRecords = 0x03,
440
- };
441
-
442
- struct DbPath {
443
- std::string path;
444
- uint64_t target_size; // Target size of total files under the path, in byte.
445
-
446
- DbPath() : target_size(0) {}
447
- DbPath(const std::string& p, uint64_t t) : path(p), target_size(t) {}
448
- };
449
-
450
- extern const char* kHostnameForDbHostId;
451
-
452
- enum class CompactionServiceJobStatus : char {
453
- kSuccess,
454
- kFailure,
455
- kUseLocal,
456
- };
457
-
458
- struct CompactionServiceJobInfo {
459
- std::string db_name;
460
- std::string db_id;
461
- std::string db_session_id;
462
- uint64_t job_id; // job_id is only unique within the current DB and session,
463
- // restart DB will reset the job_id. `db_id` and
464
- // `db_session_id` could help you build unique id across
465
- // different DBs and sessions.
466
-
467
- Env::Priority priority;
468
-
469
- CompactionServiceJobInfo(std::string db_name_, std::string db_id_,
470
- std::string db_session_id_, uint64_t job_id_,
471
- Env::Priority priority_)
472
- : db_name(std::move(db_name_)),
473
- db_id(std::move(db_id_)),
474
- db_session_id(std::move(db_session_id_)),
475
- job_id(job_id_),
476
- priority(priority_) {}
477
- };
478
-
479
- struct CompactionServiceScheduleResponse {
480
- std::string scheduled_job_id; // Generated outside of primary host, unique
481
- // across different DBs and sessions
482
- CompactionServiceJobStatus status;
483
- CompactionServiceScheduleResponse(std::string scheduled_job_id_,
484
- CompactionServiceJobStatus status_)
485
- : scheduled_job_id(scheduled_job_id_), status(status_) {}
486
- explicit CompactionServiceScheduleResponse(CompactionServiceJobStatus status_)
487
- : status(status_) {}
488
- };
489
-
490
- // Exceptions MUST NOT propagate out of overridden functions into RocksDB,
491
- // because RocksDB is not exception-safe. This could cause undefined behavior
492
- // including data loss, unreported corruption, deadlocks, and more.
493
- class CompactionService : public Customizable {
494
- public:
495
- static const char* Type() { return "CompactionService"; }
496
-
497
- // Returns the name of this compaction service.
498
- const char* Name() const override = 0;
499
-
500
- // Schedule compaction to be processed remotely.
501
- virtual CompactionServiceScheduleResponse Schedule(
502
- const CompactionServiceJobInfo& /*info*/,
503
- const std::string& /*compaction_service_input*/) {
504
- CompactionServiceScheduleResponse response(
505
- CompactionServiceJobStatus::kUseLocal);
506
- return response;
507
- }
508
-
509
- // Wait for the scheduled compaction to finish from the remote worker
510
- virtual CompactionServiceJobStatus Wait(
511
- const std::string& /*scheduled_job_id*/, std::string* /*result*/) {
512
- return CompactionServiceJobStatus::kUseLocal;
513
- }
514
-
515
- // Deprecated. Please implement Schedule() and Wait() API to handle remote
516
- // compaction
517
-
518
- // Start the remote compaction with `compaction_service_input`, which can be
519
- // passed to `DB::OpenAndCompact()` on the remote side. `info` provides the
520
- // information the user might want to know, which includes `job_id`.
521
- virtual CompactionServiceJobStatus StartV2(
522
- const CompactionServiceJobInfo& /*info*/,
523
- const std::string& /*compaction_service_input*/) {
524
- return CompactionServiceJobStatus::kUseLocal;
525
- }
526
-
527
- // Wait for remote compaction to finish.
528
- virtual CompactionServiceJobStatus WaitForCompleteV2(
529
- const CompactionServiceJobInfo& /*info*/,
530
- std::string* /*compaction_service_result*/) {
531
- return CompactionServiceJobStatus::kUseLocal;
532
- }
533
-
534
- ~CompactionService() override = default;
535
- };
536
-
537
- struct DBOptions {
538
- // The function recovers options to the option as in version 4.6.
539
- // NOT MAINTAINED: This function has not been and is not maintained.
540
- // DEPRECATED: This function might be removed in a future release.
541
- // In general, defaults are changed to suit broad interests. Opting
542
- // out of a change on upgrade should be deliberate and considered.
543
- DBOptions* OldDefaults(int rocksdb_major_version = 4,
544
- int rocksdb_minor_version = 6);
545
-
546
- // Some functions that make it easier to optimize RocksDB
547
-
548
- // Use this if your DB is very small (like under 1GB) and you don't want to
549
- // spend lots of memory for memtables.
550
- // An optional cache object is passed in for the memory of the
551
- // memtable to cost to
552
- DBOptions* OptimizeForSmallDb(std::shared_ptr<Cache>* cache = nullptr);
553
-
554
- // By default, RocksDB uses only one background thread for flush and
555
- // compaction. Calling this function will set it up such that total of
556
- // `total_threads` is used. Good value for `total_threads` is the number of
557
- // cores. You almost definitely want to call this function if your system is
558
- // bottlenecked by RocksDB.
559
- DBOptions* IncreaseParallelism(int total_threads = 16);
560
-
561
- // If true, the database will be created if it is missing.
562
- // Default: false
563
- bool create_if_missing = false;
564
-
565
- // If true, missing column families will be automatically created on
566
- // DB::Open().
567
- // Default: false
568
- bool create_missing_column_families = false;
569
-
570
- // If true, an error is raised if the database already exists.
571
- // Default: false
572
- bool error_if_exists = false;
573
-
574
- // If true, RocksDB will aggressively check consistency of the data.
575
- // Also, if any of the writes to the database fails (Put, Delete, Merge,
576
- // Write), the database will switch to read-only mode and fail all other
577
- // Write operations.
578
- // In most cases you want this to be set to true.
579
- // Default: true
580
- bool paranoid_checks = true;
581
-
582
- // DEPRECATED: This option might be removed in a future release.
583
- //
584
- // If true, during memtable flush, RocksDB will validate total entries
585
- // read in flush, and compare with counter inserted into it.
586
- //
587
- // The option is here to turn the feature off in case this new validation
588
- // feature has a bug. The option may be removed in the future once the
589
- // feature is stable.
590
- //
591
- // Default: true
592
- bool flush_verify_memtable_count = true;
593
-
594
- // DEPRECATED: This option might be removed in a future release.
595
- //
596
- // If true, during compaction, RocksDB will count the number of entries
597
- // read and compare it against the number of entries in the compaction
598
- // input files. This is intended to add protection against corruption
599
- // during compaction. Note that
600
- // - this verification is not done for compactions during which a compaction
601
- // filter returns kRemoveAndSkipUntil, and
602
- // - the number of range deletions is not verified.
603
- //
604
- // The option is here to turn the feature off in case this new validation
605
- // feature has a bug. The option may be removed in the future once the
606
- // feature is stable.
607
- //
608
- // Default: true
609
- bool compaction_verify_record_count = true;
610
-
611
- // If true, the log numbers and sizes of the synced WALs are tracked
612
- // in MANIFEST. During DB recovery, if a synced WAL is missing
613
- // from disk, or the WAL's size does not match the recorded size in
614
- // MANIFEST, an error will be reported and the recovery will be aborted.
615
- //
616
- // This is one additional protection against WAL corruption besides the
617
- // per-WAL-entry checksum.
618
- //
619
- // Note that this option does not work with secondary instance.
620
- // Currently, only syncing closed WALs are tracked. Calling `DB::SyncWAL()`,
621
- // etc. or writing with `WriteOptions::sync=true` to sync the live WAL is not
622
- // tracked for performance/efficiency reasons.
623
- //
624
- // Default: false
625
- bool track_and_verify_wals_in_manifest = false;
626
-
627
- // If true, verifies the SST unique id between MANIFEST and actual file
628
- // each time an SST file is opened. This check ensures an SST file is not
629
- // overwritten or misplaced. A corruption error will be reported if mismatch
630
- // detected, but only when MANIFEST tracks the unique id, which starts from
631
- // RocksDB version 7.3. Although the tracked internal unique id is related
632
- // to the one returned by GetUniqueIdFromTableProperties, that is subject to
633
- // change.
634
- // NOTE: verification is currently only done on SST files using block-based
635
- // table format.
636
- //
637
- // Setting to false should only be needed in case of unexpected problems.
638
- //
639
- // Although an early version of this option opened all SST files for
640
- // verification on DB::Open, that is no longer guaranteed. However, as
641
- // documented in an above option, if max_open_files is -1, DB will open all
642
- // files on DB::Open().
643
- //
644
- // Default: true
645
- bool verify_sst_unique_id_in_manifest = true;
646
-
647
- // Use the specified object to interact with the environment,
648
- // e.g. to read/write files, schedule background work, etc.
649
- // Default: Env::Default()
650
- Env* env = Env::Default();
651
-
652
- // Limits internal file read/write bandwidth:
653
- //
654
- // - Flush requests write bandwidth at `Env::IOPriority::IO_HIGH`
655
- // - Compaction requests read and write bandwidth at
656
- // `Env::IOPriority::IO_LOW`
657
- // - Reads associated with a `ReadOptions` can be charged at
658
- // `ReadOptions::rate_limiter_priority` (see that option's API doc for usage
659
- // and limitations).
660
- // - Writes associated with a `WriteOptions` can be charged at
661
- // `WriteOptions::rate_limiter_priority` (see that option's API doc for
662
- // usage and limitations).
663
- //
664
- // Rate limiting is disabled if nullptr. If rate limiter is enabled,
665
- // bytes_per_sync is set to 1MB by default.
666
- //
667
- // Default: nullptr
668
- std::shared_ptr<RateLimiter> rate_limiter = nullptr;
669
-
670
- // Use to track SST files and control their file deletion rate.
671
- //
672
- // Features:
673
- // - Throttle the deletion rate of the SST files.
674
- // - Keep track the total size of all SST files.
675
- // - Set a maximum allowed space limit for SST files that when reached
676
- // the DB wont do any further flushes or compactions and will set the
677
- // background error.
678
- // - Can be shared between multiple dbs.
679
- // Limitations:
680
- // - Only track and throttle deletes of SST files in
681
- // first db_path (db_name if db_paths is empty).
682
- //
683
- // Default: nullptr
684
- std::shared_ptr<SstFileManager> sst_file_manager = nullptr;
685
-
686
- // Any internal progress/error information generated by the db will
687
- // be written to info_log if it is non-nullptr, or to a file stored
688
- // in the same directory as the DB contents if info_log is nullptr.
689
- // Default: nullptr
690
- std::shared_ptr<Logger> info_log = nullptr;
691
-
692
- // Minimum level for sending log messages to info_log. The default is
693
- // INFO_LEVEL when RocksDB is compiled in release mode, and DEBUG_LEVEL
694
- // when it is compiled in debug mode.
695
- InfoLogLevel info_log_level = Logger::kDefaultLogLevel;
696
-
697
- // Number of open files that can be used by the DB. You may need to
698
- // increase this if your database has a large working set. Value -1 means
699
- // files opened are always kept open. You can estimate number of files based
700
- // on target_file_size_base and target_file_size_multiplier for level-based
701
- // compaction. For universal-style compaction, you can usually set it to -1.
702
- //
703
- // A high value or -1 for this option can cause high memory usage.
704
- // See BlockBasedTableOptions::cache_usage_options to constrain
705
- // memory usage in case of block based table format.
706
- //
707
- // Default: -1
708
- //
709
- // Dynamically changeable through SetDBOptions() API.
710
- int max_open_files = -1;
711
-
712
- // If max_open_files is -1, DB will open all files on DB::Open(). You can
713
- // use this option to increase the number of threads used to open the files.
714
- // Default: 16
715
- int max_file_opening_threads = 16;
716
-
717
- // Once write-ahead logs exceed this size, we will start forcing the flush of
718
- // column families whose memtables are backed by the oldest live WAL file
719
- // (i.e. the ones that are causing all the space amplification). If set to 0
720
- // (default), we will dynamically choose the WAL size limit to be
721
- // [sum of all write_buffer_size * max_write_buffer_number] * 4
722
- //
723
- // For example, with 15 column families, each with
724
- // write_buffer_size = 128 MB
725
- // max_write_buffer_number = 6
726
- // max_total_wal_size will be calculated to be [15 * 128MB * 6] * 4 = 45GB
727
- //
728
- // The RocksDB wiki has some discussion about how the WAL interacts
729
- // with memtables and flushing of column families.
730
- // https://github.com/facebook/rocksdb/wiki/Column-Families
731
- //
732
- // This option takes effect only when there are more than one column
733
- // family as otherwise the wal size is dictated by the write_buffer_size.
734
- //
735
- // Default: 0
736
- //
737
- // Dynamically changeable through SetDBOptions() API.
738
- uint64_t max_total_wal_size = 0;
739
-
740
- // If non-null, then we should collect metrics about database operations
741
- std::shared_ptr<Statistics> statistics = nullptr;
742
-
743
- // By default, writes to stable storage use fdatasync (on platforms
744
- // where this function is available). If this option is true,
745
- // fsync is used instead.
746
- //
747
- // fsync and fdatasync are equally safe for our purposes and fdatasync is
748
- // faster, so it is rarely necessary to set this option. It is provided
749
- // as a workaround for kernel/filesystem bugs, such as one that affected
750
- // fdatasync with ext4 in kernel versions prior to 3.7.
751
- bool use_fsync = false;
752
-
753
- // A list of paths where SST files can be put into, with its target size.
754
- // Newer data is placed into paths specified earlier in the vector while
755
- // older data gradually moves to paths specified later in the vector.
756
- //
757
- // For example, you have a flash device with 10GB allocated for the DB,
758
- // as well as a hard drive of 2TB, you should config it to be:
759
- // [{"/flash_path", 10GB}, {"/hard_drive", 2TB}]
760
- //
761
- // The system will try to guarantee data under each path is close to but
762
- // not larger than the target size. But current and future file sizes used
763
- // by determining where to place a file are based on best-effort estimation,
764
- // which means there is a chance that the actual size under the directory
765
- // is slightly more than target size under some workloads. User should give
766
- // some buffer room for those cases.
767
- //
768
- // If none of the paths has sufficient room to place a file, the file will
769
- // be placed to the last path anyway, despite to the target size.
770
- //
771
- // Placing newer data to earlier paths is also best-efforts. User should
772
- // expect user files to be placed in higher levels in some extreme cases.
773
- //
774
- // If left empty, only one path will be used, which is db_name passed when
775
- // opening the DB.
776
- // Default: empty
777
- std::vector<DbPath> db_paths;
778
-
779
- // This specifies the info LOG dir.
780
- // If it is empty, the log files will be in the same dir as data.
781
- // If it is non empty, the log files will be in the specified dir,
782
- // and the db data dir's absolute path will be used as the log file
783
- // name's prefix.
784
- std::string db_log_dir = "";
785
-
786
- // This specifies the absolute dir path for write-ahead logs (WAL).
787
- // If it is empty, the log files will be in the same dir as data,
788
- // dbname is used as the data dir by default
789
- // If it is non empty, the log files will be in kept the specified dir.
790
- // When destroying the db,
791
- // all log files in wal_dir and the dir itself is deleted
792
- std::string wal_dir = "";
793
-
794
- // The periodicity when obsolete files get deleted. The default
795
- // value is 6 hours. The files that get out of scope by compaction
796
- // process will still get automatically delete on every compaction,
797
- // regardless of this setting
798
- //
799
- // Default: 6 hours
800
- //
801
- // Dynamically changeable through SetDBOptions() API.
802
- uint64_t delete_obsolete_files_period_micros = 6ULL * 60 * 60 * 1000000;
803
-
804
- // Maximum number of concurrent background jobs (compactions and flushes).
805
- //
806
- // Default: 2
807
- //
808
- // Dynamically changeable through SetDBOptions() API.
809
- int max_background_jobs = 2;
810
-
811
- // DEPRECATED: RocksDB automatically decides this based on the
812
- // value of max_background_jobs. For backwards compatibility we will set
813
- // `max_background_jobs = max_background_compactions + max_background_flushes`
814
- // in the case where user sets at least one of `max_background_compactions` or
815
- // `max_background_flushes` (we replace -1 by 1 in case one option is unset).
816
- //
817
- // Maximum number of concurrent background compaction jobs, submitted to
818
- // the default LOW priority thread pool.
819
- //
820
- // If you're increasing this, also consider increasing number of threads in
821
- // LOW priority thread pool. For more information, see
822
- // Env::SetBackgroundThreads
823
- //
824
- // Default: -1
825
- //
826
- // Dynamically changeable through SetDBOptions() API.
827
- int max_background_compactions = -1;
828
-
829
- // This value represents the maximum number of threads that will
830
- // concurrently perform a compaction job by breaking it into multiple,
831
- // smaller ones that are run simultaneously.
832
- // Default: 1 (i.e. no subcompactions)
833
- //
834
- // Dynamically changeable through SetDBOptions() API.
835
- uint32_t max_subcompactions = 1;
836
-
837
- // DEPRECATED: RocksDB automatically decides this based on the
838
- // value of max_background_jobs. For backwards compatibility we will set
839
- // `max_background_jobs = max_background_compactions + max_background_flushes`
840
- // in the case where user sets at least one of `max_background_compactions` or
841
- // `max_background_flushes`.
842
- //
843
- // Maximum number of concurrent background memtable flush jobs, submitted by
844
- // default to the HIGH priority thread pool. If the HIGH priority thread pool
845
- // is configured to have zero threads, flush jobs will share the LOW priority
846
- // thread pool with compaction jobs.
847
- //
848
- // It is important to use both thread pools when the same Env is shared by
849
- // multiple db instances. Without a separate pool, long running compaction
850
- // jobs could potentially block memtable flush jobs of other db instances,
851
- // leading to unnecessary Put stalls.
852
- //
853
- // If you're increasing this, also consider increasing number of threads in
854
- // HIGH priority thread pool. For more information, see
855
- // Env::SetBackgroundThreads
856
- // Default: -1
857
- int max_background_flushes = -1;
858
-
859
- // Specify the maximal size of the info log file. If the log file
860
- // is larger than `max_log_file_size`, a new info log file will
861
- // be created.
862
- // If max_log_file_size == 0, all logs will be written to one
863
- // log file.
864
- size_t max_log_file_size = 0;
865
-
866
- // Time for the info log file to roll (in seconds).
867
- // If specified with non-zero value, log file will be rolled
868
- // if it has been active longer than `log_file_time_to_roll`.
869
- // Default: 0 (disabled)
870
- size_t log_file_time_to_roll = 0;
871
-
872
- // Maximal info log files to be kept.
873
- // Default: 1000
874
- size_t keep_log_file_num = 1000;
875
-
876
- // Recycle log files.
877
- // If non-zero, we will reuse previously written log files for new
878
- // logs, overwriting the old data. The value indicates how many
879
- // such files we will keep around at any point in time for later
880
- // use. This is more efficient because the blocks are already
881
- // allocated and fdatasync does not need to update the inode after
882
- // each write.
883
- // Default: 0
884
- size_t recycle_log_file_num = 0;
885
-
886
- // manifest file is rolled over on reaching this limit.
887
- // The older manifest file be deleted.
888
- // The default value is 1GB so that the manifest file can grow, but not
889
- // reach the limit of storage capacity.
890
- uint64_t max_manifest_file_size = 1024 * 1024 * 1024;
891
-
892
- // Number of shards used for table cache.
893
- int table_cache_numshardbits = 6;
894
-
895
- // The following two fields affect when WALs will be archived and deleted.
896
- //
897
- // When both are zero, obsolete WALs will not be archived and will be deleted
898
- // immediately. Otherwise, obsolete WALs will be archived prior to deletion.
899
- //
900
- // When `WAL_size_limit_MB` is nonzero, archived WALs starting with the
901
- // earliest will be deleted until the total size of the archive falls below
902
- // this limit. All empty WALs will be deleted.
903
- //
904
- // When `WAL_ttl_seconds` is nonzero, archived WALs older than
905
- // `WAL_ttl_seconds` will be deleted.
906
- //
907
- // When only `WAL_ttl_seconds` is nonzero, the frequency at which archived
908
- // WALs are deleted is every `WAL_ttl_seconds / 2` seconds. When only
909
- // `WAL_size_limit_MB` is nonzero, the deletion frequency is every ten
910
- // minutes. When both are nonzero, the deletion frequency is the minimum of
911
- // those two values.
912
- uint64_t WAL_ttl_seconds = 0;
913
- uint64_t WAL_size_limit_MB = 0;
914
-
915
- // Number of bytes to preallocate (via fallocate) the manifest
916
- // files. Default is 4mb, which is reasonable to reduce random IO
917
- // as well as prevent overallocation for mounts that preallocate
918
- // large amounts of data (such as xfs's allocsize option).
919
- size_t manifest_preallocation_size = 4 * 1024 * 1024;
920
-
921
- // Allow the OS to mmap file for reading sst tables.
922
- // Not recommended for 32-bit OS.
923
- // When the option is set to true and compression is disabled, the blocks
924
- // will not be copied and will be read directly from the mmap-ed memory
925
- // area, and the block will not be inserted into the block cache. However,
926
- // checksums will still be checked if ReadOptions.verify_checksums is set
927
- // to be true. It means a checksum check every time a block is read, more
928
- // than the setup where the option is set to false and the block cache is
929
- // used. The common use of the options is to run RocksDB on ramfs, where
930
- // checksum verification is usually not needed.
931
- // Default: false
932
- bool allow_mmap_reads = false;
933
-
934
- // Allow the OS to mmap file for writing.
935
- // DB::SyncWAL() only works if this is set to false.
936
- // Default: false
937
- bool allow_mmap_writes = false;
938
-
939
- // Enable direct I/O mode for read/write
940
- // they may or may not improve performance depending on the use case
941
- //
942
- // Files will be opened in "direct I/O" mode
943
- // which means that data r/w from the disk will not be cached or
944
- // buffered. The hardware buffer of the devices may however still
945
- // be used. Memory mapped files are not impacted by these parameters.
946
-
947
- // Use O_DIRECT for user and compaction reads.
948
- // Default: false
949
- bool use_direct_reads = false;
950
-
951
- // Use O_DIRECT for writes in background flush and compactions.
952
- // Default: false
953
- bool use_direct_io_for_flush_and_compaction = false;
954
-
955
- // If false, fallocate() calls are bypassed, which disables file
956
- // preallocation. The file space preallocation is used to increase the file
957
- // write/append performance. By default, RocksDB preallocates space for WAL,
958
- // SST, Manifest files, the extra space is truncated when the file is written.
959
- // Warning: if you're using btrfs, we would recommend setting
960
- // `allow_fallocate=false` to disable preallocation. As on btrfs, the extra
961
- // allocated space cannot be freed, which could be significant if you have
962
- // lots of files. More details about this limitation:
963
- // https://github.com/btrfs/btrfs-dev-docs/blob/471c5699336e043114d4bca02adcd57d9dab9c44/data-extent-reference-counts.md
964
- bool allow_fallocate = true;
965
-
966
- // Disable child process inherit open files. Default: true
967
- bool is_fd_close_on_exec = true;
968
-
969
- // if not zero, dump rocksdb.stats to LOG every stats_dump_period_sec
970
- //
971
- // Default: 600 (10 min)
972
- //
973
- // Dynamically changeable through SetDBOptions() API.
974
- unsigned int stats_dump_period_sec = 600;
975
-
976
- // if not zero, dump rocksdb.stats to RocksDB every stats_persist_period_sec
977
- // Default: 600
978
- unsigned int stats_persist_period_sec = 600;
979
-
980
- // If true, automatically persist stats to a hidden column family (column
981
- // family name: ___rocksdb_stats_history___) every
982
- // stats_persist_period_sec seconds; otherwise, write to an in-memory
983
- // struct. User can query through `GetStatsHistory` API.
984
- // If user attempts to create a column family with the same name on a DB
985
- // which have previously set persist_stats_to_disk to true, the column family
986
- // creation will fail, but the hidden column family will survive, as well as
987
- // the previously persisted statistics.
988
- // When peristing stats to disk, the stat name will be limited at 100 bytes.
989
- // Default: false
990
- bool persist_stats_to_disk = false;
991
-
992
- // if not zero, periodically take stats snapshots and store in memory, the
993
- // memory size for stats snapshots is capped at stats_history_buffer_size
994
- // Default: 1MB
995
- size_t stats_history_buffer_size = 1024 * 1024;
996
-
997
- // If set true, will hint the underlying file system that the file
998
- // access pattern is random, when a sst file is opened.
999
- // Default: true
1000
- bool advise_random_on_open = true;
1001
-
1002
- // Amount of data to build up in memtables across all column
1003
- // families before writing to disk.
1004
- //
1005
- // This is distinct from write_buffer_size, which enforces a limit
1006
- // for a single memtable.
1007
- //
1008
- // This feature is disabled by default. Specify a non-zero value
1009
- // to enable it.
1010
- //
1011
- // Default: 0 (disabled)
1012
- size_t db_write_buffer_size = 0;
1013
-
1014
- // The memory usage of memtable will report to this object. The same object
1015
- // can be passed into multiple DBs and it will track the sum of size of all
1016
- // the DBs. If the total size of all live memtables of all the DBs exceeds
1017
- // a limit, a flush will be triggered in the next DB to which the next write
1018
- // is issued, as long as there is one or more column family not already
1019
- // flushing.
1020
- //
1021
- // If the object is only passed to one DB, the behavior is the same as
1022
- // db_write_buffer_size. When write_buffer_manager is set, the value set will
1023
- // override db_write_buffer_size.
1024
- //
1025
- // This feature is disabled by default. Specify a non-zero value
1026
- // to enable it.
1027
- //
1028
- // Default: null
1029
- std::shared_ptr<WriteBufferManager> write_buffer_manager = nullptr;
1030
-
1031
- // If non-zero, we perform bigger reads when doing compaction. If you're
1032
- // running RocksDB on spinning disks, you should set this to at least 2MB.
1033
- // That way RocksDB's compaction is doing sequential instead of random reads.
1034
- //
1035
- // Default: 2MB
1036
- //
1037
- // Dynamically changeable through SetDBOptions() API.
1038
- size_t compaction_readahead_size = 2 * 1024 * 1024;
1039
-
1040
- // This is a maximum buffer size that is used by WinMmapReadableFile in
1041
- // unbuffered disk I/O mode. We need to maintain an aligned buffer for
1042
- // reads. We allow the buffer to grow until the specified value and then
1043
- // for bigger requests allocate one shot buffers. In unbuffered mode we
1044
- // always bypass read-ahead buffer at ReadaheadRandomAccessFile
1045
- // When read-ahead is required we then make use of compaction_readahead_size
1046
- // value and always try to read ahead. With read-ahead we always
1047
- // pre-allocate buffer to the size instead of growing it up to a limit.
1048
- //
1049
- // This option is currently honored only on Windows
1050
- //
1051
- // Default: 1 Mb
1052
- //
1053
- // Special value: 0 - means do not maintain per instance buffer. Allocate
1054
- // per request buffer and avoid locking.
1055
- size_t random_access_max_buffer_size = 1024 * 1024;
1056
-
1057
- // This is the maximum buffer size that is used by WritableFileWriter.
1058
- // With direct IO, we need to maintain an aligned buffer for writes.
1059
- // We allow the buffer to grow until it's size hits the limit in buffered
1060
- // IO and fix the buffer size when using direct IO to ensure alignment of
1061
- // write requests if the logical sector size is unusual
1062
- //
1063
- // Default: 1024 * 1024 (1 MB)
1064
- //
1065
- // Dynamically changeable through SetDBOptions() API.
1066
- size_t writable_file_max_buffer_size = 1024 * 1024;
1067
-
1068
- // Use adaptive mutex, which spins in the user space before resorting
1069
- // to kernel. This could reduce context switch when the mutex is not
1070
- // heavily contended. However, if the mutex is hot, we could end up
1071
- // wasting spin time.
1072
- // Default: false
1073
- bool use_adaptive_mutex = false;
1074
-
1075
- // Create DBOptions with default values for all fields
1076
- DBOptions();
1077
- // Create DBOptions from Options
1078
- explicit DBOptions(const Options& options);
1079
-
1080
- void Dump(Logger* log) const;
1081
-
1082
- // Allows OS to incrementally sync files to disk while they are being
1083
- // written, asynchronously, in the background. This operation can be used
1084
- // to smooth out write I/Os over time. Users shouldn't rely on it for
1085
- // persistence guarantee.
1086
- // Issue one request for every bytes_per_sync written. 0 turns it off.
1087
- //
1088
- // You may consider using rate_limiter to regulate write rate to device.
1089
- // When rate limiter is enabled, it automatically enables bytes_per_sync
1090
- // to 1MB.
1091
- //
1092
- // This option applies to table files
1093
- //
1094
- // Default: 0, turned off
1095
- //
1096
- // Note: DOES NOT apply to WAL files. See wal_bytes_per_sync instead
1097
- // Dynamically changeable through SetDBOptions() API.
1098
- uint64_t bytes_per_sync = 0;
1099
-
1100
- // Same as bytes_per_sync, but applies to WAL files
1101
- // This does not gaurantee the WALs are synced in the order of creation. New
1102
- // WAL can be synced while an older WAL doesn't. Therefore upon system crash,
1103
- // this hole in the WAL data can create partial data loss.
1104
- //
1105
- // Default: 0, turned off
1106
- //
1107
- // Dynamically changeable through SetDBOptions() API.
1108
- uint64_t wal_bytes_per_sync = 0;
1109
-
1110
- // When true, guarantees WAL files have at most `wal_bytes_per_sync`
1111
- // bytes submitted for writeback at any given time, and SST files have at most
1112
- // `bytes_per_sync` bytes pending writeback at any given time. This can be
1113
- // used to handle cases where processing speed exceeds I/O speed during file
1114
- // generation, which can lead to a huge sync when the file is finished, even
1115
- // with `bytes_per_sync` / `wal_bytes_per_sync` properly configured.
1116
- //
1117
- // - If `sync_file_range` is supported it achieves this by waiting for any
1118
- // prior `sync_file_range`s to finish before proceeding. In this way,
1119
- // processing (compression, etc.) can proceed uninhibited in the gap
1120
- // between `sync_file_range`s, and we block only when I/O falls behind.
1121
- // - Otherwise the `WritableFile::Sync` method is used. Note this mechanism
1122
- // always blocks, thus preventing the interleaving of I/O and processing.
1123
- //
1124
- // Note: Enabling this option does not provide any additional persistence
1125
- // guarantees, as it may use `sync_file_range`, which does not write out
1126
- // metadata.
1127
- //
1128
- // Default: false
1129
- bool strict_bytes_per_sync = false;
1130
-
1131
- // A vector of EventListeners whose callback functions will be called
1132
- // when specific RocksDB event happens.
1133
- std::vector<std::shared_ptr<EventListener>> listeners;
1134
-
1135
- // If true, then the status of the threads involved in this DB will
1136
- // be tracked and available via GetThreadList() API.
1137
- //
1138
- // Default: false
1139
- bool enable_thread_tracking = false;
1140
-
1141
- // The limited write rate to DB if soft_pending_compaction_bytes_limit or
1142
- // level0_slowdown_writes_trigger is triggered, or we are writing to the
1143
- // last mem table allowed and we allow more than 3 mem tables. It is
1144
- // calculated using size of user write requests before compression.
1145
- // RocksDB may decide to slow down more if the compaction still
1146
- // gets behind further.
1147
- // If the value is 0, we will infer a value from `rater_limiter` value
1148
- // if it is not empty, or 16MB if `rater_limiter` is empty. Note that
1149
- // if users change the rate in `rate_limiter` after DB is opened,
1150
- // `delayed_write_rate` won't be adjusted.
1151
- //
1152
- // Unit: byte per second.
1153
- //
1154
- // Default: 0
1155
- //
1156
- // Dynamically changeable through SetDBOptions() API.
1157
- uint64_t delayed_write_rate = 0;
1158
-
1159
- // By default, a single write thread queue is maintained. The thread gets
1160
- // to the head of the queue becomes write batch group leader and responsible
1161
- // for writing to WAL and memtable for the batch group.
1162
- //
1163
- // If enable_pipelined_write is true, separate write thread queue is
1164
- // maintained for WAL write and memtable write. A write thread first enter WAL
1165
- // writer queue and then memtable writer queue. Pending thread on the WAL
1166
- // writer queue thus only have to wait for previous writers to finish their
1167
- // WAL writing but not the memtable writing. Enabling the feature may improve
1168
- // write throughput and reduce latency of the prepare phase of two-phase
1169
- // commit.
1170
- //
1171
- // Default: false
1172
- bool enable_pipelined_write = false;
1173
-
1174
- // Setting unordered_write to true trades higher write throughput with
1175
- // relaxing the immutability guarantee of snapshots. This violates the
1176
- // repeatability one expects from ::Get from a snapshot, as well as
1177
- // ::MultiGet and Iterator's consistent-point-in-time view property.
1178
- // If the application cannot tolerate the relaxed guarantees, it can implement
1179
- // its own mechanisms to work around that and yet benefit from the higher
1180
- // throughput. Using TransactionDB with WRITE_PREPARED write policy and
1181
- // two_write_queues=true is one way to achieve immutable snapshots despite
1182
- // unordered_write.
1183
- //
1184
- // By default, i.e., when it is false, rocksdb does not advance the sequence
1185
- // number for new snapshots unless all the writes with lower sequence numbers
1186
- // are already finished. This provides the immutability that we expect from
1187
- // snapshots. Moreover, since Iterator and MultiGet internally depend on
1188
- // snapshots, the snapshot immutability results into Iterator and MultiGet
1189
- // offering consistent-point-in-time view. If set to true, although
1190
- // Read-Your-Own-Write property is still provided, the snapshot immutability
1191
- // property is relaxed: the writes issued after the snapshot is obtained (with
1192
- // larger sequence numbers) will be still not visible to the reads from that
1193
- // snapshot, however, there still might be pending writes (with lower sequence
1194
- // number) that will change the state visible to the snapshot after they are
1195
- // landed to the memtable.
1196
- //
1197
- // Default: false
1198
- bool unordered_write = false;
1199
-
1200
- // If true, allow multi-writers to update mem tables in parallel.
1201
- // Only some memtable_factory-s support concurrent writes; currently it
1202
- // is implemented only for SkipListFactory. Concurrent memtable writes
1203
- // are not compatible with inplace_update_support or filter_deletes.
1204
- // It is strongly recommended to set enable_write_thread_adaptive_yield
1205
- // if you are going to use this feature.
1206
- //
1207
- // Default: true
1208
- bool allow_concurrent_memtable_write = true;
1209
-
1210
- // If true, threads synchronizing with the write batch group leader will
1211
- // wait for up to write_thread_max_yield_usec before blocking on a mutex.
1212
- // This can substantially improve throughput for concurrent workloads,
1213
- // regardless of whether allow_concurrent_memtable_write is enabled.
1214
- //
1215
- // Default: true
1216
- bool enable_write_thread_adaptive_yield = true;
1217
-
1218
- // The maximum limit of number of bytes that are written in a single batch
1219
- // of WAL or memtable write. It is followed when the leader write size
1220
- // is larger than 1/8 of this limit.
1221
- //
1222
- // Default: 1 MB
1223
- uint64_t max_write_batch_group_size_bytes = 1 << 20;
1224
-
1225
- // The maximum number of microseconds that a write operation will use
1226
- // a yielding spin loop to coordinate with other write threads before
1227
- // blocking on a mutex. (Assuming write_thread_slow_yield_usec is
1228
- // set properly) increasing this value is likely to increase RocksDB
1229
- // throughput at the expense of increased CPU usage.
1230
- //
1231
- // Default: 100
1232
- uint64_t write_thread_max_yield_usec = 100;
1233
-
1234
- // The latency in microseconds after which a std::this_thread::yield
1235
- // call (sched_yield on Linux) is considered to be a signal that
1236
- // other processes or threads would like to use the current core.
1237
- // Increasing this makes writer threads more likely to take CPU
1238
- // by spinning, which will show up as an increase in the number of
1239
- // involuntary context switches.
1240
- //
1241
- // Default: 3
1242
- uint64_t write_thread_slow_yield_usec = 3;
1243
-
1244
- // If true, then DB::Open() will not update the statistics used to optimize
1245
- // compaction decision by loading table properties from many files.
1246
- // Turning off this feature will improve DBOpen time especially in
1247
- // disk environment.
1248
- //
1249
- // Default: false
1250
- bool skip_stats_update_on_db_open = false;
1251
-
1252
- // If true, then DB::Open() will not fetch and check sizes of all sst files.
1253
- // This may significantly speed up startup if there are many sst files,
1254
- // especially when using non-default Env with expensive GetFileSize().
1255
- // We'll still check that all required sst files exist.
1256
- // If paranoid_checks is false, this option is ignored, and sst files are
1257
- // not checked at all.
1258
- //
1259
- // Default: false
1260
- bool skip_checking_sst_file_sizes_on_db_open = false;
1261
-
1262
- // Recovery mode to control the consistency while replaying WAL
1263
- // Default: kPointInTimeRecovery
1264
- WALRecoveryMode wal_recovery_mode = WALRecoveryMode::kPointInTimeRecovery;
1265
-
1266
- // if set to false then recovery will fail when a prepared
1267
- // transaction is encountered in the WAL
1268
- bool allow_2pc = false;
1269
-
1270
- // A global cache for table-level rows.
1271
- // Used to speed up Get() queries.
1272
- // NOTE: does not work with DeleteRange() yet.
1273
- // Default: nullptr (disabled)
1274
- std::shared_ptr<RowCache> row_cache = nullptr;
1275
-
1276
- // A filter object supplied to be invoked while processing write-ahead-logs
1277
- // (WALs) during recovery. The filter provides a way to inspect log
1278
- // records, ignoring a particular record or skipping replay.
1279
- // The filter is invoked at startup and is invoked from a single-thread
1280
- // currently.
1281
- WalFilter* wal_filter = nullptr;
1282
-
1283
- // DEPRECATED: This option might be removed in a future release.
1284
- //
1285
- // If true, then DB::Open, CreateColumnFamily, DropColumnFamily, and
1286
- // SetOptions will fail if options file is not properly persisted.
1287
- //
1288
- // DEFAULT: true
1289
- bool fail_if_options_file_error = true;
1290
-
1291
- // If true, then print malloc stats together with rocksdb.stats
1292
- // when printing to LOG.
1293
- // DEFAULT: false
1294
- bool dump_malloc_stats = false;
1295
-
1296
- // By default RocksDB replay WAL logs and flush them on DB open, which may
1297
- // create very small SST files. If this option is enabled, RocksDB will try
1298
- // to avoid (but not guarantee not to) flush during recovery. Also, existing
1299
- // WAL logs will be kept, so that if crash happened before flush, we still
1300
- // have logs to recover from.
1301
- //
1302
- // DEFAULT: false
1303
- bool avoid_flush_during_recovery = false;
1304
-
1305
- // By default RocksDB will flush all memtables on DB close if there are
1306
- // unpersisted data (i.e. with WAL disabled) The flush can be skip to speedup
1307
- // DB close. Unpersisted data WILL BE LOST.
1308
- //
1309
- // DEFAULT: false
1310
- //
1311
- // Dynamically changeable through SetDBOptions() API.
1312
- bool avoid_flush_during_shutdown = false;
1313
-
1314
- // Set this option to true during creation of database if you want
1315
- // to be able to ingest behind (call IngestExternalFile() skipping keys
1316
- // that already exist, rather than overwriting matching keys).
1317
- // Setting this option to true has the following effects:
1318
- // 1) Disable some internal optimizations around SST file compression.
1319
- // 2) Reserve the last level for ingested files only.
1320
- // 3) Compaction will not include any file from the last level.
1321
- // Note that only Universal Compaction supports allow_ingest_behind.
1322
- // `num_levels` should be >= 3 if this option is turned on.
1323
- //
1324
- //
1325
- // DEFAULT: false
1326
- // Immutable.
1327
- bool allow_ingest_behind = false;
1328
-
1329
- // If enabled it uses two queues for writes, one for the ones with
1330
- // disable_memtable and one for the ones that also write to memtable. This
1331
- // allows the memtable writes not to lag behind other writes. It can be used
1332
- // to optimize MySQL 2PC in which only the commits, which are serial, write to
1333
- // memtable.
1334
- bool two_write_queues = false;
1335
-
1336
- // If true WAL is not flushed automatically after each write. Instead it
1337
- // relies on manual invocation of FlushWAL to write the WAL buffer to its
1338
- // file.
1339
- bool manual_wal_flush = false;
1340
-
1341
- // If enabled WAL records will be compressed before they are written. Only
1342
- // ZSTD (= kZSTD) is supported (until streaming support is adapted for other
1343
- // compression types). Compressed WAL records will be read in supported
1344
- // versions (>= RocksDB 7.4.0 for ZSTD) regardless of this setting when
1345
- // the WAL is read.
1346
- CompressionType wal_compression = kNoCompression;
1347
-
1348
- // Set to true to re-instate an old behavior of keeping complete, synced WAL
1349
- // files open for write until they are collected for deletion by a
1350
- // background thread. This should not be needed unless there is a
1351
- // performance issue with file Close(), but setting it to true means that
1352
- // Checkpoint might call LinkFile on a WAL still open for write, which might
1353
- // be unsupported on some FileSystem implementations. As this is intended as
1354
- // a temporary kill switch, it is already DEPRECATED.
1355
- bool background_close_inactive_wals = false;
1356
-
1357
- // If true, RocksDB supports flushing multiple column families and committing
1358
- // their results atomically to MANIFEST. Note that it is not
1359
- // necessary to set atomic_flush to true if WAL is always enabled since WAL
1360
- // allows the database to be restored to the last persistent state in WAL.
1361
- // This option is useful when there are column families with writes NOT
1362
- // protected by WAL.
1363
- // For manual flush, application has to specify which column families to
1364
- // flush atomically in DB::Flush.
1365
- // For auto-triggered flush, RocksDB atomically flushes ALL column families.
1366
- //
1367
- // Currently, any WAL-enabled writes after atomic flush may be replayed
1368
- // independently if the process crashes later and tries to recover.
1369
- bool atomic_flush = false;
1370
-
1371
- // If true, working thread may avoid doing unnecessary and long-latency
1372
- // operation (such as deleting obsolete files directly or deleting memtable)
1373
- // and will instead schedule a background job to do it.
1374
- // Use it if you're latency-sensitive.
1375
- // If set to true, takes precedence over
1376
- // ReadOptions::background_purge_on_iterator_cleanup.
1377
- bool avoid_unnecessary_blocking_io = false;
1378
-
1379
- // Historically DB ID has always been stored in Identity File in DB folder.
1380
- // If this flag is true, the DB ID is written to Manifest file in addition
1381
- // to the Identity file. By doing this 2 problems are solved
1382
- // 1. We don't checksum the Identity file where as Manifest file is.
1383
- // 2. Since the source of truth for DB is Manifest file DB ID will sit with
1384
- // the source of truth. Previously the Identity file could be copied
1385
- // independent of Manifest and that can result in wrong DB ID.
1386
- // We recommend setting this flag to true.
1387
- // Default: false
1388
- bool write_dbid_to_manifest = false;
1389
-
1390
- // The number of bytes to prefetch when reading the log. This is mostly useful
1391
- // for reading a remotely located log, as it can save the number of
1392
- // round-trips. If 0, then the prefetching is disabled.
1393
- //
1394
- // Default: 0
1395
- size_t log_readahead_size = 0;
1396
-
1397
- // If user does NOT provide the checksum generator factory, the file checksum
1398
- // will NOT be used. A new file checksum generator object will be created
1399
- // when a SST file is created. Therefore, each created FileChecksumGenerator
1400
- // will only be used from a single thread and so does not need to be
1401
- // thread-safe.
1402
- //
1403
- // Default: nullptr
1404
- std::shared_ptr<FileChecksumGenFactory> file_checksum_gen_factory = nullptr;
1405
-
1406
- // By default, RocksDB will attempt to detect any data losses or corruptions
1407
- // in DB files and return an error to the user, either at DB::Open time or
1408
- // later during DB operation. The exception to this policy is the WAL file,
1409
- // whose recovery is controlled by the wal_recovery_mode option.
1410
- //
1411
- // Best-efforts recovery (this option set to true) signals a preference for
1412
- // opening the DB to any point-in-time valid state for each column family,
1413
- // including the empty/new state, versus the default of returning non-WAL
1414
- // data losses to the user as errors. In terms of RocksDB user data, this
1415
- // is like applying WALRecoveryMode::kPointInTimeRecovery to each column
1416
- // family rather than just the WAL.
1417
- //
1418
- // The behavior changes in the presence of "AtomicGroup"s in the MANIFEST,
1419
- // which is currently only the case when `atomic_flush == true`. In that
1420
- // case, all pre-existing CFs must recover the atomic group in order for
1421
- // that group to be applied in an all-or-nothing manner. This means that
1422
- // unused/inactive CF(s) with invalid filesystem state can block recovery of
1423
- // all other CFs at an atomic group.
1424
- //
1425
- // Best-efforts recovery (BER) is specifically designed to recover a DB with
1426
- // files that are missing or truncated to some smaller size, such as the
1427
- // result of an incomplete DB "physical" (FileSystem) copy. BER can also
1428
- // detect when an SST file has been replaced with a different one of the
1429
- // same size (assuming SST unique IDs are tracked in DB manifest).
1430
- // BER is not yet designed to produce a usable DB from other corruptions to
1431
- // DB files (which should generally be detectable by DB::VerifyChecksum()),
1432
- // and BER does not yet attempt to recover any WAL files.
1433
- //
1434
- // For example, if an SST or blob file referenced by the MANIFEST is missing,
1435
- // BER might be able to find a set of files corresponding to an old "point in
1436
- // time" version of the column family, possibly from an older MANIFEST
1437
- // file. Some other kinds of DB files (e.g. CURRENT, LOCK, IDENTITY) are
1438
- // either ignored or replaced with BER, or quietly fixed regardless of BER
1439
- // setting. BER does require at least one valid MANIFEST to recover to a
1440
- // non-trivial DB state, unlike `ldb repair`.
1441
- //
1442
- // Default: false
1443
- bool best_efforts_recovery = false;
1444
-
1445
- // It defines how many times DB::Resume() is called by a separate thread when
1446
- // background retryable IO Error happens. When background retryable IO
1447
- // Error happens, SetBGError is called to deal with the error. If the error
1448
- // can be auto-recovered (e.g., retryable IO Error during Flush or WAL write),
1449
- // then db resume is called in background to recover from the error. If this
1450
- // value is 0 or negative, DB::Resume() will not be called automatically.
1451
- //
1452
- // Default: INT_MAX
1453
- int max_bgerror_resume_count = INT_MAX;
1454
-
1455
- // If max_bgerror_resume_count is >= 2, db resume is called multiple times.
1456
- // This option decides how long to wait to retry the next resume if the
1457
- // previous resume fails and satisfy redo resume conditions.
1458
- //
1459
- // Default: 1000000 (microseconds).
1460
- uint64_t bgerror_resume_retry_interval = 1000000;
1461
-
1462
- // It allows user to opt-in to get error messages containing corrupted
1463
- // keys/values. Corrupt keys, values will be logged in the
1464
- // messages/logs/status that will help users with the useful information
1465
- // regarding affected data. By default value is set false to prevent users
1466
- // data to be exposed in the logs/messages etc.
1467
- //
1468
- // Default: false
1469
- bool allow_data_in_errors = false;
1470
-
1471
- // A string identifying the machine hosting the DB. This
1472
- // will be written as a property in every SST file written by the DB (or
1473
- // by offline writers such as SstFileWriter and RepairDB). It can be useful
1474
- // for troubleshooting in memory corruption caused by a failing host when
1475
- // writing a file, by tracing back to the writing host. These corruptions
1476
- // may not be caught by the checksum since they happen before checksumming.
1477
- // If left as default, the table writer will substitute it with the actual
1478
- // hostname when writing the SST file. If set to an empty string, the
1479
- // property will not be written to the SST file.
1480
- //
1481
- // Default: hostname
1482
- std::string db_host_id = kHostnameForDbHostId;
1483
-
1484
- // Use this if your DB want to enable checksum handoff for specific file
1485
- // types writes. Make sure that the File_system you use support the
1486
- // crc32c checksum verification
1487
- // Currently supported file tyes: kWALFile, kTableFile, kDescriptorFile.
1488
- // NOTE: currently RocksDB only generates crc32c based checksum for the
1489
- // handoff. If the storage layer has different checksum support, user
1490
- // should enble this set as empty. Otherwise,it may cause unexpected
1491
- // write failures.
1492
- FileTypeSet checksum_handoff_file_types;
1493
-
1494
- // EXPERIMENTAL
1495
- // CompactionService is a feature allows the user to run compactions on a
1496
- // different host or process, which offloads the background load from the
1497
- // primary host.
1498
- // It's an experimental feature, the interface will be changed without
1499
- // backward/forward compatibility support for now. Some known issues are still
1500
- // under development.
1501
- std::shared_ptr<CompactionService> compaction_service = nullptr;
1502
-
1503
- // It indicates, which lowest cache tier we want to
1504
- // use for a certain DB. Currently we support volatile_tier and
1505
- // non_volatile_tier. They are layered. By setting it to kVolatileTier, only
1506
- // the block cache (current implemented volatile_tier) is used. So
1507
- // cache entries will not spill to secondary cache (current
1508
- // implemented non_volatile_tier), and block cache lookup misses will not
1509
- // lookup in the secondary cache. When kNonVolatileBlockTier is used, we use
1510
- // both block cache and secondary cache.
1511
- //
1512
- // Default: kNonVolatileBlockTier
1513
- CacheTier lowest_used_cache_tier = CacheTier::kNonVolatileBlockTier;
1514
-
1515
- // DEPRECATED: This option might be removed in a future release.
1516
- //
1517
- // If set to false, when compaction or flush sees a SingleDelete followed by
1518
- // a Delete for the same user key, compaction job will not fail.
1519
- // Otherwise, compaction job will fail.
1520
- // This is a temporary option to help existing use cases migrate, and
1521
- // will be removed in a future release.
1522
- // Warning: do not set to false unless you are trying to migrate existing
1523
- // data in which the contract of single delete
1524
- // (https://github.com/facebook/rocksdb/wiki/Single-Delete) is not enforced,
1525
- // thus has Delete mixed with SingleDelete for the same user key. Violation
1526
- // of the contract leads to undefined behaviors with high possibility of data
1527
- // inconsistency, e.g. deleted old data become visible again, etc.
1528
- bool enforce_single_del_contracts = true;
1529
-
1530
- // Implementing off-peak duration awareness in RocksDB. In this context,
1531
- // "off-peak time" signifies periods characterized by significantly less read
1532
- // and write activity compared to other times. By leveraging this knowledge,
1533
- // we can prevent low-priority tasks, such as TTL-based compactions, from
1534
- // competing with read and write operations during peak hours. Essentially, we
1535
- // preprocess these tasks during the preceding off-peak period, just before
1536
- // the next peak cycle begins. For example, if the TTL is configured for 25
1537
- // days, we may compact the files during the off-peak hours of the 24th day.
1538
- //
1539
- // Time of the day in UTC, start_time-end_time inclusive.
1540
- // Format - HH:mm-HH:mm (00:00-23:59)
1541
- // If the start time > end time, it will be considered that the time period
1542
- // spans to the next day (e.g., 23:30-04:00). To make an entire day off-peak,
1543
- // use "0:00-23:59". To make an entire day have no offpeak period, leave
1544
- // this field blank. Default: Empty string (no offpeak).
1545
- std::string daily_offpeak_time_utc = "";
1546
-
1547
- // EXPERIMENTAL
1548
-
1549
- // When a RocksDB database is opened in follower mode, this option
1550
- // is set by the user to request the frequency of the follower
1551
- // attempting to refresh its view of the leader. RocksDB may choose to
1552
- // trigger catch ups more frequently if it detects any changes in the
1553
- // database state.
1554
- // Default every 10s.
1555
- uint64_t follower_refresh_catchup_period_ms = 10000;
1556
-
1557
- // For a given catch up attempt, this option specifies the number of times
1558
- // to tail the MANIFEST and try to install a new, consistent version before
1559
- // giving up. Though it should be extremely rare, the catch up may fail if
1560
- // the leader is mutating the LSM at a very high rate and the follower is
1561
- // unable to get a consistent view.
1562
- // Default to 10 attempts
1563
- uint64_t follower_catchup_retry_count = 10;
1564
-
1565
- // Time to wait between consecutive catch up attempts
1566
- // Default 100ms
1567
- uint64_t follower_catchup_retry_wait_ms = 100;
1568
-
1569
- // End EXPERIMENTAL
1570
- };
1571
-
1572
- // Options to control the behavior of a database (passed to DB::Open)
1573
- struct Options : public DBOptions, public ColumnFamilyOptions {
1574
- // Create an Options object with default values for all fields.
1575
- Options() : DBOptions(), ColumnFamilyOptions() {}
1576
-
1577
- Options(const DBOptions& db_options,
1578
- const ColumnFamilyOptions& column_family_options)
1579
- : DBOptions(db_options), ColumnFamilyOptions(column_family_options) {}
1580
-
1581
- // Change to some default settings from an older version.
1582
- // NOT MAINTAINED: This function has not been and is not maintained.
1583
- // DEPRECATED: This function might be removed in a future release.
1584
- // In general, defaults are changed to suit broad interests. Opting
1585
- // out of a change on upgrade should be deliberate and considered.
1586
- Options* OldDefaults(int rocksdb_major_version = 4,
1587
- int rocksdb_minor_version = 6);
1588
-
1589
- void Dump(Logger* log) const;
1590
-
1591
- void DumpCFOptions(Logger* log) const;
1592
-
1593
- // Some functions that make it easier to optimize RocksDB
1594
-
1595
- // Set appropriate parameters for bulk loading.
1596
- // The reason that this is a function that returns "this" instead of a
1597
- // constructor is to enable chaining of multiple similar calls in the future.
1598
- //
1599
-
1600
- // All data will be in level 0 without any automatic compaction.
1601
- // It's recommended to manually call CompactRange(NULL, NULL) before reading
1602
- // from the database, because otherwise the read can be very slow.
1603
- Options* PrepareForBulkLoad();
1604
-
1605
- // Use this if your DB is very small (like under 1GB) and you don't want to
1606
- // spend lots of memory for memtables.
1607
- Options* OptimizeForSmallDb();
1608
-
1609
- // Disable some checks that should not be necessary in the absence of
1610
- // software logic errors or CPU+memory hardware errors. This can improve
1611
- // write speeds but is only recommended for temporary use. Does not
1612
- // change protection against corrupt storage (e.g. verify_checksums).
1613
- Options* DisableExtraChecks();
1614
- };
1615
-
1616
- // An application can issue a read request (via Get/Iterators) and specify
1617
- // if that read should process data that ALREADY resides on a specified cache
1618
- // level. For example, if an application specifies kBlockCacheTier then the
1619
- // Get call will process data that is already processed in the memtable or
1620
- // the block cache. It will not page in data from the OS cache or data that
1621
- // resides in storage.
1622
- enum ReadTier {
1623
- kReadAllTier = 0x0, // data in memtable, block cache, OS cache or storage
1624
- kBlockCacheTier = 0x1, // data in memtable or block cache
1625
- kPersistedTier = 0x2, // persisted data. When WAL is disabled, this option
1626
- // will skip data in memtable.
1627
- // Note that this ReadTier currently only supports
1628
- // Get and MultiGet and does not support iterators.
1629
- kMemtableTier = 0x3 // data in memtable. used for memtable-only iterators.
1630
- };
1631
-
1632
- // Options that control read operations
1633
- struct ReadOptions {
1634
- // *** BEGIN options relevant to point lookups as well as scans ***
1635
-
1636
- // If "snapshot" is non-nullptr, read as of the supplied snapshot
1637
- // (which must belong to the DB that is being read and which must
1638
- // not have been released). If "snapshot" is nullptr, use an implicit
1639
- // snapshot of the state at the beginning of this read operation.
1640
- const Snapshot* snapshot = nullptr;
1641
-
1642
- // Timestamp of operation. Read should return the latest data visible to the
1643
- // specified timestamp. All timestamps of the same database must be of the
1644
- // same length and format. The user is responsible for providing a customized
1645
- // compare function via Comparator to order <key, timestamp> tuples.
1646
- // For iterator, iter_start_ts is the lower bound (older) and timestamp
1647
- // serves as the upper bound. Versions of the same record that fall in
1648
- // the timestamp range will be returned. If iter_start_ts is nullptr,
1649
- // only the most recent version visible to timestamp is returned.
1650
- // The user-specified timestamp feature is still under active development,
1651
- // and the API is subject to change.
1652
- const Slice* timestamp = nullptr;
1653
- const Slice* iter_start_ts = nullptr;
1654
-
1655
- // Deadline for completing an API call (Get/MultiGet/Seek/Next for now)
1656
- // in microseconds.
1657
- // It should be set to microseconds since epoch, i.e, gettimeofday or
1658
- // equivalent plus allowed duration in microseconds. The best way is to use
1659
- // env->NowMicros() + some timeout.
1660
- // This is best efforts. The call may exceed the deadline if there is IO
1661
- // involved and the file system doesn't support deadlines, or due to
1662
- // checking for deadline periodically rather than for every key if
1663
- // processing a batch
1664
- std::chrono::microseconds deadline = std::chrono::microseconds::zero();
1665
-
1666
- // A timeout in microseconds to be passed to the underlying FileSystem for
1667
- // reads. As opposed to deadline, this determines the timeout for each
1668
- // individual file read request. If a MultiGet/Get/Seek/Next etc call
1669
- // results in multiple reads, each read can last up to io_timeout us.
1670
- std::chrono::microseconds io_timeout = std::chrono::microseconds::zero();
1671
-
1672
- // Specify if this read request should process data that ALREADY
1673
- // resides on a particular cache. If the required data is not
1674
- // found at the specified cache, then Status::Incomplete is returned.
1675
- ReadTier read_tier = kReadAllTier;
1676
-
1677
- // For file reads associated with this option, charge the internal rate
1678
- // limiter (see `DBOptions::rate_limiter`) at the specified priority. The
1679
- // special value `Env::IO_TOTAL` disables charging the rate limiter.
1680
- //
1681
- // The rate limiting is bypassed no matter this option's value for file reads
1682
- // on plain tables (these can exist when `ColumnFamilyOptions::table_factory`
1683
- // is a `PlainTableFactory`) and cuckoo tables (these can exist when
1684
- // `ColumnFamilyOptions::table_factory` is a `CuckooTableFactory`).
1685
- //
1686
- // The bytes charged to rate limiter may not exactly match the file read bytes
1687
- // since there are some seemingly insignificant reads, like for file
1688
- // headers/footers, that we currently do not charge to rate limiter.
1689
- Env::IOPriority rate_limiter_priority = Env::IO_TOTAL;
1690
-
1691
- // It limits the maximum cumulative value size of the keys in batch while
1692
- // reading through MultiGet. Once the cumulative value size exceeds this
1693
- // soft limit then all the remaining keys are returned with status Aborted.
1694
- uint64_t value_size_soft_limit = std::numeric_limits<uint64_t>::max();
1695
-
1696
- // When the number of merge operands applied exceeds this threshold
1697
- // during a successful query, the operation will return a special OK
1698
- // Status with subcode kMergeOperandThresholdExceeded. Currently only applies
1699
- // to point lookups and is disabled by default.
1700
- std::optional<size_t> merge_operand_count_threshold;
1701
-
1702
- // If true, all data read from underlying storage will be
1703
- // verified against corresponding checksums.
1704
- bool verify_checksums = true;
1705
-
1706
- // Should the "data block"/"index block" read for this iteration be placed in
1707
- // block cache?
1708
- // Callers may wish to set this field to false for bulk scans.
1709
- // This would help not to the change eviction order of existing items in the
1710
- // block cache.
1711
- bool fill_cache = true;
1712
-
1713
- // If true, range tombstones handling will be skipped in key lookup paths.
1714
- // For DB instances that don't use DeleteRange() calls, this setting can
1715
- // be used to optimize the read performance.
1716
- // Note that, if this assumption (of no previous DeleteRange() calls) is
1717
- // broken, stale keys could be served in read paths.
1718
- bool ignore_range_deletions = false;
1719
-
1720
- // If async_io is enabled, RocksDB will prefetch some of data asynchronously.
1721
- // RocksDB apply it if reads are sequential and its internal automatic
1722
- // prefetching.
1723
- bool async_io = false;
1724
-
1725
- // Experimental
1726
- //
1727
- // If async_io is set, then this flag controls whether we read SST files
1728
- // in multiple levels asynchronously. Enabling this flag can help reduce
1729
- // MultiGet latency by maximizing the number of SST files read in
1730
- // parallel if the keys in the MultiGet batch are in different levels. It
1731
- // comes at the expense of slightly higher CPU overhead.
1732
- bool optimize_multiget_for_io = true;
1733
-
1734
- // *** END options relevant to point lookups (as well as scans) ***
1735
- // *** BEGIN options only relevant to iterators or scans ***
1736
-
1737
- // RocksDB does auto-readahead for iterators on noticing more than two reads
1738
- // for a table file. The readahead starts at 8KB and doubles on every
1739
- // additional read up to 256KB.
1740
- // This option can help if most of the range scans are large, and if it is
1741
- // determined that a larger readahead than that enabled by auto-readahead is
1742
- // needed.
1743
- // Using a large readahead size (> 2MB) can typically improve the performance
1744
- // of forward iteration on spinning disks.
1745
- size_t readahead_size = 0;
1746
-
1747
- // A threshold for the number of keys that can be skipped before failing an
1748
- // iterator seek as incomplete. The default value of 0 should be used to
1749
- // never fail a request as incomplete, even on skipping too many keys.
1750
- uint64_t max_skippable_internal_keys = 0;
1751
-
1752
- // `iterate_lower_bound` defines the smallest key at which the backward
1753
- // iterator can return an entry. Once the bound is passed, Valid() will be
1754
- // false. `iterate_lower_bound` is inclusive ie the bound value is a valid
1755
- // entry.
1756
- //
1757
- // If prefix_extractor is not null, the Seek target and `iterate_lower_bound`
1758
- // need to have the same prefix. This is because ordering is not guaranteed
1759
- // outside of prefix domain.
1760
- //
1761
- // In case of user_defined timestamp, if enabled, iterate_lower_bound should
1762
- // point to key without timestamp part.
1763
- const Slice* iterate_lower_bound = nullptr;
1764
-
1765
- // "iterate_upper_bound" defines the extent up to which the forward iterator
1766
- // can return entries. Once the bound is reached, Valid() will be false.
1767
- // "iterate_upper_bound" is exclusive ie the bound value is
1768
- // not a valid entry. If prefix_extractor is not null:
1769
- // 1. If options.auto_prefix_mode = true, iterate_upper_bound will be used
1770
- // to infer whether prefix iterating (e.g. applying prefix bloom filter)
1771
- // can be used within RocksDB. This is done by comparing
1772
- // iterate_upper_bound with the seek key.
1773
- // 2. If options.auto_prefix_mode = false, iterate_upper_bound only takes
1774
- // effect if it shares the same prefix as the seek key. If
1775
- // iterate_upper_bound is outside the prefix of the seek key, then keys
1776
- // returned outside the prefix range will be undefined, just as if
1777
- // iterate_upper_bound = null.
1778
- // If iterate_upper_bound is not null, SeekToLast() will position the iterator
1779
- // at the first key smaller than iterate_upper_bound.
1780
- //
1781
- // In case of user_defined timestamp, if enabled, iterate_upper_bound should
1782
- // point to key without timestamp part.
1783
- const Slice* iterate_upper_bound = nullptr;
1784
-
1785
- // Specify to create a tailing iterator -- a special iterator that has a
1786
- // view of the complete database (i.e. it can also be used to read newly
1787
- // added data) and is optimized for sequential reads. It will return records
1788
- // that were inserted into the database after the creation of the iterator.
1789
- bool tailing = false;
1790
-
1791
- // This options is not used anymore. It was to turn on a functionality that
1792
- // has been removed. DEPRECATED
1793
- bool managed = false;
1794
-
1795
- // Enable a total order seek regardless of index format (e.g. hash index)
1796
- // used in the table. Some table format (e.g. plain table) may not support
1797
- // this option.
1798
- // If true when calling Get(), we also skip prefix bloom when reading from
1799
- // block based table, which only affects Get() performance.
1800
- bool total_order_seek = false;
1801
-
1802
- // When true, by default use total_order_seek = true, and RocksDB can
1803
- // selectively enable prefix seek mode if won't generate a different result
1804
- // from total_order_seek, based on seek key, and iterator upper bound.
1805
- // BUG: Using Comparator::IsSameLengthImmediateSuccessor and
1806
- // SliceTransform::FullLengthEnabled to enable prefix mode in cases where
1807
- // prefix of upper bound differs from prefix of seek key has a flaw.
1808
- // If present in the DB, "short keys" (shorter than "full length" prefix)
1809
- // can be omitted from auto_prefix_mode iteration when they would be present
1810
- // in total_order_seek iteration, regardless of whether the short keys are
1811
- // "in domain" of the prefix extractor. This is not an issue if no short
1812
- // keys are added to DB or are not expected to be returned by such
1813
- // iterators. (We are also assuming the new condition on
1814
- // IsSameLengthImmediateSuccessor is satisfied; see its BUG section).
1815
- // A bug example is in DBTest2::AutoPrefixMode1, search for "BUG".
1816
- bool auto_prefix_mode = false;
1817
-
1818
- // Enforce that the iterator only iterates over the same prefix as the seek.
1819
- // This option is effective only for prefix seeks, i.e. prefix_extractor is
1820
- // non-null for the column family and total_order_seek is false. Unlike
1821
- // iterate_upper_bound, prefix_same_as_start only works within a prefix
1822
- // but in both directions.
1823
- bool prefix_same_as_start = false;
1824
-
1825
- // Keep the blocks loaded by the iterator pinned in memory as long as the
1826
- // iterator is not deleted, If used when reading from tables created with
1827
- // BlockBasedTableOptions::use_delta_encoding = false,
1828
- // Iterator's property "rocksdb.iterator.is-key-pinned" is guaranteed to
1829
- // return 1.
1830
- bool pin_data = false;
1831
-
1832
- // For iterators, RocksDB does auto-readahead on noticing more than two
1833
- // sequential reads for a table file if user doesn't provide readahead_size.
1834
- // The readahead starts at 8KB and doubles on every additional read upto
1835
- // max_auto_readahead_size only when reads are sequential. However at each
1836
- // level, if iterator moves over next file, readahead_size starts again from
1837
- // 8KB.
1838
- //
1839
- // By enabling this option, RocksDB will do some enhancements for
1840
- // prefetching the data.
1841
- bool adaptive_readahead = false;
1842
-
1843
- // If true, when PurgeObsoleteFile is called in CleanupIteratorState, we
1844
- // schedule a background job in the flush job queue and delete obsolete files
1845
- // in background.
1846
- bool background_purge_on_iterator_cleanup = false;
1847
-
1848
- // A callback to determine whether relevant keys for this scan exist in a
1849
- // given table based on the table's properties. The callback is passed the
1850
- // properties of each table during iteration. If the callback returns false,
1851
- // the table will not be scanned. This option only affects Iterators and has
1852
- // no impact on point lookups.
1853
- // Default: empty (every table will be scanned)
1854
- std::function<bool(const TableProperties&)> table_filter;
1855
-
1856
- // If auto_readahead_size is set to true, it will auto tune the readahead_size
1857
- // during scans internally.
1858
- // For this feature to enabled, iterate_upper_bound must also be specified.
1859
- //
1860
- // NOTE: - Recommended for forward Scans only.
1861
- // - If there is a backward scans, this option will be
1862
- // disabled internally and won't be enabled again if the forward scan
1863
- // is issued again.
1864
- //
1865
- // Default: true
1866
- bool auto_readahead_size = true;
1867
-
1868
- // *** END options only relevant to iterators or scans ***
1869
-
1870
- // *** BEGIN options for RocksDB internal use only ***
1871
-
1872
- // EXPERIMENTAL
1873
- Env::IOActivity io_activity = Env::IOActivity::kUnknown;
1874
-
1875
- // *** END options for RocksDB internal use only ***
1876
-
1877
- ReadOptions() {}
1878
- ReadOptions(bool _verify_checksums, bool _fill_cache);
1879
- explicit ReadOptions(Env::IOActivity _io_activity);
1880
- };
1881
-
1882
- // Options that control write operations
1883
- struct WriteOptions {
1884
- // If true, the write will be flushed from the operating system
1885
- // buffer cache (by calling WritableFile::Sync()) before the write
1886
- // is considered complete. If this flag is true, writes will be
1887
- // slower.
1888
- //
1889
- // If this flag is false, and the machine crashes, some recent
1890
- // writes may be lost. Note that if it is just the process that
1891
- // crashes (i.e., the machine does not reboot), no writes will be
1892
- // lost even if sync==false.
1893
- //
1894
- // In other words, a DB write with sync==false has similar
1895
- // crash semantics as the "write()" system call. A DB write
1896
- // with sync==true has similar crash semantics to a "write()"
1897
- // system call followed by "fdatasync()".
1898
- //
1899
- // Default: false
1900
- bool sync = false;
1901
-
1902
- // If true, writes will not first go to the write ahead log,
1903
- // and the write may get lost after a crash. The backup engine
1904
- // relies on write-ahead logs to back up the memtable, so if
1905
- // you disable write-ahead logs, you must create backups with
1906
- // flush_before_backup=true to avoid losing unflushed memtable data.
1907
- // Default: false
1908
- bool disableWAL = false;
1909
-
1910
- // If true and if user is trying to write to column families that don't exist
1911
- // (they were dropped), ignore the write (don't return an error). If there
1912
- // are multiple writes in a WriteBatch, other writes will succeed.
1913
- // Default: false
1914
- bool ignore_missing_column_families = false;
1915
-
1916
- // If true and we need to wait or sleep for the write request, fails
1917
- // immediately with Status::Incomplete().
1918
- // Default: false
1919
- bool no_slowdown = false;
1920
-
1921
- // If true, this write request is of lower priority if compaction is
1922
- // behind. In this case, no_slowdown = true, the request will be canceled
1923
- // immediately with Status::Incomplete() returned. Otherwise, it will be
1924
- // slowed down. The slowdown value is determined by RocksDB to guarantee
1925
- // it introduces minimum impacts to high priority writes.
1926
- //
1927
- // Default: false
1928
- bool low_pri = false;
1929
-
1930
- // If true, this writebatch will maintain the last insert positions of each
1931
- // memtable as hints in concurrent write. It can improve write performance
1932
- // in concurrent writes if keys in one writebatch are sequential. In
1933
- // non-concurrent writes (when concurrent_memtable_writes is false) this
1934
- // option will be ignored.
1935
- //
1936
- // Default: false
1937
- bool memtable_insert_hint_per_batch = false;
1938
-
1939
- // For writes associated with this option, charge the internal rate
1940
- // limiter (see `DBOptions::rate_limiter`) at the specified priority. The
1941
- // special value `Env::IO_TOTAL` disables charging the rate limiter.
1942
- //
1943
- // Currently the support covers automatic WAL flushes, which happen during
1944
- // live updates (`Put()`, `Write()`, `Delete()`, etc.)
1945
- // when `WriteOptions::disableWAL == false`
1946
- // and `DBOptions::manual_wal_flush == false`.
1947
- //
1948
- // Only `Env::IO_USER` and `Env::IO_TOTAL` are allowed
1949
- // due to implementation constraints.
1950
- //
1951
- // Default: `Env::IO_TOTAL`
1952
- Env::IOPriority rate_limiter_priority = Env::IO_TOTAL;
1953
-
1954
- // `protection_bytes_per_key` is the number of bytes used to store
1955
- // protection information for each key entry. Currently supported values are
1956
- // zero (disabled) and eight.
1957
- //
1958
- // Default: zero (disabled).
1959
- size_t protection_bytes_per_key = 0;
1960
-
1961
- // For RocksDB internal use only
1962
- //
1963
- // Default: Env::IOActivity::kUnknown.
1964
- Env::IOActivity io_activity = Env::IOActivity::kUnknown;
1965
-
1966
- WriteOptions() {}
1967
- explicit WriteOptions(Env::IOActivity _io_activity);
1968
- explicit WriteOptions(
1969
- Env::IOPriority _rate_limiter_priority,
1970
- Env::IOActivity _io_activity = Env::IOActivity::kUnknown);
1971
- };
1972
-
1973
- // Options that control flush operations
1974
- struct FlushOptions {
1975
- // If true, the flush will wait until the flush is done.
1976
- // Default: true
1977
- bool wait;
1978
- // If true, the flush would proceed immediately even it means writes will
1979
- // stall for the duration of the flush; if false the operation will wait
1980
- // until it's possible to do flush w/o causing stall or until required flush
1981
- // is performed by someone else (foreground call or background thread).
1982
- // Default: false
1983
- bool allow_write_stall;
1984
- FlushOptions() : wait(true), allow_write_stall(false) {}
1985
- };
1986
-
1987
- // Create a Logger from provided DBOptions
1988
- Status CreateLoggerFromOptions(const std::string& dbname,
1989
- const DBOptions& options,
1990
- std::shared_ptr<Logger>* logger);
1991
-
1992
- // CompactionOptions are used in CompactFiles() call.
1993
- struct CompactionOptions {
1994
- // DEPRECATED: this option is unsafe because it allows the user to set any
1995
- // `CompressionType` while always using `CompressionOptions` from the
1996
- // `ColumnFamilyOptions`. As a result the `CompressionType` and
1997
- // `CompressionOptions` can easily be inconsistent.
1998
- //
1999
- // Compaction output compression type
2000
- //
2001
- // Default: `kDisableCompressionOption`
2002
- //
2003
- // If set to `kDisableCompressionOption`, RocksDB will choose compression type
2004
- // according to the `ColumnFamilyOptions`. RocksDB takes into account the
2005
- // output level in case the `ColumnFamilyOptions` has level-specific settings.
2006
- CompressionType compression;
2007
-
2008
- // Compaction will create files of size `output_file_size_limit`.
2009
- // Default: MAX, which means that compaction will create a single file
2010
- uint64_t output_file_size_limit;
2011
-
2012
- // If > 0, it will replace the option in the DBOptions for this compaction.
2013
- uint32_t max_subcompactions;
2014
-
2015
- CompactionOptions()
2016
- : compression(kDisableCompressionOption),
2017
- output_file_size_limit(std::numeric_limits<uint64_t>::max()),
2018
- max_subcompactions(0) {}
2019
- };
2020
-
2021
- // For level based compaction, we can configure if we want to skip/force
2022
- // bottommost level compaction.
2023
- enum class BottommostLevelCompaction {
2024
- // Skip bottommost level compaction.
2025
- kSkip,
2026
- // Only compact bottommost level if there is a compaction filter.
2027
- // This is the default option.
2028
- // Similar to kForceOptimized, when compacting bottommost level, avoid
2029
- // double-compacting files
2030
- // created in the same manual compaction.
2031
- kIfHaveCompactionFilter,
2032
- // Always compact bottommost level.
2033
- kForce,
2034
- // Always compact bottommost level but in bottommost level avoid
2035
- // double-compacting files created in the same compaction.
2036
- kForceOptimized,
2037
- };
2038
-
2039
- // For manual compaction, we can configure if we want to skip/force garbage
2040
- // collection of blob files.
2041
- enum class BlobGarbageCollectionPolicy {
2042
- // Force blob file garbage collection.
2043
- kForce,
2044
- // Skip blob file garbage collection.
2045
- kDisable,
2046
- // Inherit blob file garbage collection policy from ColumnFamilyOptions.
2047
- kUseDefault,
2048
- };
2049
-
2050
- // CompactRangeOptions is used by CompactRange() call.
2051
- struct CompactRangeOptions {
2052
- // If true, no other compaction will run at the same time as this
2053
- // manual compaction.
2054
- //
2055
- // Default: false
2056
- bool exclusive_manual_compaction = false;
2057
-
2058
- // If true, compacted files will be moved to the minimum level capable
2059
- // of holding the data or given level (specified non-negative target_level).
2060
- bool change_level = false;
2061
- // If change_level is true and target_level have non-negative value, compacted
2062
- // files will be moved to target_level.
2063
- int target_level = -1;
2064
- // Compaction outputs will be placed in options.db_paths[target_path_id].
2065
- // Behavior is undefined if target_path_id is out of range.
2066
- uint32_t target_path_id = 0;
2067
- // By default level based compaction will only compact the bottommost level
2068
- // if there is a compaction filter
2069
- BottommostLevelCompaction bottommost_level_compaction =
2070
- BottommostLevelCompaction::kIfHaveCompactionFilter;
2071
- // If true, will execute immediately even if doing so would cause the DB to
2072
- // enter write stall mode. Otherwise, it'll sleep until load is low enough.
2073
- bool allow_write_stall = false;
2074
- // If > 0, it will replace the option in the DBOptions for this compaction.
2075
- uint32_t max_subcompactions = 0;
2076
- // Set user-defined timestamp low bound, the data with older timestamp than
2077
- // low bound maybe GCed by compaction. Default: nullptr
2078
- const Slice* full_history_ts_low = nullptr;
2079
-
2080
- // Allows cancellation of an in-progress manual compaction.
2081
- //
2082
- // Cancellation can be delayed waiting on automatic compactions when used
2083
- // together with `exclusive_manual_compaction == true`.
2084
- std::atomic<bool>* canceled = nullptr;
2085
- // NOTE: Calling DisableManualCompaction() overwrites the uer-provided
2086
- // canceled variable in CompactRangeOptions.
2087
- // Typically, when CompactRange is being called in one thread (t1) with
2088
- // canceled = false, and DisableManualCompaction is being called in the
2089
- // other thread (t2), manual compaction is disabled normally, even if the
2090
- // compaction iterator may still scan a few items before *canceled is
2091
- // set to true
2092
-
2093
- // If set to kForce, RocksDB will override enable_blob_file_garbage_collection
2094
- // to true; if set to kDisable, RocksDB will override it to false, and
2095
- // kUseDefault leaves the setting in effect. This enables customers to both
2096
- // force-enable and force-disable GC when calling CompactRange.
2097
- BlobGarbageCollectionPolicy blob_garbage_collection_policy =
2098
- BlobGarbageCollectionPolicy::kUseDefault;
2099
-
2100
- // If set to < 0 or > 1, RocksDB leaves blob_garbage_collection_age_cutoff
2101
- // from ColumnFamilyOptions in effect. Otherwise, it will override the
2102
- // user-provided setting. This enables customers to selectively override the
2103
- // age cutoff.
2104
- double blob_garbage_collection_age_cutoff = -1;
2105
- };
2106
-
2107
- // IngestExternalFileOptions is used by IngestExternalFile()
2108
- struct IngestExternalFileOptions {
2109
- // Can be set to true to move the files instead of copying them.
2110
- bool move_files = false;
2111
- // If set to true, ingestion falls back to copy when move fails.
2112
- bool failed_move_fall_back_to_copy = true;
2113
- // If set to false, an ingested file keys could appear in existing snapshots
2114
- // that where created before the file was ingested.
2115
- bool snapshot_consistency = true;
2116
- // If set to false, IngestExternalFile() will fail if the file key range
2117
- // overlaps with existing keys or tombstones or output of ongoing compaction
2118
- // during file ingestion in the DB (the conditions under which a global_seqno
2119
- // must be assigned to the ingested file).
2120
- bool allow_global_seqno = true;
2121
- // If set to false and the file key range overlaps with the memtable key range
2122
- // (memtable flush required), IngestExternalFile will fail.
2123
- bool allow_blocking_flush = true;
2124
- // Set to true if you would like duplicate keys in the file being ingested
2125
- // to be skipped rather than overwriting existing data under that key.
2126
- // Use case: back-fill of some historical data in the database without
2127
- // over-writing existing newer version of data.
2128
- // This option could only be used if the DB has been running
2129
- // with allow_ingest_behind=true since the dawn of time.
2130
- // All files will be ingested at the bottommost level with seqno=0.
2131
- bool ingest_behind = false;
2132
- // DEPRECATED - Set to true if you would like to write global_seqno to
2133
- // the external SST file on ingestion for backward compatibility before
2134
- // RocksDB 5.16.0. Such old versions of RocksDB expect any global_seqno to
2135
- // be written to the SST file rather than recorded in the DB manifest.
2136
- // This functionality was deprecated because (a) random writes might be
2137
- // costly or unsupported on some FileSystems, and (b) the file checksum
2138
- // changes with such a write.
2139
- bool write_global_seqno = false;
2140
- // Set to true if you would like to verify the checksums of each block of the
2141
- // external SST file before ingestion.
2142
- // Warning: setting this to true causes slowdown in file ingestion because
2143
- // the external SST file has to be read.
2144
- bool verify_checksums_before_ingest = false;
2145
- // When verify_checksums_before_ingest = true, RocksDB uses default
2146
- // readahead setting to scan the file while verifying checksums before
2147
- // ingestion.
2148
- // Users can override the default value using this option.
2149
- // Using a large readahead size (> 2MB) can typically improve the performance
2150
- // of forward iteration on spinning disks.
2151
- size_t verify_checksums_readahead_size = 0;
2152
- // Set to TRUE if user wants to verify the sst file checksum of ingested
2153
- // files. The DB checksum function will generate the checksum of each
2154
- // ingested file (if file_checksum_gen_factory is set) and compare the
2155
- // checksum function name and checksum with the ingested checksum information.
2156
- //
2157
- // If this option is set to True: 1) if DB does not enable checksum
2158
- // (file_checksum_gen_factory == nullptr), the ingested checksum information
2159
- // will be ignored; 2) If DB enable the checksum function, we calculate the
2160
- // sst file checksum after the file is moved or copied and compare the
2161
- // checksum and checksum name. If checksum or checksum function name does
2162
- // not match, ingestion will be failed. If the verification is successful,
2163
- // checksum and checksum function name will be stored in Manifest.
2164
- // If this option is set to FALSE, 1) if DB does not enable checksum,
2165
- // the ingested checksum information will be ignored; 2) if DB enable the
2166
- // checksum, we only verify the ingested checksum function name and we
2167
- // trust the ingested checksum. If the checksum function name matches, we
2168
- // store the checksum in Manifest. DB does not calculate the checksum during
2169
- // ingestion. However, if no checksum information is provided with the
2170
- // ingested files, DB will generate the checksum and store in the Manifest.
2171
- bool verify_file_checksum = true;
2172
- // Set to TRUE if user wants file to be ingested to the last level. An
2173
- // error of Status::TryAgain() will be returned if a file cannot fit in the
2174
- // last level when calling
2175
- // DB::IngestExternalFile()/DB::IngestExternalFiles(). The user should clear
2176
- // the last level in the overlapping range before re-attempt.
2177
- //
2178
- // ingest_behind takes precedence over fail_if_not_bottommost_level.
2179
- //
2180
- // XXX: "bottommost" is obsolete/confusing terminology to refer to last level
2181
- bool fail_if_not_bottommost_level = false;
2182
- // EXPERIMENTAL
2183
- // If set to true, ingestion will
2184
- // - allow the files to not be generated by SstFileWriter, and
2185
- // - ignore cf_id mismatch between cf_id in the files and the CF they are
2186
- // being ingested into.
2187
- //
2188
- // REQUIRES:
2189
- // - files to be ingested do not overlap with existing keys.
2190
- // - write_global_seqno = false
2191
- // - move_files = false
2192
- //
2193
- // Warning: This ONLY works for SST files where all keys have sequence number
2194
- // zero and with no duplicated user keys (this should be guaranteed if the
2195
- // file is generated by a DB with zero as the largest sequence number).
2196
- // We scan the entire SST files to validate sequence numbers.
2197
- // Warning: If a DB contains ingested files generated by another DB/CF,
2198
- // RepairDB() may not correctly recover these files. It may lose these files.
2199
- bool allow_db_generated_files = false;
2200
- };
2201
-
2202
- enum TraceFilterType : uint64_t {
2203
- // Trace all the operations
2204
- kTraceFilterNone = 0x0,
2205
- // Do not trace the get operations
2206
- kTraceFilterGet = 0x1 << 0,
2207
- // Do not trace the write operations
2208
- kTraceFilterWrite = 0x1 << 1,
2209
- // Do not trace the `Iterator::Seek()` operations
2210
- kTraceFilterIteratorSeek = 0x1 << 2,
2211
- // Do not trace the `Iterator::SeekForPrev()` operations
2212
- kTraceFilterIteratorSeekForPrev = 0x1 << 3,
2213
- // Do not trace the `MultiGet()` operations
2214
- kTraceFilterMultiGet = 0x1 << 4,
2215
- };
2216
-
2217
- // TraceOptions is used for StartTrace
2218
- struct TraceOptions {
2219
- // To avoid the trace file size grows large than the storage space,
2220
- // user can set the max trace file size in Bytes. Default is 64GB
2221
- uint64_t max_trace_file_size = uint64_t{64} * 1024 * 1024 * 1024;
2222
- // Specify trace sampling option, i.e. capture one per how many requests.
2223
- // Default to 1 (capture every request).
2224
- uint64_t sampling_frequency = 1;
2225
- // Note: The filtering happens before sampling.
2226
- uint64_t filter = kTraceFilterNone;
2227
- // When true, the order of write records in the trace will match the order of
2228
- // the corresponding write records in the WAL and applied to the DB. There may
2229
- // be a performance penalty associated with preserving this ordering.
2230
- //
2231
- // Default: false. This means write records in the trace may be in an order
2232
- // different from the WAL's order.
2233
- bool preserve_write_order = false;
2234
- };
2235
-
2236
- // ImportColumnFamilyOptions is used by ImportColumnFamily()
2237
- struct ImportColumnFamilyOptions {
2238
- // Can be set to true to move the files instead of copying them.
2239
- bool move_files = false;
2240
- };
2241
-
2242
- // Options used with DB::GetApproximateSizes()
2243
- struct SizeApproximationOptions {
2244
- // Defines whether the returned size should include the recently written
2245
- // data in the memtables. If set to false, include_files must be true.
2246
- bool include_memtables = false;
2247
- // Defines whether the returned size should include data serialized to disk.
2248
- // If set to false, include_memtables must be true.
2249
- bool include_files = true;
2250
- // When approximating the files total size that is used to store a keys range
2251
- // using DB::GetApproximateSizes, allow approximation with an error margin of
2252
- // up to total_files_size * files_size_error_margin. This allows to take some
2253
- // shortcuts in files size approximation, resulting in better performance,
2254
- // while guaranteeing the resulting error is within a reasonable margin.
2255
- // E.g., if the value is 0.1, then the error margin of the returned files size
2256
- // approximation will be within 10%.
2257
- // If the value is non-positive - a more precise yet more CPU intensive
2258
- // estimation is performed.
2259
- double files_size_error_margin = -1.0;
2260
- };
2261
-
2262
- struct CompactionServiceOptionsOverride {
2263
- // Currently pointer configurations are not passed to compaction service
2264
- // compaction so the user needs to set it. It will be removed once pointer
2265
- // configuration passing is supported.
2266
- Env* env = Env::Default();
2267
- std::shared_ptr<FileChecksumGenFactory> file_checksum_gen_factory = nullptr;
2268
-
2269
- const Comparator* comparator = BytewiseComparator();
2270
- std::shared_ptr<MergeOperator> merge_operator = nullptr;
2271
- const CompactionFilter* compaction_filter = nullptr;
2272
- std::shared_ptr<CompactionFilterFactory> compaction_filter_factory = nullptr;
2273
- std::shared_ptr<const SliceTransform> prefix_extractor = nullptr;
2274
- std::shared_ptr<TableFactory> table_factory;
2275
- std::shared_ptr<SstPartitionerFactory> sst_partitioner_factory = nullptr;
2276
-
2277
- // Only subsets of events are triggered in remote compaction worker, like:
2278
- // `OnTableFileCreated`, `OnTableFileCreationStarted`,
2279
- // `ShouldBeNotifiedOnFileIO` `OnSubcompactionBegin`,
2280
- // `OnSubcompactionCompleted`, etc. Worth mentioning, `OnCompactionBegin` and
2281
- // `OnCompactionCompleted` won't be triggered. They will be triggered on the
2282
- // primary DB side.
2283
- std::vector<std::shared_ptr<EventListener>> listeners;
2284
-
2285
- // statistics is used to collect DB operation metrics, the metrics won't be
2286
- // returned to CompactionService primary host, to collect that, the user needs
2287
- // to set it here.
2288
- std::shared_ptr<Statistics> statistics = nullptr;
2289
-
2290
- // Only compaction generated SST files use this user defined table properties
2291
- // collector.
2292
- std::vector<std::shared_ptr<TablePropertiesCollectorFactory>>
2293
- table_properties_collector_factories;
2294
- };
2295
-
2296
- struct OpenAndCompactOptions {
2297
- // Allows cancellation of an in-progress compaction.
2298
- std::atomic<bool>* canceled = nullptr;
2299
- };
2300
-
2301
- struct LiveFilesStorageInfoOptions {
2302
- // Whether to populate FileStorageInfo::file_checksum* or leave blank
2303
- bool include_checksum_info = false;
2304
- // Flushes memtables if total size in bytes of live WAL files is >= this
2305
- // number (and DB is not read-only).
2306
- // Default: always force a flush without checking sizes.
2307
- uint64_t wal_size_for_flush = 0;
2308
- };
2309
-
2310
- struct WaitForCompactOptions {
2311
- // A boolean to abort waiting in case of a pause (PauseBackgroundWork()
2312
- // called) If true, Status::Aborted will be returned immediately. If false,
2313
- // ContinueBackgroundWork() must be called to resume the background jobs.
2314
- // Otherwise, jobs that were queued, but not scheduled yet may never finish
2315
- // and WaitForCompact() may wait indefinitely (if timeout is set, it will
2316
- // expire and return Status::TimedOut).
2317
- bool abort_on_pause = false;
2318
-
2319
- // A boolean to flush all column families before starting to wait.
2320
- bool flush = false;
2321
-
2322
- // A boolean to wait for purge to complete
2323
- bool wait_for_purge = false;
2324
-
2325
- // A boolean to call Close() after waiting is done. By the time Close() is
2326
- // called here, there should be no background jobs in progress and no new
2327
- // background jobs should be added. DB may not have been closed if Close()
2328
- // returned Aborted status due to unreleased snapshots in the system. See
2329
- // comments in DB::Close() for details.
2330
- bool close_db = false;
2331
-
2332
- // Timeout in microseconds for waiting for compaction to complete.
2333
- // Status::TimedOut will be returned if timeout expires.
2334
- // when timeout == 0, WaitForCompact() will wait as long as there's background
2335
- // work to finish.
2336
- std::chrono::microseconds timeout = std::chrono::microseconds::zero();
2337
- };
2338
-
2339
- } // namespace ROCKSDB_NAMESPACE