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,1165 +0,0 @@
1
- // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2
- // This source code is licensed under both the GPLv2 (found in the
3
- // COPYING file in the root directory) and Apache 2.0 License
4
- // (found in the LICENSE.Apache file in the root directory).
5
- //
6
- // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
7
- // Use of this source code is governed by a BSD-style license that can be
8
- // found in the LICENSE file. See the AUTHORS file for names of contributors.
9
-
10
- #pragma once
11
-
12
- #include <array>
13
- #include <atomic>
14
- #include <climits>
15
- #include <cstddef>
16
- #include <cstdint>
17
- #include <memory>
18
- #include <string>
19
-
20
- #include "cache/cache_key.h"
21
- #include "cache/sharded_cache.h"
22
- #include "port/lang.h"
23
- #include "port/malloc.h"
24
- #include "port/mmap.h"
25
- #include "port/port.h"
26
- #include "rocksdb/cache.h"
27
- #include "rocksdb/secondary_cache.h"
28
- #include "util/atomic.h"
29
- #include "util/autovector.h"
30
- #include "util/math.h"
31
-
32
- namespace ROCKSDB_NAMESPACE {
33
-
34
- namespace clock_cache {
35
-
36
- // Forward declaration of friend class.
37
- template <class ClockCache>
38
- class ClockCacheTest;
39
-
40
- // HyperClockCache is an alternative to LRUCache specifically tailored for
41
- // use as BlockBasedTableOptions::block_cache
42
- //
43
- // Benefits
44
- // --------
45
- // * Lock/wait free (no waits or spins) for efficiency under high concurrency
46
- // * Fixed version (estimated_entry_charge > 0) is fully lock/wait free
47
- // * Automatic version (estimated_entry_charge = 0) has rare waits among
48
- // certain insertion or erase operations that involve the same very small
49
- // set of entries.
50
- // * Optimized for hot path reads. For concurrency control, most Lookup() and
51
- // essentially all Release() are a single atomic add operation.
52
- // * Eviction on insertion is fully parallel.
53
- // * Uses a generalized + aging variant of CLOCK eviction that might outperform
54
- // LRU in some cases. (For background, see
55
- // https://en.wikipedia.org/wiki/Page_replacement_algorithm)
56
- //
57
- // Costs
58
- // -----
59
- // * FixedHyperClockCache (estimated_entry_charge > 0) - Hash table is not
60
- // resizable (for lock-free efficiency) so capacity is not dynamically
61
- // changeable. Rely on an estimated average value (block) size for
62
- // space+time efficiency. (See estimated_entry_charge option details.)
63
- // EXPERIMENTAL - This limitation is fixed in AutoHyperClockCache, activated
64
- // with estimated_entry_charge == 0.
65
- // * Insert usually does not (but might) overwrite a previous entry associated
66
- // with a cache key. This is OK for RocksDB uses of Cache, though it does mess
67
- // up our REDUNDANT block cache insertion statistics.
68
- // * Only supports keys of exactly 16 bytes, which is what RocksDB uses for
69
- // block cache (but not row cache or table cache).
70
- // * Cache priorities are less aggressively enforced. Unlike LRUCache, enough
71
- // transient LOW or BOTTOM priority items can evict HIGH priority entries that
72
- // are not referenced recently (or often) enough.
73
- // * If pinned entries leave little or nothing eligible for eviction,
74
- // performance can degrade substantially, because of clock eviction eating
75
- // CPU looking for evictable entries and because Release does not
76
- // pro-actively delete unreferenced entries when the cache is over-full.
77
- // Specifically, this makes this implementation more susceptible to the
78
- // following combination:
79
- // * num_shard_bits is high (e.g. 6)
80
- // * capacity small (e.g. some MBs)
81
- // * some large individual entries (e.g. non-partitioned filters)
82
- // where individual entries occupy a large portion of their shard capacity.
83
- // This should be mostly mitigated by the implementation picking a lower
84
- // number of cache shards than LRUCache for a given capacity (when
85
- // num_shard_bits is not overridden; see calls to GetDefaultCacheShardBits()).
86
- // * With strict_capacity_limit=false, respecting the capacity limit is not as
87
- // aggressive as LRUCache. The limit might be transiently exceeded by a very
88
- // small number of entries even when not strictly necessary, and slower to
89
- // recover after pinning forces limit to be substantially exceeded. (Even with
90
- // strict_capacity_limit=true, RocksDB will nevertheless transiently allocate
91
- // memory before discovering it is over the block cache capacity, so this
92
- // should not be a detectable regression in respecting memory limits, except
93
- // on exceptionally small caches.)
94
- // * In some cases, erased or duplicated entries might not be freed
95
- // immediately. They will eventually be freed by eviction from further Inserts.
96
- // * Internal metadata can overflow if the number of simultaneous references
97
- // to a cache handle reaches many millions.
98
- //
99
- // High-level eviction algorithm
100
- // -----------------------------
101
- // A score (or "countdown") is maintained for each entry, initially determined
102
- // by priority. The score is incremented on each Lookup, up to a max of 3,
103
- // though is easily returned to previous state if useful=false with Release.
104
- // During CLOCK-style eviction iteration, entries with score > 0 are
105
- // decremented if currently unreferenced and entries with score == 0 are
106
- // evicted if currently unreferenced. Note that scoring might not be perfect
107
- // because entries can be referenced transiently within the cache even when
108
- // there are no outside references to the entry.
109
- //
110
- // Cache sharding like LRUCache is used to reduce contention on usage+eviction
111
- // state, though here the performance improvement from more shards is small,
112
- // and (as noted above) potentially detrimental if shard capacity is too close
113
- // to largest entry size. Here cache sharding mostly only affects cache update
114
- // (Insert / Erase) performance, not read performance.
115
- //
116
- // Read efficiency (hot path)
117
- // --------------------------
118
- // Mostly to minimize the cost of accessing metadata blocks with
119
- // cache_index_and_filter_blocks=true, we focus on optimizing Lookup and
120
- // Release. In terms of concurrency, at a minimum, these operations have
121
- // to do reference counting (and Lookup has to compare full keys in a safe
122
- // way). Can we fold in all the other metadata tracking *for free* with
123
- // Lookup and Release doing a simple atomic fetch_add/fetch_sub? (Assume
124
- // for the moment that Lookup succeeds on the first probe.)
125
- //
126
- // We have a clever way of encoding an entry's reference count and countdown
127
- // clock so that Lookup and Release are each usually a single atomic addition.
128
- // In a single metadata word we have both an "acquire" count, incremented by
129
- // Lookup, and a "release" count, incremented by Release. If useful=false,
130
- // Release can instead decrement the acquire count. Thus the current ref
131
- // count is (acquires - releases), and the countdown clock is min(3, acquires).
132
- // Note that only unreferenced entries (acquires == releases) are eligible
133
- // for CLOCK manipulation and eviction. We tolerate use of more expensive
134
- // compare_exchange operations for cache writes (insertions and erasures).
135
- //
136
- // In a cache receiving many reads and little or no writes, it is possible
137
- // for the acquire and release counters to overflow. Assuming the *current*
138
- // refcount never reaches to many millions, we only have to correct for
139
- // overflow in both counters in Release, not in Lookup. The overflow check
140
- // should be only 1-2 CPU cycles per Release because it is a predictable
141
- // branch on a simple condition on data already in registers.
142
- //
143
- // Slot states
144
- // -----------
145
- // We encode a state indicator into the same metadata word with the
146
- // acquire and release counters. This allows bigger state transitions to
147
- // be atomic. States:
148
- //
149
- // * Empty - slot is not in use and unowned. All other metadata and data is
150
- // in an undefined state.
151
- // * Construction - slot is exclusively owned by one thread, the thread
152
- // successfully entering this state, for populating or freeing data
153
- // (de-construction, same state marker).
154
- // * Shareable (group) - slot holds an entry with counted references for
155
- // pinning and reading, including
156
- // * Visible - slot holds an entry that can be returned by Lookup
157
- // * Invisible - slot holds an entry that is not visible to Lookup
158
- // (erased by user) but can be read by existing references, and ref count
159
- // changed by Ref and Release.
160
- //
161
- // A special case is "standalone" entries, which are heap-allocated handles
162
- // not in the table. They are always Invisible and freed on zero refs.
163
- //
164
- // State transitions:
165
- // Empty -> Construction (in Insert): The encoding of state enables Insert to
166
- // perform an optimistic atomic bitwise-or to take ownership if a slot is
167
- // empty, or otherwise make no state change.
168
- //
169
- // Construction -> Visible (in Insert): This can be a simple assignment to the
170
- // metadata word because the current thread has exclusive ownership and other
171
- // metadata is meaningless.
172
- //
173
- // Visible -> Invisible (in Erase): This can be a bitwise-and while holding
174
- // a shared reference, which is safe because the change is idempotent (in case
175
- // of parallel Erase). By the way, we never go Invisible->Visible.
176
- //
177
- // Shareable -> Construction (in Evict part of Insert, in Erase, and in
178
- // Release if Invisible): This is for starting to freeing/deleting an
179
- // unreferenced entry. We have to use compare_exchange to ensure we only make
180
- // this transition when there are zero refs.
181
- //
182
- // Construction -> Empty (in same places): This is for completing free/delete
183
- // of an entry. A "release" atomic store suffices, as we have exclusive
184
- // ownership of the slot but have to ensure none of the data member reads are
185
- // re-ordered after committing the state transition.
186
- //
187
- // Insert
188
- // ------
189
- // If Insert were to guarantee replacing an existing entry for a key, there
190
- // would be complications for concurrency and efficiency. First, consider how
191
- // many probes to get to an entry. To ensure Lookup never waits and
192
- // availability of a key is uninterrupted, we would need to use a different
193
- // slot for a new entry for the same key. This means it is most likely in a
194
- // later probing position than the old version, which should soon be removed.
195
- // (Also, an entry is too big to replace atomically, even if no current refs.)
196
- //
197
- // However, overwrite capability is not really needed by RocksDB. Also, we
198
- // know from our "redundant" stats that overwrites are very rare for the block
199
- // cache, so we should not spend much to make them effective.
200
- //
201
- // FixedHyperClockCache: Instead we Insert as soon as we find an empty slot in
202
- // the probing sequence without seeing an existing (visible) entry for the same
203
- // key. This way we only insert if we can improve the probing performance, and
204
- // we don't need to probe beyond our insert position, assuming we are willing
205
- // to let the previous entry for the same key die of old age (eventual eviction
206
- // from not being used). We can reach a similar state with concurrent
207
- // insertions, where one will pass over the other while it is "under
208
- // construction." This temporary duplication is acceptable for RocksDB block
209
- // cache because we know redundant insertion is rare.
210
- // AutoHyperClockCache: Similar, except we only notice and return an existing
211
- // match if it is found in the search for a suitable empty slot (starting with
212
- // the same slot as the head pointer), not by following the existing chain of
213
- // entries. Insertions are always made to the head of the chain.
214
- //
215
- // Another problem to solve is what to return to the caller when we find an
216
- // existing entry whose probing position we cannot improve on, or when the
217
- // table occupancy limit has been reached. If strict_capacity_limit=false,
218
- // we must never fail Insert, and if a Handle* is provided, we have to return
219
- // a usable Cache handle on success. The solution to this (typically rare)
220
- // problem is "standalone" handles, which are usable by the caller but not
221
- // actually available for Lookup in the Cache. Standalone handles are allocated
222
- // independently on the heap and specially marked so that they are freed on
223
- // the heap when their last reference is released.
224
- //
225
- // Usage on capacity
226
- // -----------------
227
- // Insert takes different approaches to usage tracking depending on
228
- // strict_capacity_limit setting. If true, we enforce a kind of strong
229
- // consistency where compare-exchange is used to ensure the usage number never
230
- // exceeds its limit, and provide threads with an authoritative signal on how
231
- // much "usage" they have taken ownership of. With strict_capacity_limit=false,
232
- // we use a kind of "eventual consistency" where all threads Inserting to the
233
- // same cache shard might race on reserving the same space, but the
234
- // over-commitment will be worked out in later insertions. It is kind of a
235
- // dance because we don't want threads racing each other too much on paying
236
- // down the over-commitment (with eviction) either.
237
- //
238
- // Eviction
239
- // --------
240
- // A key part of Insert is evicting some entries currently unreferenced to
241
- // make room for new entries. The high-level eviction algorithm is described
242
- // above, but the details are also interesting. A key part is parallelizing
243
- // eviction with a single CLOCK pointer. This works by each thread working on
244
- // eviction pre-emptively incrementing the CLOCK pointer, and then CLOCK-
245
- // updating or evicting the incremented-over slot(s). To reduce contention at
246
- // the cost of possibly evicting too much, each thread increments the clock
247
- // pointer by 4, so commits to updating at least 4 slots per batch. As
248
- // described above, a CLOCK update will decrement the "countdown" of
249
- // unreferenced entries, or evict unreferenced entries with zero countdown.
250
- // Referenced entries are not updated, because we (presumably) don't want
251
- // long-referenced entries to age while referenced. Note however that we
252
- // cannot distinguish transiently referenced entries from cache user
253
- // references, so some CLOCK updates might be somewhat arbitrarily skipped.
254
- // This is OK as long as it is rare enough that eviction order is still
255
- // pretty good.
256
- //
257
- // There is no synchronization on the completion of the CLOCK updates, so it
258
- // is theoretically possible for another thread to cycle back around and have
259
- // two threads racing on CLOCK updates to the same slot. Thus, we cannot rely
260
- // on any implied exclusivity to make the updates or eviction more efficient.
261
- // These updates use an opportunistic compare-exchange (no loop), where a
262
- // racing thread might cause the update to be skipped without retry, but in
263
- // such case the update is likely not needed because the most likely update
264
- // to an entry is that it has become referenced. (TODO: test efficiency of
265
- // avoiding compare-exchange loop)
266
- //
267
- // Release
268
- // -------
269
- // In the common case, Release is a simple atomic increment of the release
270
- // counter. There is a simple overflow check that only does another atomic
271
- // update in extremely rare cases, so costs almost nothing.
272
- //
273
- // If the Release specifies "not useful", we can instead decrement the
274
- // acquire counter, which returns to the same CLOCK state as before Lookup
275
- // or Ref.
276
- //
277
- // Adding a check for over-full cache on every release to zero-refs would
278
- // likely be somewhat expensive, increasing read contention on cache shard
279
- // metadata. Instead we are less aggressive about deleting entries right
280
- // away in those cases.
281
- //
282
- // However Release tries to immediately delete entries reaching zero refs
283
- // if (a) erase_if_last_ref is set by the caller, or (b) the entry is already
284
- // marked invisible. Both of these are checks on values already in CPU
285
- // registers so do not increase cross-CPU contention when not applicable.
286
- // When applicable, they use a compare-exchange loop to take exclusive
287
- // ownership of the slot for freeing the entry. These are rare cases
288
- // that should not usually affect performance.
289
- //
290
- // Erase
291
- // -----
292
- // Searches for an entry like Lookup but moves it to Invisible state if found.
293
- // This state transition is with bit operations so is idempotent and safely
294
- // done while only holding a shared "read" reference. Like Release, it makes
295
- // a best effort to immediately release an Invisible entry that reaches zero
296
- // refs, but there are some corner cases where it will only be freed by the
297
- // clock eviction process.
298
-
299
- // ----------------------------------------------------------------------- //
300
-
301
- struct ClockHandleBasicData : public Cache::Handle {
302
- Cache::ObjectPtr value = nullptr;
303
- const Cache::CacheItemHelper* helper = nullptr;
304
- // A lossless, reversible hash of the fixed-size (16 byte) cache key. This
305
- // eliminates the need to store a hash separately.
306
- UniqueId64x2 hashed_key = kNullUniqueId64x2;
307
- size_t total_charge = 0;
308
-
309
- inline size_t GetTotalCharge() const { return total_charge; }
310
-
311
- // Calls deleter (if non-null) on cache key and value
312
- void FreeData(MemoryAllocator* allocator) const;
313
-
314
- // Required by concept HandleImpl
315
- const UniqueId64x2& GetHash() const { return hashed_key; }
316
- };
317
-
318
- struct ClockHandle : public ClockHandleBasicData {
319
- // Constants for handling the atomic `meta` word, which tracks most of the
320
- // state of the handle. The meta word looks like this:
321
- // low bits high bits
322
- // -----------------------------------------------------------------------
323
- // | acquire counter | release counter | hit bit | state marker |
324
- // -----------------------------------------------------------------------
325
-
326
- // For reading or updating counters in meta word.
327
- static constexpr uint8_t kCounterNumBits = 30;
328
- static constexpr uint64_t kCounterMask = (uint64_t{1} << kCounterNumBits) - 1;
329
-
330
- static constexpr uint8_t kAcquireCounterShift = 0;
331
- static constexpr uint64_t kAcquireIncrement = uint64_t{1}
332
- << kAcquireCounterShift;
333
- static constexpr uint8_t kReleaseCounterShift = kCounterNumBits;
334
- static constexpr uint64_t kReleaseIncrement = uint64_t{1}
335
- << kReleaseCounterShift;
336
-
337
- // For setting the hit bit
338
- static constexpr uint8_t kHitBitShift = 2U * kCounterNumBits;
339
- static constexpr uint64_t kHitBitMask = uint64_t{1} << kHitBitShift;
340
-
341
- // For reading or updating the state marker in meta word
342
- static constexpr uint8_t kStateShift = kHitBitShift + 1;
343
-
344
- // Bits contribution to state marker.
345
- // Occupied means any state other than empty
346
- static constexpr uint8_t kStateOccupiedBit = 0b100;
347
- // Shareable means the entry is reference counted (visible or invisible)
348
- // (only set if also occupied)
349
- static constexpr uint8_t kStateShareableBit = 0b010;
350
- // Visible is only set if also shareable
351
- static constexpr uint8_t kStateVisibleBit = 0b001;
352
-
353
- // Complete state markers (not shifted into full word)
354
- static constexpr uint8_t kStateEmpty = 0b000;
355
- static constexpr uint8_t kStateConstruction = kStateOccupiedBit;
356
- static constexpr uint8_t kStateInvisible =
357
- kStateOccupiedBit | kStateShareableBit;
358
- static constexpr uint8_t kStateVisible =
359
- kStateOccupiedBit | kStateShareableBit | kStateVisibleBit;
360
-
361
- // Constants for initializing the countdown clock. (Countdown clock is only
362
- // in effect with zero refs, acquire counter == release counter, and in that
363
- // case the countdown clock == both of those counters.)
364
- static constexpr uint8_t kHighCountdown = 3;
365
- static constexpr uint8_t kLowCountdown = 2;
366
- static constexpr uint8_t kBottomCountdown = 1;
367
- // During clock update, treat any countdown clock value greater than this
368
- // value the same as this value.
369
- static constexpr uint8_t kMaxCountdown = kHighCountdown;
370
- // TODO: make these coundown values tuning parameters for eviction?
371
-
372
- // See above. Mutable for read reference counting.
373
- mutable AcqRelAtomic<uint64_t> meta{};
374
- }; // struct ClockHandle
375
-
376
- class BaseClockTable {
377
- public:
378
- struct BaseOpts {
379
- explicit BaseOpts(int _eviction_effort_cap)
380
- : eviction_effort_cap(_eviction_effort_cap) {}
381
- explicit BaseOpts(const HyperClockCacheOptions& opts)
382
- : BaseOpts(opts.eviction_effort_cap) {}
383
- int eviction_effort_cap;
384
- };
385
-
386
- BaseClockTable(CacheMetadataChargePolicy metadata_charge_policy,
387
- MemoryAllocator* allocator,
388
- const Cache::EvictionCallback* eviction_callback,
389
- const uint32_t* hash_seed)
390
- : metadata_charge_policy_(metadata_charge_policy),
391
- allocator_(allocator),
392
- eviction_callback_(*eviction_callback),
393
- hash_seed_(*hash_seed) {}
394
-
395
- template <class Table>
396
- typename Table::HandleImpl* CreateStandalone(ClockHandleBasicData& proto,
397
- size_t capacity,
398
- uint32_t eec_and_scl,
399
- bool allow_uncharged);
400
-
401
- template <class Table>
402
- Status Insert(const ClockHandleBasicData& proto,
403
- typename Table::HandleImpl** handle, Cache::Priority priority,
404
- size_t capacity, uint32_t eec_and_scl);
405
-
406
- void Ref(ClockHandle& handle);
407
-
408
- size_t GetOccupancy() const { return occupancy_.LoadRelaxed(); }
409
-
410
- size_t GetUsage() const { return usage_.LoadRelaxed(); }
411
-
412
- size_t GetStandaloneUsage() const { return standalone_usage_.LoadRelaxed(); }
413
-
414
- uint32_t GetHashSeed() const { return hash_seed_; }
415
-
416
- uint64_t GetYieldCount() const { return yield_count_.LoadRelaxed(); }
417
-
418
- uint64_t GetEvictionEffortExceededCount() const {
419
- return eviction_effort_exceeded_count_.LoadRelaxed();
420
- }
421
-
422
- struct EvictionData {
423
- size_t freed_charge = 0;
424
- size_t freed_count = 0;
425
- size_t seen_pinned_count = 0;
426
- };
427
-
428
- void TrackAndReleaseEvictedEntry(ClockHandle* h);
429
-
430
- #ifndef NDEBUG
431
- // Acquire N references
432
- void TEST_RefN(ClockHandle& handle, size_t n);
433
- // Helper for TEST_ReleaseN
434
- void TEST_ReleaseNMinus1(ClockHandle* handle, size_t n);
435
- #endif
436
-
437
- private: // fns
438
- // Creates a "standalone" handle for returning from an Insert operation that
439
- // cannot be completed by actually inserting into the table.
440
- // Updates `standalone_usage_` but not `usage_` nor `occupancy_`.
441
- template <class HandleImpl>
442
- HandleImpl* StandaloneInsert(const ClockHandleBasicData& proto);
443
-
444
- // Helper for updating `usage_` for new entry with given `total_charge`
445
- // and evicting if needed under strict_capacity_limit=true rules. This
446
- // means the operation might fail with Status::MemoryLimit. If
447
- // `need_evict_for_occupancy`, then eviction of at least one entry is
448
- // required, and the operation should fail if not possible.
449
- // NOTE: Otherwise, occupancy_ is not managed in this function
450
- template <class Table>
451
- Status ChargeUsageMaybeEvictStrict(size_t total_charge, size_t capacity,
452
- bool need_evict_for_occupancy,
453
- uint32_t eviction_effort_cap,
454
- typename Table::InsertState& state);
455
-
456
- // Helper for updating `usage_` for new entry with given `total_charge`
457
- // and evicting if needed under strict_capacity_limit=false rules. This
458
- // means that updating `usage_` always succeeds even if forced to exceed
459
- // capacity. If `need_evict_for_occupancy`, then eviction of at least one
460
- // entry is required, and the operation should return false if such eviction
461
- // is not possible. `usage_` is not updated in that case. Otherwise, returns
462
- // true, indicating success.
463
- // NOTE: occupancy_ is not managed in this function
464
- template <class Table>
465
- bool ChargeUsageMaybeEvictNonStrict(size_t total_charge, size_t capacity,
466
- bool need_evict_for_occupancy,
467
- uint32_t eviction_effort_cap,
468
- typename Table::InsertState& state);
469
-
470
- protected: // data
471
- // We partition the following members into different cache lines
472
- // to avoid false sharing among Lookup, Release, Erase and Insert
473
- // operations in ClockCacheShard.
474
-
475
- // Clock algorithm sweep pointer.
476
- // (Relaxed: only needs to be consistent with itself.)
477
- RelaxedAtomic<uint64_t> clock_pointer_{};
478
-
479
- // Counter for number of times we yield to wait on another thread.
480
- // It is normal for this to occur rarely in normal operation.
481
- // (Relaxed: a simple stat counter.)
482
- RelaxedAtomic<uint64_t> yield_count_{};
483
-
484
- // Counter for number of times eviction effort cap is exceeded.
485
- // It is normal for this to occur rarely in normal operation.
486
- // (Relaxed: a simple stat counter.)
487
- RelaxedAtomic<uint64_t> eviction_effort_exceeded_count_{};
488
-
489
- // TODO: is this separation needed if we don't do background evictions?
490
- ALIGN_AS(CACHE_LINE_SIZE)
491
- // Number of elements in the table.
492
- AcqRelAtomic<size_t> occupancy_{};
493
-
494
- // Memory usage by entries tracked by the cache (including standalone)
495
- AcqRelAtomic<size_t> usage_{};
496
-
497
- // Part of usage by standalone entries (not in table)
498
- AcqRelAtomic<size_t> standalone_usage_{};
499
-
500
- ALIGN_AS(CACHE_LINE_SIZE)
501
- const CacheMetadataChargePolicy metadata_charge_policy_;
502
-
503
- // From Cache, for deleter
504
- MemoryAllocator* const allocator_;
505
-
506
- // A reference to Cache::eviction_callback_
507
- const Cache::EvictionCallback& eviction_callback_;
508
-
509
- // A reference to ShardedCacheBase::hash_seed_
510
- const uint32_t& hash_seed_;
511
- };
512
-
513
- // Hash table for cache entries with size determined at creation time.
514
- // Uses open addressing and double hashing. Since entries cannot be moved,
515
- // the "displacements" count ensures probing sequences find entries even when
516
- // entries earlier in the probing sequence have been removed.
517
- class FixedHyperClockTable : public BaseClockTable {
518
- public:
519
- // Target size to be exactly a common cache line size (see static_assert in
520
- // clock_cache.cc)
521
- struct ALIGN_AS(64U) HandleImpl : public ClockHandle {
522
- // The number of elements that hash to this slot or a lower one, but wind
523
- // up in this slot or a higher one.
524
- // (Relaxed: within a Cache op, does not need consistency with entries
525
- // inserted/removed during that op. For example, a Lookup() that
526
- // happens-after an Insert() will see an appropriate displacements value
527
- // for the entry to be in a published state.)
528
- RelaxedAtomic<uint32_t> displacements{};
529
-
530
- // Whether this is a "deteched" handle that is independently allocated
531
- // with `new` (so must be deleted with `delete`).
532
- // TODO: ideally this would be packed into some other data field, such
533
- // as upper bits of total_charge, but that incurs a measurable performance
534
- // regression.
535
- bool standalone = false;
536
-
537
- inline bool IsStandalone() const { return standalone; }
538
-
539
- inline void SetStandalone() { standalone = true; }
540
- }; // struct HandleImpl
541
-
542
- struct Opts : public BaseOpts {
543
- explicit Opts(size_t _estimated_value_size, int _eviction_effort_cap)
544
- : BaseOpts(_eviction_effort_cap),
545
- estimated_value_size(_estimated_value_size) {}
546
- explicit Opts(const HyperClockCacheOptions& opts)
547
- : BaseOpts(opts.eviction_effort_cap) {
548
- assert(opts.estimated_entry_charge > 0);
549
- estimated_value_size = opts.estimated_entry_charge;
550
- }
551
- size_t estimated_value_size;
552
- };
553
-
554
- FixedHyperClockTable(size_t capacity,
555
- CacheMetadataChargePolicy metadata_charge_policy,
556
- MemoryAllocator* allocator,
557
- const Cache::EvictionCallback* eviction_callback,
558
- const uint32_t* hash_seed, const Opts& opts);
559
- ~FixedHyperClockTable();
560
-
561
- // For BaseClockTable::Insert
562
- struct InsertState {};
563
-
564
- void StartInsert(InsertState& state);
565
-
566
- // Returns true iff there is room for the proposed number of entries.
567
- bool GrowIfNeeded(size_t new_occupancy, InsertState& state);
568
-
569
- HandleImpl* DoInsert(const ClockHandleBasicData& proto,
570
- uint64_t initial_countdown, bool take_ref,
571
- InsertState& state);
572
-
573
- // Runs the clock eviction algorithm trying to reclaim at least
574
- // requested_charge. Returns how much is evicted, which could be less
575
- // if it appears impossible to evict the requested amount without blocking.
576
- void Evict(size_t requested_charge, InsertState& state, EvictionData* data,
577
- uint32_t eviction_effort_cap);
578
-
579
- HandleImpl* Lookup(const UniqueId64x2& hashed_key);
580
-
581
- bool Release(HandleImpl* handle, bool useful, bool erase_if_last_ref);
582
-
583
- void Erase(const UniqueId64x2& hashed_key);
584
-
585
- void EraseUnRefEntries();
586
-
587
- size_t GetTableSize() const { return size_t{1} << length_bits_; }
588
-
589
- size_t GetOccupancyLimit() const { return occupancy_limit_; }
590
-
591
- const HandleImpl* HandlePtr(size_t idx) const { return &array_[idx]; }
592
-
593
- #ifndef NDEBUG
594
- size_t& TEST_MutableOccupancyLimit() {
595
- return const_cast<size_t&>(occupancy_limit_);
596
- }
597
-
598
- // Release N references
599
- void TEST_ReleaseN(HandleImpl* handle, size_t n);
600
- #endif
601
-
602
- // The load factor p is a real number in (0, 1) such that at all
603
- // times at most a fraction p of all slots, without counting tombstones,
604
- // are occupied by elements. This means that the probability that a random
605
- // probe hits an occupied slot is at most p, and thus at most 1/p probes
606
- // are required on average. For example, p = 70% implies that between 1 and 2
607
- // probes are needed on average (bear in mind that this reasoning doesn't
608
- // consider the effects of clustering over time, which should be negligible
609
- // with double hashing).
610
- // Because the size of the hash table is always rounded up to the next
611
- // power of 2, p is really an upper bound on the actual load factor---the
612
- // actual load factor is anywhere between p/2 and p. This is a bit wasteful,
613
- // but bear in mind that slots only hold metadata, not actual values.
614
- // Since space cost is dominated by the values (the LSM blocks),
615
- // overprovisioning the table with metadata only increases the total cache
616
- // space usage by a tiny fraction.
617
- static constexpr double kLoadFactor = 0.7;
618
-
619
- // The user can exceed kLoadFactor if the sizes of the inserted values don't
620
- // match estimated_value_size, or in some rare cases with
621
- // strict_capacity_limit == false. To avoid degenerate performance, we set a
622
- // strict upper bound on the load factor.
623
- static constexpr double kStrictLoadFactor = 0.84;
624
-
625
- private: // functions
626
- // Returns x mod 2^{length_bits_}.
627
- inline size_t ModTableSize(uint64_t x) {
628
- return BitwiseAnd(x, length_bits_mask_);
629
- }
630
-
631
- // Returns the first slot in the probe sequence with a handle e such that
632
- // match_fn(e) is true. At every step, the function first tests whether
633
- // match_fn(e) holds. If this is false, it evaluates abort_fn(e) to decide
634
- // whether the search should be aborted, and if so, FindSlot immediately
635
- // returns nullptr. For every handle e that is not a match and not aborted,
636
- // FindSlot runs update_fn(e, is_last) where is_last is set to true iff that
637
- // slot will be the last probed because the next would cycle back to the first
638
- // slot probed. This function uses templates instead of std::function to
639
- // minimize the risk of heap-allocated closures being created.
640
- template <typename MatchFn, typename AbortFn, typename UpdateFn>
641
- inline HandleImpl* FindSlot(const UniqueId64x2& hashed_key,
642
- const MatchFn& match_fn, const AbortFn& abort_fn,
643
- const UpdateFn& update_fn);
644
-
645
- // Re-decrement all displacements in probe path starting from beginning
646
- // until (not including) the given handle
647
- inline void Rollback(const UniqueId64x2& hashed_key, const HandleImpl* h);
648
-
649
- // Subtracts `total_charge` from `usage_` and 1 from `occupancy_`.
650
- // Ideally this comes after releasing the entry itself so that we
651
- // actually have the available occupancy/usage that is claimed.
652
- // However, that means total_charge has to be saved from the handle
653
- // before releasing it so that it can be provided to this function.
654
- inline void ReclaimEntryUsage(size_t total_charge);
655
-
656
- MemoryAllocator* GetAllocator() const { return allocator_; }
657
-
658
- // Returns the number of bits used to hash an element in the hash
659
- // table.
660
- static int CalcHashBits(size_t capacity, size_t estimated_value_size,
661
- CacheMetadataChargePolicy metadata_charge_policy);
662
-
663
- private: // data
664
- // Number of hash bits used for table index.
665
- // The size of the table is 1 << length_bits_.
666
- const int length_bits_;
667
-
668
- // For faster computation of ModTableSize.
669
- const size_t length_bits_mask_;
670
-
671
- // Maximum number of elements the user can store in the table.
672
- const size_t occupancy_limit_;
673
-
674
- // Array of slots comprising the hash table.
675
- const std::unique_ptr<HandleImpl[]> array_;
676
- }; // class FixedHyperClockTable
677
-
678
- // Hash table for cache entries that resizes automatically based on occupancy.
679
- // However, it depends on a contiguous memory region to grow into
680
- // incrementally, using linear hashing, so uses an anonymous mmap so that
681
- // only the used portion of the memory region is mapped to physical memory
682
- // (part of RSS).
683
- //
684
- // This table implementation uses the same "low-level protocol" for managing
685
- // the contens of an entry slot as FixedHyperClockTable does, captured in the
686
- // ClockHandle struct. The provides most of the essential data safety, but
687
- // AutoHyperClockTable is another "high-level protocol" for organizing entries
688
- // into a hash table, with automatic resizing.
689
- //
690
- // This implementation is not fully wait-free but we can call it "essentially
691
- // wait-free," and here's why. First, like FixedHyperClockCache, there is no
692
- // locking nor other forms of waiting at the cache or shard level. Also like
693
- // FixedHCC there is essentially an entry-level read-write lock implemented
694
- // with atomics, but our relaxed atomicity/consistency guarantees (e.g.
695
- // duplicate inserts are possible) mean we do not need to wait for entry
696
- // locking. Lookups, non-erasing Releases, and non-evicting non-growing Inserts
697
- // are all fully wait-free. Of course, these waits are not dependent on any
698
- // external factors such as I/O.
699
- //
700
- // For operations that remove entries from a chain or grow the table by
701
- // splitting a chain, there is a chain-level locking mechanism that we call a
702
- // "rewrite" lock, and the only waits are for these locks. On average, each
703
- // chain lock is relevant to < 2 entries each. (The average would be less than
704
- // one entry each, but we do not lock when there's no entry to remove or
705
- // migrate.) And a given thread can only hold two such chain locks at a time,
706
- // more typically just one. So in that sense alone, the waiting that does exist
707
- // is very localized.
708
- //
709
- // If we look closer at the operations utilizing that locking mechanism, we
710
- // can see why it's "essentially wait-free."
711
- // * Grow operations to increase the size of the table: each operation splits
712
- // an existing chain into two, and chains for splitting are chosen in table
713
- // order. Grow operations are fully parallel except for the chain locking, but
714
- // for one Grow operation to wait on another, it has to be feeding into the
715
- // other, which means the table has doubled in size already from other Grow
716
- // operations without the original one finishing. So Grow operations are very
717
- // low latency (unlike LRUCache doubling the table size in one operation) and
718
- // very parallelizeable. (We use some tricks to break up dependencies in
719
- // updating metadata on the usable size of the table.) And obviously Grow
720
- // operations are very rare after the initial population of the table.
721
- // * Evict operations (part of many Inserts): clock updates and evictions
722
- // sweep through the structure in table order, so like Grow operations,
723
- // parallel Evict can only wait on each other if an Evict has lingered (slept)
724
- // long enough that the clock pointer has wrapped around the entire structure.
725
- // * Random erasures (Erase, Release with erase_if_last_ref, etc.): these
726
- // operations are rare and not really considered performance critical.
727
- // Currently they're mostly used for removing placeholder cache entries, e.g.
728
- // for memory tracking, though that could use standalone entries instead to
729
- // avoid potential contention in table operations. It's possible that future
730
- // enhancements could pro-actively remove cache entries from obsolete files,
731
- // but that's not yet implemented.
732
- class AutoHyperClockTable : public BaseClockTable {
733
- public:
734
- // Target size to be exactly a common cache line size (see static_assert in
735
- // clock_cache.cc)
736
- struct ALIGN_AS(64U) HandleImpl : public ClockHandle {
737
- // To orgainize AutoHyperClockTable entries into a hash table while
738
- // allowing the table size to grow without existing entries being moved,
739
- // a version of chaining is used. Rather than being heap allocated (and
740
- // incurring overheads to ensure memory safety) entries must go into
741
- // Handles ("slots") in the pre-allocated array. To improve CPU cache
742
- // locality, the chain head pointers are interleved with the entries;
743
- // specifically, a Handle contains
744
- // * A head pointer for a chain of entries with this "home" location.
745
- // * A ClockHandle, for an entry that may or may not be in the chain
746
- // starting from that head (but for performance ideally is on that
747
- // chain).
748
- // * A next pointer for the continuation of the chain containing this
749
- // entry.
750
- //
751
- // The pointers are not raw pointers, but are indices into the array,
752
- // and are decorated in two ways to help detect and recover from
753
- // relevant concurrent modifications during Lookup, so that Lookup is
754
- // fully wait-free:
755
- // * Each "with_shift" pointer contains a shift count that indicates
756
- // how many hash bits were used in chosing the home address for the
757
- // chain--specifically the next entry in the chain.
758
- // * The end of a chain is given a special "end" marker and refers back
759
- // to the head of the chain.
760
- //
761
- // Why do we need shift on each pointer? To make Lookup wait-free, we need
762
- // to be able to query a chain without missing anything, and preferably
763
- // avoid synchronously double-checking the length_info. Without the shifts,
764
- // there is a risk that we start down a chain and while paused on an entry
765
- // that goes to a new home, we then follow the rest of the
766
- // partially-migrated chain to see the shared ending with the old home, but
767
- // for a time were following the chain for the new home, missing some
768
- // entries for the old home.
769
- //
770
- // Why do we need the end of the chain to loop back? If Lookup pauses
771
- // at an "under construction" entry, and sees that "next" is null after
772
- // waking up, we need something to tell whether the "under construction"
773
- // entry was freed and reused for another chain. Otherwise, we could
774
- // miss entries still on the original chain due in the presence of a
775
- // concurrent modification. Until an entry is fully erased from a chain,
776
- // it is normal to see "under construction" entries on the chain, and it
777
- // is not safe to read their hashed key without either a read reference
778
- // on the entry or a rewrite lock on the chain.
779
-
780
- // Marker in a "with_shift" head pointer for some thread owning writes
781
- // to the chain structure (except for inserts), but only if not an
782
- // "end" pointer. Also called the "rewrite lock."
783
- static constexpr uint64_t kHeadLocked = uint64_t{1} << 7;
784
-
785
- // Marker in a "with_shift" pointer for the end of a chain. Must also
786
- // point back to the head of the chain (with end marker removed).
787
- // Also includes the "locked" bit so that attempting to lock an empty
788
- // chain has no effect (not needed, as the lock is only needed for
789
- // removals).
790
- static constexpr uint64_t kNextEndFlags = (uint64_t{1} << 6) | kHeadLocked;
791
-
792
- static inline bool IsEnd(uint64_t next_with_shift) {
793
- // Assuming certain values never used, suffices to check this one bit
794
- constexpr auto kCheckBit = kNextEndFlags ^ kHeadLocked;
795
- return next_with_shift & kCheckBit;
796
- }
797
-
798
- // Bottom bits to right shift away to get an array index from a
799
- // "with_shift" pointer.
800
- static constexpr int kNextShift = 8;
801
-
802
- // A bit mask for the "shift" associated with each "with_shift" pointer.
803
- // Always bottommost bits.
804
- static constexpr int kShiftMask = 63;
805
-
806
- // A marker for head_next_with_shift that indicates this HandleImpl is
807
- // heap allocated (standalone) rather than in the table.
808
- static constexpr uint64_t kStandaloneMarker = UINT64_MAX;
809
-
810
- // A marker for head_next_with_shift indicating the head is not yet part
811
- // of the usable table, or for chain_next_with_shift indicating that the
812
- // entry is not present or is not yet part of a chain (must not be
813
- // "shareable" state).
814
- static constexpr uint64_t kUnusedMarker = 0;
815
-
816
- // See above. The head pointer is logically independent of the rest of
817
- // the entry, including the chain next pointer.
818
- AcqRelAtomic<uint64_t> head_next_with_shift{kUnusedMarker};
819
- AcqRelAtomic<uint64_t> chain_next_with_shift{kUnusedMarker};
820
-
821
- // For supporting CreateStandalone and some fallback cases.
822
- inline bool IsStandalone() const {
823
- return head_next_with_shift.Load() == kStandaloneMarker;
824
- }
825
-
826
- inline void SetStandalone() {
827
- head_next_with_shift.Store(kStandaloneMarker);
828
- }
829
- }; // struct HandleImpl
830
-
831
- struct Opts : public BaseOpts {
832
- explicit Opts(size_t _min_avg_value_size, int _eviction_effort_cap)
833
- : BaseOpts(_eviction_effort_cap),
834
- min_avg_value_size(_min_avg_value_size) {}
835
-
836
- explicit Opts(const HyperClockCacheOptions& opts)
837
- : BaseOpts(opts.eviction_effort_cap) {
838
- assert(opts.estimated_entry_charge == 0);
839
- min_avg_value_size = opts.min_avg_entry_charge;
840
- }
841
- size_t min_avg_value_size;
842
- };
843
-
844
- AutoHyperClockTable(size_t capacity,
845
- CacheMetadataChargePolicy metadata_charge_policy,
846
- MemoryAllocator* allocator,
847
- const Cache::EvictionCallback* eviction_callback,
848
- const uint32_t* hash_seed, const Opts& opts);
849
- ~AutoHyperClockTable();
850
-
851
- // For BaseClockTable::Insert
852
- struct InsertState {
853
- uint64_t saved_length_info = 0;
854
- size_t likely_empty_slot = 0;
855
- };
856
-
857
- void StartInsert(InsertState& state);
858
-
859
- // Does initial check for whether there's hash table room for another
860
- // inserted entry, possibly growing if needed. Returns true iff (after
861
- // the call) there is room for the proposed number of entries.
862
- bool GrowIfNeeded(size_t new_occupancy, InsertState& state);
863
-
864
- HandleImpl* DoInsert(const ClockHandleBasicData& proto,
865
- uint64_t initial_countdown, bool take_ref,
866
- InsertState& state);
867
-
868
- // Runs the clock eviction algorithm trying to reclaim at least
869
- // requested_charge. Returns how much is evicted, which could be less
870
- // if it appears impossible to evict the requested amount without blocking.
871
- void Evict(size_t requested_charge, InsertState& state, EvictionData* data,
872
- uint32_t eviction_effort_cap);
873
-
874
- HandleImpl* Lookup(const UniqueId64x2& hashed_key);
875
-
876
- bool Release(HandleImpl* handle, bool useful, bool erase_if_last_ref);
877
-
878
- void Erase(const UniqueId64x2& hashed_key);
879
-
880
- void EraseUnRefEntries();
881
-
882
- size_t GetTableSize() const;
883
-
884
- size_t GetOccupancyLimit() const;
885
-
886
- const HandleImpl* HandlePtr(size_t idx) const { return &array_[idx]; }
887
-
888
- #ifndef NDEBUG
889
- size_t& TEST_MutableOccupancyLimit() {
890
- return *reinterpret_cast<size_t*>(&occupancy_limit_);
891
- }
892
-
893
- // Release N references
894
- void TEST_ReleaseN(HandleImpl* handle, size_t n);
895
- #endif
896
-
897
- // Maximum ratio of number of occupied slots to number of usable slots. The
898
- // actual load factor should float pretty close to this number, which should
899
- // be a nice space/time trade-off, though large swings in WriteBufferManager
900
- // memory could lead to low (but very much safe) load factors (only after
901
- // seeing high load factors). Linear hashing along with (modified) linear
902
- // probing to find an available slot increases potential risks of high
903
- // load factors, so are disallowed.
904
- static constexpr double kMaxLoadFactor = 0.60;
905
-
906
- private: // functions
907
- // Returns true iff increased usable length. Due to load factor
908
- // considerations, GrowIfNeeded might call this more than once to make room
909
- // for one more entry.
910
- bool Grow(InsertState& state);
911
-
912
- // Operational details of splitting a chain into two for Grow().
913
- void SplitForGrow(size_t grow_home, size_t old_home, int old_shift);
914
-
915
- // Takes an "under construction" entry and ensures it is no longer connected
916
- // to its home chain (in preparaion for completing erasure and freeing the
917
- // slot). Note that previous operations might have already noticed it being
918
- // "under (de)construction" and removed it from its chain.
919
- void Remove(HandleImpl* h);
920
-
921
- // Try to take ownership of an entry and erase+remove it from the table.
922
- // Returns true if successful. Could fail if
923
- // * There are other references to the entry
924
- // * Some other thread has exclusive ownership or has freed it.
925
- bool TryEraseHandle(HandleImpl* h, bool holding_ref, bool mark_invisible);
926
-
927
- // Calculates the appropriate maximum table size, for creating the memory
928
- // mapping.
929
- static size_t CalcMaxUsableLength(
930
- size_t capacity, size_t min_avg_value_size,
931
- CacheMetadataChargePolicy metadata_charge_policy);
932
-
933
- // Shared helper function that implements removing entries from a chain
934
- // with proper handling to ensure all existing data is seen even in the
935
- // presence of concurrent insertions, etc. (See implementation.)
936
- template <class OpData>
937
- void PurgeImpl(OpData* op_data, size_t home = SIZE_MAX,
938
- EvictionData* data = nullptr);
939
-
940
- // An RAII wrapper for locking a chain of entries for removals. See
941
- // implementation.
942
- class ChainRewriteLock;
943
-
944
- // Helper function for PurgeImpl while holding a ChainRewriteLock. See
945
- // implementation.
946
- template <class OpData>
947
- void PurgeImplLocked(OpData* op_data, ChainRewriteLock& rewrite_lock,
948
- size_t home, EvictionData* data);
949
-
950
- // Update length_info_ as much as possible without waiting, given a known
951
- // usable (ready for inserts and lookups) grow_home. (Previous grow_homes
952
- // might not be usable yet, but we can check if they are by looking at
953
- // the corresponding old home.)
954
- void CatchUpLengthInfoNoWait(size_t known_usable_grow_home);
955
-
956
- private: // data
957
- // mmaped area holding handles
958
- const TypedMemMapping<HandleImpl> array_;
959
-
960
- // Metadata for table size under linear hashing.
961
- //
962
- // Lowest 8 bits are the minimum number of lowest hash bits to use
963
- // ("min shift"). The upper 56 bits are a threshold. If that minumum number
964
- // of bits taken from a hash value is < this threshold, then one more bit of
965
- // hash value is taken and used.
966
- //
967
- // Other mechanisms (shift amounts on pointers) ensure complete availability
968
- // of data already in the table even if a reader only sees a completely
969
- // out-of-date version of this value. In the worst case, it could take
970
- // log time to find the correct chain, but normally this value enables
971
- // readers to find the correct chain on the first try.
972
- //
973
- // To maximize parallelization of Grow() operations, this field is only
974
- // updated opportunistically after Grow() operations and in DoInsert() where
975
- // it is found to be out-of-date. See CatchUpLengthInfoNoWait().
976
- AcqRelAtomic<uint64_t> length_info_;
977
-
978
- // An already-computed version of the usable length times the max load
979
- // factor. Could be slightly out of date but GrowIfNeeded()/Grow() handle
980
- // that internally.
981
- // (Relaxed: allowed to lag behind length_info_ by a little)
982
- RelaxedAtomic<size_t> occupancy_limit_;
983
-
984
- // The next index to use from array_ upon the next Grow(). Might be ahead of
985
- // length_info_.
986
- // (Relaxed: self-contained source of truth for next grow home)
987
- RelaxedAtomic<size_t> grow_frontier_;
988
-
989
- // See explanation in AutoHyperClockTable::Evict
990
- // (Relaxed: allowed to lag behind clock_pointer_ and length_info_ state)
991
- RelaxedAtomic<size_t> clock_pointer_mask_;
992
- }; // class AutoHyperClockTable
993
-
994
- // A single shard of sharded cache.
995
- template <class TableT>
996
- class ALIGN_AS(CACHE_LINE_SIZE) ClockCacheShard final : public CacheShardBase {
997
- public:
998
- using Table = TableT;
999
- ClockCacheShard(size_t capacity, bool strict_capacity_limit,
1000
- CacheMetadataChargePolicy metadata_charge_policy,
1001
- MemoryAllocator* allocator,
1002
- const Cache::EvictionCallback* eviction_callback,
1003
- const uint32_t* hash_seed, const typename Table::Opts& opts);
1004
-
1005
- // For CacheShard concept
1006
- using HandleImpl = typename Table::HandleImpl;
1007
- // Hash is lossless hash of 128-bit key
1008
- using HashVal = UniqueId64x2;
1009
- using HashCref = const HashVal&;
1010
- static inline uint32_t HashPieceForSharding(HashCref hash) {
1011
- return Upper32of64(hash[0]);
1012
- }
1013
- static inline HashVal ComputeHash(const Slice& key, uint32_t seed) {
1014
- assert(key.size() == kCacheKeySize);
1015
- HashVal in;
1016
- HashVal out;
1017
- // NOTE: endian dependence
1018
- // TODO: use GetUnaligned?
1019
- std::memcpy(&in, key.data(), kCacheKeySize);
1020
- BijectiveHash2x64(in[1], in[0] ^ seed, &out[1], &out[0]);
1021
- return out;
1022
- }
1023
-
1024
- // For reconstructing key from hashed_key. Requires the caller to provide
1025
- // backing storage for the Slice in `unhashed`
1026
- static inline Slice ReverseHash(const UniqueId64x2& hashed,
1027
- UniqueId64x2* unhashed, uint32_t seed) {
1028
- BijectiveUnhash2x64(hashed[1], hashed[0], &(*unhashed)[1], &(*unhashed)[0]);
1029
- (*unhashed)[0] ^= seed;
1030
- // NOTE: endian dependence
1031
- return Slice(reinterpret_cast<const char*>(unhashed), kCacheKeySize);
1032
- }
1033
-
1034
- // Although capacity is dynamically changeable, the number of table slots is
1035
- // not, so growing capacity substantially could lead to hitting occupancy
1036
- // limit.
1037
- void SetCapacity(size_t capacity);
1038
-
1039
- void SetStrictCapacityLimit(bool strict_capacity_limit);
1040
-
1041
- Status Insert(const Slice& key, const UniqueId64x2& hashed_key,
1042
- Cache::ObjectPtr value, const Cache::CacheItemHelper* helper,
1043
- size_t charge, HandleImpl** handle, Cache::Priority priority);
1044
-
1045
- HandleImpl* CreateStandalone(const Slice& key, const UniqueId64x2& hashed_key,
1046
- Cache::ObjectPtr obj,
1047
- const Cache::CacheItemHelper* helper,
1048
- size_t charge, bool allow_uncharged);
1049
-
1050
- HandleImpl* Lookup(const Slice& key, const UniqueId64x2& hashed_key);
1051
-
1052
- bool Release(HandleImpl* handle, bool useful, bool erase_if_last_ref);
1053
-
1054
- bool Release(HandleImpl* handle, bool erase_if_last_ref = false);
1055
-
1056
- bool Ref(HandleImpl* handle);
1057
-
1058
- void Erase(const Slice& key, const UniqueId64x2& hashed_key);
1059
-
1060
- size_t GetCapacity() const;
1061
-
1062
- size_t GetUsage() const;
1063
-
1064
- size_t GetStandaloneUsage() const;
1065
-
1066
- size_t GetPinnedUsage() const;
1067
-
1068
- size_t GetOccupancyCount() const;
1069
-
1070
- size_t GetOccupancyLimit() const;
1071
-
1072
- size_t GetTableAddressCount() const;
1073
-
1074
- void ApplyToSomeEntries(
1075
- const std::function<void(const Slice& key, Cache::ObjectPtr obj,
1076
- size_t charge,
1077
- const Cache::CacheItemHelper* helper)>& callback,
1078
- size_t average_entries_per_lock, size_t* state);
1079
-
1080
- void EraseUnRefEntries();
1081
-
1082
- std::string GetPrintableOptions() const { return std::string{}; }
1083
-
1084
- HandleImpl* Lookup(const Slice& key, const UniqueId64x2& hashed_key,
1085
- const Cache::CacheItemHelper* /*helper*/,
1086
- Cache::CreateContext* /*create_context*/,
1087
- Cache::Priority /*priority*/, Statistics* /*stats*/) {
1088
- return Lookup(key, hashed_key);
1089
- }
1090
-
1091
- Table& GetTable() { return table_; }
1092
- const Table& GetTable() const { return table_; }
1093
-
1094
- #ifndef NDEBUG
1095
- size_t& TEST_MutableOccupancyLimit() {
1096
- return table_.TEST_MutableOccupancyLimit();
1097
- }
1098
- // Acquire/release N references
1099
- void TEST_RefN(HandleImpl* handle, size_t n);
1100
- void TEST_ReleaseN(HandleImpl* handle, size_t n);
1101
- #endif
1102
-
1103
- private: // data
1104
- Table table_;
1105
-
1106
- // Maximum total charge of all elements stored in the table.
1107
- // (Relaxed: eventual consistency/update is OK)
1108
- RelaxedAtomic<size_t> capacity_;
1109
-
1110
- // Encodes eviction_effort_cap (bottom 31 bits) and strict_capacity_limit
1111
- // (top bit). See HyperClockCacheOptions::eviction_effort_cap etc.
1112
- // (Relaxed: eventual consistency/update is OK)
1113
- RelaxedAtomic<uint32_t> eec_and_scl_;
1114
- }; // class ClockCacheShard
1115
-
1116
- template <class Table>
1117
- class BaseHyperClockCache : public ShardedCache<ClockCacheShard<Table>> {
1118
- public:
1119
- using Shard = ClockCacheShard<Table>;
1120
- using Handle = Cache::Handle;
1121
- using CacheItemHelper = Cache::CacheItemHelper;
1122
-
1123
- explicit BaseHyperClockCache(const HyperClockCacheOptions& opts);
1124
-
1125
- Cache::ObjectPtr Value(Handle* handle) override;
1126
-
1127
- size_t GetCharge(Handle* handle) const override;
1128
-
1129
- const CacheItemHelper* GetCacheItemHelper(Handle* handle) const override;
1130
-
1131
- void ReportProblems(
1132
- const std::shared_ptr<Logger>& /*info_log*/) const override;
1133
- };
1134
-
1135
- class FixedHyperClockCache
1136
- #ifdef NDEBUG
1137
- final
1138
- #endif
1139
- : public BaseHyperClockCache<FixedHyperClockTable> {
1140
- public:
1141
- using BaseHyperClockCache::BaseHyperClockCache;
1142
-
1143
- const char* Name() const override { return "FixedHyperClockCache"; }
1144
-
1145
- void ReportProblems(
1146
- const std::shared_ptr<Logger>& /*info_log*/) const override;
1147
- }; // class FixedHyperClockCache
1148
-
1149
- class AutoHyperClockCache
1150
- #ifdef NDEBUG
1151
- final
1152
- #endif
1153
- : public BaseHyperClockCache<AutoHyperClockTable> {
1154
- public:
1155
- using BaseHyperClockCache::BaseHyperClockCache;
1156
-
1157
- const char* Name() const override { return "AutoHyperClockCache"; }
1158
-
1159
- void ReportProblems(
1160
- const std::shared_ptr<Logger>& /*info_log*/) const override;
1161
- }; // class AutoHyperClockCache
1162
-
1163
- } // namespace clock_cache
1164
-
1165
- } // namespace ROCKSDB_NAMESPACE