rocksdb-native 0.0.0 → 0.0.2

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 (695) hide show
  1. package/CMakeLists.txt +1 -1
  2. package/binding.c +18 -3
  3. package/binding.gyp +23 -0
  4. package/binding.js +1 -1
  5. package/index.js +34 -22
  6. package/package.json +19 -1
  7. package/prebuilds/darwin-arm64/rocksdb-native.bare +0 -0
  8. package/vendor/rocksdb.cc +79 -0
  9. package/vendor/rocksdb.gyp +414 -0
  10. package/.clang-format +0 -15
  11. package/.github/workflows/test-node.yml +0 -23
  12. package/.gitmodules +0 -4
  13. package/NOTICE +0 -13
  14. package/vendor/rocksdb/.circleci/config.yml +0 -892
  15. package/vendor/rocksdb/.circleci/ubsan_suppression_list.txt +0 -6
  16. package/vendor/rocksdb/.clang-format +0 -5
  17. package/vendor/rocksdb/.github/workflows/sanity_check.yml +0 -47
  18. package/vendor/rocksdb/.lgtm.yml +0 -4
  19. package/vendor/rocksdb/AUTHORS +0 -12
  20. package/vendor/rocksdb/CODE_OF_CONDUCT.md +0 -77
  21. package/vendor/rocksdb/CONTRIBUTING.md +0 -17
  22. package/vendor/rocksdb/DEFAULT_OPTIONS_HISTORY.md +0 -24
  23. package/vendor/rocksdb/DUMP_FORMAT.md +0 -16
  24. package/vendor/rocksdb/HISTORY.md +0 -2399
  25. package/vendor/rocksdb/INSTALL.md +0 -220
  26. package/vendor/rocksdb/LANGUAGE-BINDINGS.md +0 -26
  27. package/vendor/rocksdb/Makefile +0 -2579
  28. package/vendor/rocksdb/PLUGINS.md +0 -8
  29. package/vendor/rocksdb/TARGETS +0 -5599
  30. package/vendor/rocksdb/USERS.md +0 -165
  31. package/vendor/rocksdb/Vagrantfile +0 -39
  32. package/vendor/rocksdb/WINDOWS_PORT.md +0 -228
  33. package/vendor/rocksdb/buckifier/bench-slow.json +0 -6163
  34. package/vendor/rocksdb/buckifier/bench.json +0 -1594
  35. package/vendor/rocksdb/buckifier/buckify_rocksdb.py +0 -333
  36. package/vendor/rocksdb/buckifier/check_buck_targets.sh +0 -32
  37. package/vendor/rocksdb/buckifier/rocks_test_runner.sh +0 -6
  38. package/vendor/rocksdb/buckifier/targets_builder.py +0 -150
  39. package/vendor/rocksdb/buckifier/targets_cfg.py +0 -41
  40. package/vendor/rocksdb/buckifier/util.py +0 -118
  41. package/vendor/rocksdb/build_tools/amalgamate.py +0 -168
  42. package/vendor/rocksdb/build_tools/benchmark_log_tool.py +0 -238
  43. package/vendor/rocksdb/build_tools/build_detect_platform +0 -804
  44. package/vendor/rocksdb/build_tools/check-sources.sh +0 -48
  45. package/vendor/rocksdb/build_tools/dependencies_platform010.sh +0 -22
  46. package/vendor/rocksdb/build_tools/dockerbuild.sh +0 -3
  47. package/vendor/rocksdb/build_tools/error_filter.py +0 -181
  48. package/vendor/rocksdb/build_tools/fb_compile_mongo.sh +0 -55
  49. package/vendor/rocksdb/build_tools/fbcode_config.sh +0 -175
  50. package/vendor/rocksdb/build_tools/fbcode_config_platform010.sh +0 -175
  51. package/vendor/rocksdb/build_tools/format-diff.sh +0 -203
  52. package/vendor/rocksdb/build_tools/gnu_parallel +0 -7971
  53. package/vendor/rocksdb/build_tools/make_package.sh +0 -129
  54. package/vendor/rocksdb/build_tools/ps_with_stack +0 -38
  55. package/vendor/rocksdb/build_tools/regression_build_test.sh +0 -396
  56. package/vendor/rocksdb/build_tools/run_ci_db_test.ps1 +0 -493
  57. package/vendor/rocksdb/build_tools/setup_centos7.sh +0 -45
  58. package/vendor/rocksdb/build_tools/ubuntu20_image/Dockerfile +0 -57
  59. package/vendor/rocksdb/build_tools/update_dependencies.sh +0 -106
  60. package/vendor/rocksdb/build_tools/version.sh +0 -23
  61. package/vendor/rocksdb/common.mk +0 -30
  62. package/vendor/rocksdb/crash_test.mk +0 -107
  63. package/vendor/rocksdb/db/c_test.c +0 -3609
  64. package/vendor/rocksdb/docs/CNAME +0 -1
  65. package/vendor/rocksdb/docs/CONTRIBUTING.md +0 -115
  66. package/vendor/rocksdb/docs/Gemfile +0 -4
  67. package/vendor/rocksdb/docs/LICENSE-DOCUMENTATION +0 -385
  68. package/vendor/rocksdb/docs/TEMPLATE-INFORMATION.md +0 -17
  69. package/vendor/rocksdb/docs/_config.yml +0 -85
  70. package/vendor/rocksdb/docs/_data/authors.yml +0 -81
  71. package/vendor/rocksdb/docs/_data/features.yml +0 -19
  72. package/vendor/rocksdb/docs/_data/nav.yml +0 -30
  73. package/vendor/rocksdb/docs/_data/nav_docs.yml +0 -3
  74. package/vendor/rocksdb/docs/_data/powered_by.yml +0 -1
  75. package/vendor/rocksdb/docs/_data/powered_by_highlight.yml +0 -1
  76. package/vendor/rocksdb/docs/_data/promo.yml +0 -6
  77. package/vendor/rocksdb/docs/_docs/faq.md +0 -48
  78. package/vendor/rocksdb/docs/_docs/getting-started.md +0 -78
  79. package/vendor/rocksdb/docs/_includes/blog_pagination.html +0 -28
  80. package/vendor/rocksdb/docs/_includes/content/gridblocks.html +0 -5
  81. package/vendor/rocksdb/docs/_includes/content/items/gridblock.html +0 -37
  82. package/vendor/rocksdb/docs/_includes/doc.html +0 -25
  83. package/vendor/rocksdb/docs/_includes/doc_paging.html +0 -0
  84. package/vendor/rocksdb/docs/_includes/footer.html +0 -34
  85. package/vendor/rocksdb/docs/_includes/head.html +0 -23
  86. package/vendor/rocksdb/docs/_includes/header.html +0 -19
  87. package/vendor/rocksdb/docs/_includes/hero.html +0 -0
  88. package/vendor/rocksdb/docs/_includes/home_header.html +0 -22
  89. package/vendor/rocksdb/docs/_includes/katex_import.html +0 -3
  90. package/vendor/rocksdb/docs/_includes/katex_render.html +0 -210
  91. package/vendor/rocksdb/docs/_includes/nav/collection_nav.html +0 -64
  92. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group.html +0 -19
  93. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group_item.html +0 -1
  94. package/vendor/rocksdb/docs/_includes/nav/header_nav.html +0 -30
  95. package/vendor/rocksdb/docs/_includes/nav.html +0 -37
  96. package/vendor/rocksdb/docs/_includes/nav_search.html +0 -15
  97. package/vendor/rocksdb/docs/_includes/plugins/all_share.html +0 -3
  98. package/vendor/rocksdb/docs/_includes/plugins/ascii_cinema.html +0 -2
  99. package/vendor/rocksdb/docs/_includes/plugins/button.html +0 -6
  100. package/vendor/rocksdb/docs/_includes/plugins/github_star.html +0 -4
  101. package/vendor/rocksdb/docs/_includes/plugins/github_watch.html +0 -4
  102. package/vendor/rocksdb/docs/_includes/plugins/google_share.html +0 -5
  103. package/vendor/rocksdb/docs/_includes/plugins/iframe.html +0 -6
  104. package/vendor/rocksdb/docs/_includes/plugins/like_button.html +0 -18
  105. package/vendor/rocksdb/docs/_includes/plugins/plugin_row.html +0 -5
  106. package/vendor/rocksdb/docs/_includes/plugins/post_social_plugins.html +0 -41
  107. package/vendor/rocksdb/docs/_includes/plugins/slideshow.html +0 -88
  108. package/vendor/rocksdb/docs/_includes/plugins/twitter_follow.html +0 -12
  109. package/vendor/rocksdb/docs/_includes/plugins/twitter_share.html +0 -11
  110. package/vendor/rocksdb/docs/_includes/post.html +0 -40
  111. package/vendor/rocksdb/docs/_includes/powered_by.html +0 -28
  112. package/vendor/rocksdb/docs/_includes/social_plugins.html +0 -31
  113. package/vendor/rocksdb/docs/_includes/ui/button.html +0 -1
  114. package/vendor/rocksdb/docs/_layouts/basic.html +0 -12
  115. package/vendor/rocksdb/docs/_layouts/blog.html +0 -11
  116. package/vendor/rocksdb/docs/_layouts/blog_default.html +0 -14
  117. package/vendor/rocksdb/docs/_layouts/default.html +0 -12
  118. package/vendor/rocksdb/docs/_layouts/doc_default.html +0 -14
  119. package/vendor/rocksdb/docs/_layouts/doc_page.html +0 -10
  120. package/vendor/rocksdb/docs/_layouts/docs.html +0 -5
  121. package/vendor/rocksdb/docs/_layouts/home.html +0 -26
  122. package/vendor/rocksdb/docs/_layouts/page.html +0 -3
  123. package/vendor/rocksdb/docs/_layouts/plain.html +0 -10
  124. package/vendor/rocksdb/docs/_layouts/post.html +0 -8
  125. package/vendor/rocksdb/docs/_layouts/redirect.html +0 -6
  126. package/vendor/rocksdb/docs/_layouts/top-level.html +0 -10
  127. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-backup-rocksdb.markdown +0 -135
  128. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-persist-in-memory-rocksdb-database.markdown +0 -54
  129. package/vendor/rocksdb/docs/_posts/2014-04-02-the-1st-rocksdb-local-meetup-held-on-march-27-2014.markdown +0 -53
  130. package/vendor/rocksdb/docs/_posts/2014-04-07-rocksdb-2-8-release.markdown +0 -40
  131. package/vendor/rocksdb/docs/_posts/2014-04-21-indexing-sst-files-for-better-lookup-performance.markdown +0 -28
  132. package/vendor/rocksdb/docs/_posts/2014-05-14-lock.markdown +0 -88
  133. package/vendor/rocksdb/docs/_posts/2014-05-19-rocksdb-3-0-release.markdown +0 -24
  134. package/vendor/rocksdb/docs/_posts/2014-05-22-rocksdb-3-1-release.markdown +0 -20
  135. package/vendor/rocksdb/docs/_posts/2014-06-23-plaintable-a-new-file-format.markdown +0 -47
  136. package/vendor/rocksdb/docs/_posts/2014-06-27-avoid-expensive-locks-in-get.markdown +0 -89
  137. package/vendor/rocksdb/docs/_posts/2014-06-27-rocksdb-3-2-release.markdown +0 -30
  138. package/vendor/rocksdb/docs/_posts/2014-07-29-rocksdb-3-3-release.markdown +0 -34
  139. package/vendor/rocksdb/docs/_posts/2014-09-12-cuckoo.markdown +0 -74
  140. package/vendor/rocksdb/docs/_posts/2014-09-12-new-bloom-filter-format.markdown +0 -52
  141. package/vendor/rocksdb/docs/_posts/2014-09-15-rocksdb-3-5-release.markdown +0 -38
  142. package/vendor/rocksdb/docs/_posts/2015-01-16-migrating-from-leveldb-to-rocksdb-2.markdown +0 -112
  143. package/vendor/rocksdb/docs/_posts/2015-02-24-reading-rocksdb-options-from-a-file.markdown +0 -41
  144. package/vendor/rocksdb/docs/_posts/2015-02-27-write-batch-with-index.markdown +0 -20
  145. package/vendor/rocksdb/docs/_posts/2015-04-22-integrating-rocksdb-with-mongodb-2.markdown +0 -16
  146. package/vendor/rocksdb/docs/_posts/2015-06-12-rocksdb-in-osquery.markdown +0 -10
  147. package/vendor/rocksdb/docs/_posts/2015-07-15-rocksdb-2015-h2-roadmap.markdown +0 -92
  148. package/vendor/rocksdb/docs/_posts/2015-07-17-spatial-indexing-in-rocksdb.markdown +0 -78
  149. package/vendor/rocksdb/docs/_posts/2015-07-22-rocksdb-is-now-available-in-windows-platform.markdown +0 -30
  150. package/vendor/rocksdb/docs/_posts/2015-07-23-dynamic-level.markdown +0 -29
  151. package/vendor/rocksdb/docs/_posts/2015-10-27-getthreadlist.markdown +0 -193
  152. package/vendor/rocksdb/docs/_posts/2015-11-10-use-checkpoints-for-efficient-snapshots.markdown +0 -45
  153. package/vendor/rocksdb/docs/_posts/2015-11-16-analysis-file-read-latency-by-level.markdown +0 -244
  154. package/vendor/rocksdb/docs/_posts/2016-01-29-compaction_pri.markdown +0 -51
  155. package/vendor/rocksdb/docs/_posts/2016-02-24-rocksdb-4-2-release.markdown +0 -41
  156. package/vendor/rocksdb/docs/_posts/2016-02-25-rocksdb-ama.markdown +0 -20
  157. package/vendor/rocksdb/docs/_posts/2016-03-07-rocksdb-options-file.markdown +0 -24
  158. package/vendor/rocksdb/docs/_posts/2016-04-26-rocksdb-4-5-1-released.markdown +0 -60
  159. package/vendor/rocksdb/docs/_posts/2016-07-26-rocksdb-4-8-released.markdown +0 -48
  160. package/vendor/rocksdb/docs/_posts/2016-09-28-rocksdb-4-11-2-released.markdown +0 -49
  161. package/vendor/rocksdb/docs/_posts/2017-01-06-rocksdb-5-0-1-released.markdown +0 -26
  162. package/vendor/rocksdb/docs/_posts/2017-02-07-rocksdb-5-1-2-released.markdown +0 -15
  163. package/vendor/rocksdb/docs/_posts/2017-02-17-bulkoad-ingest-sst-file.markdown +0 -50
  164. package/vendor/rocksdb/docs/_posts/2017-03-02-rocksdb-5-2-1-released.markdown +0 -22
  165. package/vendor/rocksdb/docs/_posts/2017-05-12-partitioned-index-filter.markdown +0 -34
  166. package/vendor/rocksdb/docs/_posts/2017-05-14-core-local-stats.markdown +0 -106
  167. package/vendor/rocksdb/docs/_posts/2017-05-26-rocksdb-5-4-5-released.markdown +0 -39
  168. package/vendor/rocksdb/docs/_posts/2017-06-26-17-level-based-changes.markdown +0 -60
  169. package/vendor/rocksdb/docs/_posts/2017-06-29-rocksdb-5-5-1-released.markdown +0 -22
  170. package/vendor/rocksdb/docs/_posts/2017-07-25-rocksdb-5-6-1-released.markdown +0 -22
  171. package/vendor/rocksdb/docs/_posts/2017-08-24-pinnableslice.markdown +0 -37
  172. package/vendor/rocksdb/docs/_posts/2017-08-25-flushwal.markdown +0 -26
  173. package/vendor/rocksdb/docs/_posts/2017-09-28-rocksdb-5-8-released.markdown +0 -25
  174. package/vendor/rocksdb/docs/_posts/2017-12-18-17-auto-tuned-rate-limiter.markdown +0 -28
  175. package/vendor/rocksdb/docs/_posts/2017-12-19-write-prepared-txn.markdown +0 -41
  176. package/vendor/rocksdb/docs/_posts/2018-02-05-rocksdb-5-10-2-released.markdown +0 -22
  177. package/vendor/rocksdb/docs/_posts/2018-08-01-rocksdb-tuning-advisor.markdown +0 -58
  178. package/vendor/rocksdb/docs/_posts/2018-08-23-data-block-hash-index.markdown +0 -118
  179. package/vendor/rocksdb/docs/_posts/2018-11-21-delete-range.markdown +0 -292
  180. package/vendor/rocksdb/docs/_posts/2019-03-08-format-version-4.markdown +0 -36
  181. package/vendor/rocksdb/docs/_posts/2019-08-15-unordered-write.markdown +0 -56
  182. package/vendor/rocksdb/docs/_posts/2021-04-12-universal-improvements.markdown +0 -46
  183. package/vendor/rocksdb/docs/_posts/2021-05-26-integrated-blob-db.markdown +0 -101
  184. package/vendor/rocksdb/docs/_posts/2021-05-26-online-validation.markdown +0 -17
  185. package/vendor/rocksdb/docs/_posts/2021-05-27-rocksdb-secondary-cache.markdown +0 -195
  186. package/vendor/rocksdb/docs/_posts/2021-05-31-dictionary-compression.markdown +0 -157
  187. package/vendor/rocksdb/docs/_posts/2021-12-29-ribbon-filter.markdown +0 -281
  188. package/vendor/rocksdb/docs/_posts/2022-07-18-per-key-value-checksum.markdown +0 -142
  189. package/vendor/rocksdb/docs/_posts/2022-10-05-lost-buffered-write-recovery.markdown +0 -123
  190. package/vendor/rocksdb/docs/_posts/2022-10-07-asynchronous-io-in-rocksdb.markdown +0 -133
  191. package/vendor/rocksdb/docs/_posts/2022-10-31-align-compaction-output-file.markdown +0 -107
  192. package/vendor/rocksdb/docs/_posts/2022-11-09-time-aware-tiered-storage.markdown +0 -121
  193. package/vendor/rocksdb/docs/_sass/_base.scss +0 -492
  194. package/vendor/rocksdb/docs/_sass/_blog.scss +0 -47
  195. package/vendor/rocksdb/docs/_sass/_buttons.scss +0 -47
  196. package/vendor/rocksdb/docs/_sass/_footer.scss +0 -82
  197. package/vendor/rocksdb/docs/_sass/_gridBlock.scss +0 -115
  198. package/vendor/rocksdb/docs/_sass/_header.scss +0 -139
  199. package/vendor/rocksdb/docs/_sass/_poweredby.scss +0 -69
  200. package/vendor/rocksdb/docs/_sass/_promo.scss +0 -55
  201. package/vendor/rocksdb/docs/_sass/_react_docs_nav.scss +0 -332
  202. package/vendor/rocksdb/docs/_sass/_react_header_nav.scss +0 -141
  203. package/vendor/rocksdb/docs/_sass/_reset.scss +0 -43
  204. package/vendor/rocksdb/docs/_sass/_search.scss +0 -142
  205. package/vendor/rocksdb/docs/_sass/_slideshow.scss +0 -48
  206. package/vendor/rocksdb/docs/_sass/_syntax-highlighting.scss +0 -129
  207. package/vendor/rocksdb/docs/_sass/_tables.scss +0 -47
  208. package/vendor/rocksdb/docs/_top-level/support.md +0 -22
  209. package/vendor/rocksdb/docs/blog/all.html +0 -20
  210. package/vendor/rocksdb/docs/blog/index.html +0 -12
  211. package/vendor/rocksdb/docs/css/main.scss +0 -159
  212. package/vendor/rocksdb/docs/doc-type-examples/2016-04-07-blog-post-example.md +0 -21
  213. package/vendor/rocksdb/docs/doc-type-examples/docs-hello-world.md +0 -12
  214. package/vendor/rocksdb/docs/doc-type-examples/top-level-example.md +0 -8
  215. package/vendor/rocksdb/docs/docs/index.html +0 -6
  216. package/vendor/rocksdb/docs/feed.xml +0 -30
  217. package/vendor/rocksdb/docs/index.md +0 -9
  218. package/vendor/rocksdb/docs/static/favicon.png +0 -0
  219. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff +0 -0
  220. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff2 +0 -0
  221. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff +0 -0
  222. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff2 +0 -0
  223. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff +0 -0
  224. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff2 +0 -0
  225. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff +0 -0
  226. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff2 +0 -0
  227. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff +0 -0
  228. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff2 +0 -0
  229. package/vendor/rocksdb/docs/static/images/Resize-of-20140327_200754-300x225.jpg +0 -0
  230. package/vendor/rocksdb/docs/static/images/align-compaction-output/compaction_output_file_size_compare.png +0 -0
  231. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_align.png +0 -0
  232. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_normal.png +0 -0
  233. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_trival_move.png +0 -0
  234. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_size_compare.png +0 -0
  235. package/vendor/rocksdb/docs/static/images/align-compaction-output/write_amp_compare.png +0 -0
  236. package/vendor/rocksdb/docs/static/images/asynchronous-io/mget_async.png +0 -0
  237. package/vendor/rocksdb/docs/static/images/asynchronous-io/scan_async.png +0 -0
  238. package/vendor/rocksdb/docs/static/images/binaryseek.png +0 -0
  239. package/vendor/rocksdb/docs/static/images/bloom_fp_vs_bpk.png +0 -0
  240. package/vendor/rocksdb/docs/static/images/compaction/full-range.png +0 -0
  241. package/vendor/rocksdb/docs/static/images/compaction/l0-l1-contend.png +0 -0
  242. package/vendor/rocksdb/docs/static/images/compaction/l1-l2-contend.png +0 -0
  243. package/vendor/rocksdb/docs/static/images/compaction/part-range-old.png +0 -0
  244. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-binary-seek.png +0 -0
  245. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-hash-index.png +0 -0
  246. package/vendor/rocksdb/docs/static/images/data-block-hash-index/hash-index-data-structure.png +0 -0
  247. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-cache-miss.png +0 -0
  248. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-throughput.png +0 -0
  249. package/vendor/rocksdb/docs/static/images/delrange/delrange_collapsed.png +0 -0
  250. package/vendor/rocksdb/docs/static/images/delrange/delrange_key_schema.png +0 -0
  251. package/vendor/rocksdb/docs/static/images/delrange/delrange_sst_blocks.png +0 -0
  252. package/vendor/rocksdb/docs/static/images/delrange/delrange_uncollapsed.png +0 -0
  253. package/vendor/rocksdb/docs/static/images/delrange/delrange_write_path.png +0 -0
  254. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_raw_sampled.png +0 -0
  255. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_sst_blocks.png +0 -0
  256. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_zstd_trained.png +0 -0
  257. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Legacy_Vs_Integrated.png +0 -0
  258. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_RW_RO_Perf.png +0 -0
  259. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Amp.png +0 -0
  260. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Perf.png +0 -0
  261. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-entry.png +0 -0
  262. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-write.png +0 -0
  263. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Memtable.png +0 -0
  264. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch-to-Memtable.png +0 -0
  265. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch.png +0 -0
  266. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-fragment.png +0 -0
  267. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-read.png +0 -0
  268. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-write.png +0 -0
  269. package/vendor/rocksdb/docs/static/images/kv-checksum/Write-batch.png +0 -0
  270. package/vendor/rocksdb/docs/static/images/kv-checksum/Writebatch-write.png +0 -0
  271. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/angry-cat.png +0 -0
  272. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/basic-setup.png +0 -0
  273. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/happy-cat.png +0 -0
  274. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/replay-extension.png +0 -0
  275. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/test-fs-writable-file.png +0 -0
  276. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/trace-extension.png +0 -0
  277. package/vendor/rocksdb/docs/static/images/pcache-blockindex.jpg +0 -0
  278. package/vendor/rocksdb/docs/static/images/pcache-fileindex.jpg +0 -0
  279. package/vendor/rocksdb/docs/static/images/pcache-filelayout.jpg +0 -0
  280. package/vendor/rocksdb/docs/static/images/pcache-readiopath.jpg +0 -0
  281. package/vendor/rocksdb/docs/static/images/pcache-tieredstorage.jpg +0 -0
  282. package/vendor/rocksdb/docs/static/images/pcache-writeiopath.jpg +0 -0
  283. package/vendor/rocksdb/docs/static/images/promo-adapt.svg +0 -8
  284. package/vendor/rocksdb/docs/static/images/promo-flash.svg +0 -28
  285. package/vendor/rocksdb/docs/static/images/promo-operations.svg +0 -6
  286. package/vendor/rocksdb/docs/static/images/promo-performance.svg +0 -134
  287. package/vendor/rocksdb/docs/static/images/rate-limiter/auto-tuned-write-KBps-series.png +0 -0
  288. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-cdf.png +0 -0
  289. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-series.png +0 -0
  290. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_hit_rate.png +0 -0
  291. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_throughput.png +0 -0
  292. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/arch_diagram.png +0 -0
  293. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/insert_flow.png +0 -0
  294. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/lookup_flow.png +0 -0
  295. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/compaction_moving_up_conflict.png +0 -0
  296. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/per_key_placement_compaction.png +0 -0
  297. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_design.png +0 -0
  298. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_overview.png +0 -0
  299. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_problem.png +0 -0
  300. package/vendor/rocksdb/docs/static/images/tree_example1.png +0 -0
  301. package/vendor/rocksdb/docs/static/logo.svg +0 -76
  302. package/vendor/rocksdb/docs/static/og_image.png +0 -0
  303. package/vendor/rocksdb/examples/Makefile +0 -58
  304. package/vendor/rocksdb/examples/c_simple_example.c +0 -96
  305. package/vendor/rocksdb/examples/rocksdb_option_file_example.ini +0 -142
  306. package/vendor/rocksdb/fuzz/Makefile +0 -67
  307. package/vendor/rocksdb/fuzz/proto/db_operation.proto +0 -28
  308. package/vendor/rocksdb/issue_template.md +0 -7
  309. package/vendor/rocksdb/java/GetBenchmarks.md +0 -161
  310. package/vendor/rocksdb/java/HISTORY-JAVA.md +0 -86
  311. package/vendor/rocksdb/java/Makefile +0 -453
  312. package/vendor/rocksdb/java/RELEASE.md +0 -59
  313. package/vendor/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java +0 -1640
  314. package/vendor/rocksdb/java/crossbuild/Vagrantfile +0 -51
  315. package/vendor/rocksdb/java/crossbuild/build-linux-alpine.sh +0 -70
  316. package/vendor/rocksdb/java/crossbuild/build-linux-centos.sh +0 -38
  317. package/vendor/rocksdb/java/crossbuild/build-linux.sh +0 -15
  318. package/vendor/rocksdb/java/crossbuild/docker-build-linux-alpine.sh +0 -17
  319. package/vendor/rocksdb/java/crossbuild/docker-build-linux-centos.sh +0 -38
  320. package/vendor/rocksdb/java/jdb_bench.sh +0 -13
  321. package/vendor/rocksdb/java/jmh/LICENSE-HEADER.txt +0 -5
  322. package/vendor/rocksdb/java/jmh/pom.xml +0 -138
  323. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/ComparatorBenchmarks.java +0 -139
  324. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/GetBenchmarks.java +0 -215
  325. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/MultiGetBenchmarks.java +0 -214
  326. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/PutBenchmarks.java +0 -112
  327. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/FileUtils.java +0 -59
  328. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/KVUtils.java +0 -72
  329. package/vendor/rocksdb/java/pom.xml.template +0 -178
  330. package/vendor/rocksdb/java/samples/src/main/java/OptimisticTransactionSample.java +0 -184
  331. package/vendor/rocksdb/java/samples/src/main/java/RocksDBColumnFamilySample.java +0 -78
  332. package/vendor/rocksdb/java/samples/src/main/java/RocksDBSample.java +0 -295
  333. package/vendor/rocksdb/java/samples/src/main/java/TransactionSample.java +0 -183
  334. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilter.java +0 -59
  335. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java +0 -77
  336. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparator.java +0 -124
  337. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparatorJniBridge.java +0 -119
  338. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractEventListener.java +0 -334
  339. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractImmutableNativeReference.java +0 -65
  340. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractMutableOptions.java +0 -368
  341. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractNativeReference.java +0 -49
  342. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractRocksIterator.java +0 -146
  343. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractSlice.java +0 -191
  344. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTableFilter.java +0 -20
  345. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTraceWriter.java +0 -70
  346. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTransactionNotifier.java +0 -54
  347. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWalFilter.java +0 -49
  348. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWriteBatch.java +0 -203
  349. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AccessHint.java +0 -53
  350. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java +0 -463
  351. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java +0 -830
  352. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackgroundErrorReason.java +0 -46
  353. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngine.java +0 -259
  354. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngineOptions.java +0 -458
  355. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupInfo.java +0 -76
  356. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BlockBasedTableConfig.java +0 -951
  357. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BloomFilter.java +0 -73
  358. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BuiltinComparator.java +0 -20
  359. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ByteBufferGetStatus.java +0 -50
  360. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Cache.java +0 -40
  361. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraCompactionFilter.java +0 -20
  362. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraValueMergeOperator.java +0 -25
  363. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Checkpoint.java +0 -62
  364. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ChecksumType.java +0 -45
  365. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ClockCache.java +0 -59
  366. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyDescriptor.java +0 -84
  367. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +0 -151
  368. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyMetaData.java +0 -70
  369. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptions.java +0 -1543
  370. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java +0 -536
  371. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactRangeOptions.java +0 -245
  372. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobInfo.java +0 -161
  373. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobStats.java +0 -295
  374. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptions.java +0 -121
  375. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +0 -87
  376. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsUniversal.java +0 -273
  377. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionPriority.java +0 -81
  378. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionReason.java +0 -141
  379. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStopStyle.java +0 -55
  380. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStyle.java +0 -81
  381. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorOptions.java +0 -133
  382. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorType.java +0 -48
  383. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionOptions.java +0 -150
  384. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionType.java +0 -121
  385. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiter.java +0 -44
  386. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java +0 -48
  387. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConfigOptions.java +0 -53
  388. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java +0 -1496
  389. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptionsInterface.java +0 -1756
  390. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DataBlockIndexType.java +0 -32
  391. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DbPath.java +0 -47
  392. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DirectSlice.java +0 -136
  393. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EncodingType.java +0 -55
  394. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Env.java +0 -167
  395. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EnvOptions.java +0 -366
  396. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EventListener.java +0 -335
  397. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Experimental.java +0 -23
  398. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ExternalFileIngestionInfo.java +0 -103
  399. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FileOperationInfo.java +0 -112
  400. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Filter.java +0 -36
  401. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushJobInfo.java +0 -186
  402. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java +0 -90
  403. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushReason.java +0 -53
  404. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java +0 -174
  405. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashSkipListMemTableConfig.java +0 -106
  406. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramData.java +0 -75
  407. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramType.java +0 -214
  408. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Holder.java +0 -46
  409. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexShorteningMode.java +0 -60
  410. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexType.java +0 -55
  411. package/vendor/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java +0 -49
  412. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IngestExternalFileOptions.java +0 -227
  413. package/vendor/rocksdb/java/src/main/java/org/rocksdb/KeyMayExist.java +0 -35
  414. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LRUCache.java +0 -106
  415. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LevelMetaData.java +0 -56
  416. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LiveFileMetaData.java +0 -55
  417. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LogFile.java +0 -75
  418. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Logger.java +0 -121
  419. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableConfig.java +0 -29
  420. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableInfo.java +0 -103
  421. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUsageType.java +0 -72
  422. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUtil.java +0 -60
  423. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MergeOperator.java +0 -18
  424. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptions.java +0 -621
  425. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java +0 -156
  426. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptions.java +0 -292
  427. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptionsInterface.java +0 -440
  428. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionKey.java +0 -16
  429. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionValue.java +0 -368
  430. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeComparatorWrapper.java +0 -59
  431. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeLibraryLoader.java +0 -172
  432. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationStage.java +0 -59
  433. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationType.java +0 -55
  434. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionDB.java +0 -224
  435. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionOptions.java +0 -53
  436. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionString.java +0 -261
  437. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Options.java +0 -2574
  438. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionsUtil.java +0 -101
  439. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PersistentCache.java +0 -26
  440. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PlainTableConfig.java +0 -251
  441. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PrepopulateBlobCache.java +0 -117
  442. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Priority.java +0 -49
  443. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Range.java +0 -19
  444. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiter.java +0 -227
  445. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiterMode.java +0 -52
  446. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadOptions.java +0 -822
  447. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadTier.java +0 -49
  448. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java +0 -18
  449. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java +0 -32
  450. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReusedSynchronisationType.java +0 -65
  451. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksCallbackObject.java +0 -73
  452. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDB.java +0 -4688
  453. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDBException.java +0 -44
  454. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksEnv.java +0 -31
  455. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIterator.java +0 -140
  456. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIteratorInterface.java +0 -127
  457. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMemEnv.java +0 -31
  458. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMutableObject.java +0 -87
  459. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksObject.java +0 -45
  460. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SanityLevel.java +0 -47
  461. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SizeApproximationFlag.java +0 -31
  462. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SkipListMemTableConfig.java +0 -51
  463. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Slice.java +0 -135
  464. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Snapshot.java +0 -41
  465. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileManager.java +0 -249
  466. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java +0 -162
  467. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReader.java +0 -82
  468. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReaderIterator.java +0 -140
  469. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileWriter.java +0 -237
  470. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFactory.java +0 -15
  471. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java +0 -19
  472. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StateType.java +0 -53
  473. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Statistics.java +0 -153
  474. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollector.java +0 -102
  475. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollectorCallback.java +0 -32
  476. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsCollectorInput.java +0 -35
  477. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsLevel.java +0 -65
  478. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Status.java +0 -155
  479. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StringAppendOperator.java +0 -29
  480. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationBriefInfo.java +0 -107
  481. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationInfo.java +0 -86
  482. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationReason.java +0 -46
  483. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileDeletionInfo.java +0 -86
  484. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFilter.java +0 -21
  485. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFormatConfig.java +0 -22
  486. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableProperties.java +0 -426
  487. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadStatus.java +0 -224
  488. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadType.java +0 -65
  489. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TickerType.java +0 -802
  490. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TimedEnv.java +0 -30
  491. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceOptions.java +0 -32
  492. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceWriter.java +0 -36
  493. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Transaction.java +0 -2162
  494. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDB.java +0 -401
  495. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDBOptions.java +0 -216
  496. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java +0 -112
  497. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionOptions.java +0 -189
  498. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalDB.java +0 -65
  499. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalOptions.java +0 -31
  500. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TtlDB.java +0 -242
  501. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TxnDBWritePolicy.java +0 -62
  502. package/vendor/rocksdb/java/src/main/java/org/rocksdb/UInt64AddOperator.java +0 -19
  503. package/vendor/rocksdb/java/src/main/java/org/rocksdb/VectorMemTableConfig.java +0 -46
  504. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WALRecoveryMode.java +0 -82
  505. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java +0 -203
  506. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFileType.java +0 -55
  507. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFilter.java +0 -86
  508. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalProcessingOption.java +0 -54
  509. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java +0 -394
  510. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchInterface.java +0 -283
  511. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchWithIndex.java +0 -358
  512. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBufferManager.java +0 -50
  513. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteOptions.java +0 -255
  514. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallCondition.java +0 -44
  515. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallInfo.java +0 -75
  516. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ByteUtil.java +0 -52
  517. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/BytewiseComparator.java +0 -121
  518. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/Environment.java +0 -245
  519. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/IntComparator.java +0 -67
  520. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java +0 -88
  521. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/SizeUnit.java +0 -16
  522. package/vendor/rocksdb/java/src/test/java/org/rocksdb/AbstractTransactionTest.java +0 -979
  523. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineOptionsTest.java +0 -297
  524. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineTest.java +0 -261
  525. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlobOptionsTest.java +0 -353
  526. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlockBasedTableConfigTest.java +0 -415
  527. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BuiltinComparatorTest.java +0 -145
  528. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java +0 -132
  529. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java +0 -132
  530. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CheckPointTest.java +0 -82
  531. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ClockCacheTest.java +0 -25
  532. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java +0 -712
  533. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyTest.java +0 -562
  534. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactRangeOptionsTest.java +0 -102
  535. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionFilterFactoryTest.java +0 -61
  536. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobInfoTest.java +0 -114
  537. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobStatsTest.java +0 -196
  538. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +0 -35
  539. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsTest.java +0 -52
  540. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java +0 -80
  541. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionPriorityTest.java +0 -31
  542. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionStopStyleTest.java +0 -31
  543. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ComparatorOptionsTest.java +0 -58
  544. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionOptionsTest.java +0 -71
  545. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionTypesTest.java +0 -25
  546. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java +0 -56
  547. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DBOptionsTest.java +0 -902
  548. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java +0 -113
  549. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DirectSliceTest.java +0 -93
  550. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EnvOptionsTest.java +0 -145
  551. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EventListenerTest.java +0 -725
  552. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FilterTest.java +0 -39
  553. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushOptionsTest.java +0 -31
  554. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushTest.java +0 -49
  555. package/vendor/rocksdb/java/src/test/java/org/rocksdb/InfoLogLevelTest.java +0 -109
  556. package/vendor/rocksdb/java/src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java +0 -107
  557. package/vendor/rocksdb/java/src/test/java/org/rocksdb/KeyMayExistTest.java +0 -528
  558. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LRUCacheTest.java +0 -32
  559. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LoggerTest.java +0 -235
  560. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java +0 -108
  561. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemoryUtilTest.java +0 -136
  562. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MergeTest.java +0 -465
  563. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MixedOptionsTest.java +0 -85
  564. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiColumnRegressionTest.java +0 -145
  565. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetManyKeysTest.java +0 -241
  566. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetTest.java +0 -530
  567. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java +0 -167
  568. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableDBOptionsTest.java +0 -85
  569. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableOptionsGetSetTest.java +0 -429
  570. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeComparatorWrapperTest.java +0 -90
  571. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeLibraryLoaderTest.java +0 -41
  572. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionDBTest.java +0 -131
  573. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java +0 -38
  574. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionTest.java +0 -446
  575. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsTest.java +0 -1488
  576. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsUtilTest.java +0 -129
  577. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlainTableConfigTest.java +0 -89
  578. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlatformRandomHelper.java +0 -58
  579. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PutMultiplePartsTest.java +0 -164
  580. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java +0 -65
  581. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOnlyTest.java +0 -222
  582. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOptionsTest.java +0 -374
  583. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBExceptionTest.java +0 -115
  584. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBTest.java +0 -1692
  585. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksIteratorTest.java +0 -289
  586. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksMemEnvTest.java +0 -137
  587. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksNativeLibraryResource.java +0 -18
  588. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SecondaryDBTest.java +0 -135
  589. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java +0 -80
  590. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SnapshotTest.java +0 -169
  591. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileManagerTest.java +0 -66
  592. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileReaderTest.java +0 -222
  593. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileWriterTest.java +0 -239
  594. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstPartitionerTest.java +0 -72
  595. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java +0 -55
  596. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsTest.java +0 -168
  597. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java +0 -19
  598. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TableFilterTest.java +0 -106
  599. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TimedEnvTest.java +0 -40
  600. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBOptionsTest.java +0 -64
  601. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBTest.java +0 -177
  602. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionLogIteratorTest.java +0 -139
  603. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionOptionsTest.java +0 -72
  604. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionTest.java +0 -488
  605. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TtlDBTest.java +0 -112
  606. package/vendor/rocksdb/java/src/test/java/org/rocksdb/Types.java +0 -43
  607. package/vendor/rocksdb/java/src/test/java/org/rocksdb/VerifyChecksumsTest.java +0 -213
  608. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WALRecoveryModeTest.java +0 -22
  609. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WalFilterTest.java +0 -165
  610. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchHandlerTest.java +0 -76
  611. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java +0 -528
  612. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchThreadedTest.java +0 -101
  613. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchWithIndexTest.java +0 -1068
  614. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteOptionsTest.java +0 -75
  615. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java +0 -21
  616. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RocksJunitRunner.java +0 -174
  617. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/TestableEventListener.java +0 -23
  618. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ByteBufferAllocator.java +0 -16
  619. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java +0 -267
  620. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java +0 -531
  621. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +0 -190
  622. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java +0 -18
  623. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/EnvironmentTest.java +0 -304
  624. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java +0 -18
  625. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/IntComparatorTest.java +0 -266
  626. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/JNIComparatorTest.java +0 -180
  627. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java +0 -270
  628. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/SizeUnitTest.java +0 -27
  629. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/TestUtil.java +0 -72
  630. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/WriteBatchGetter.java +0 -139
  631. package/vendor/rocksdb/java/understanding_options.md +0 -79
  632. package/vendor/rocksdb/src.mk +0 -713
  633. package/vendor/rocksdb/thirdparty.inc +0 -268
  634. package/vendor/rocksdb/tools/Dockerfile +0 -5
  635. package/vendor/rocksdb/tools/advisor/advisor/__init__.py +0 -0
  636. package/vendor/rocksdb/tools/advisor/advisor/bench_runner.py +0 -39
  637. package/vendor/rocksdb/tools/advisor/advisor/config_optimizer_example.py +0 -140
  638. package/vendor/rocksdb/tools/advisor/advisor/db_bench_runner.py +0 -237
  639. package/vendor/rocksdb/tools/advisor/advisor/db_config_optimizer.py +0 -293
  640. package/vendor/rocksdb/tools/advisor/advisor/db_log_parser.py +0 -134
  641. package/vendor/rocksdb/tools/advisor/advisor/db_options_parser.py +0 -348
  642. package/vendor/rocksdb/tools/advisor/advisor/db_stats_fetcher.py +0 -346
  643. package/vendor/rocksdb/tools/advisor/advisor/db_timeseries_parser.py +0 -203
  644. package/vendor/rocksdb/tools/advisor/advisor/ini_parser.py +0 -76
  645. package/vendor/rocksdb/tools/advisor/advisor/rule_parser.py +0 -510
  646. package/vendor/rocksdb/tools/advisor/advisor/rule_parser_example.py +0 -98
  647. package/vendor/rocksdb/tools/advisor/advisor/rules.ini +0 -214
  648. package/vendor/rocksdb/tools/advisor/test/__init__.py +0 -0
  649. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-0 +0 -30
  650. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-1 +0 -25
  651. package/vendor/rocksdb/tools/advisor/test/input_files/OPTIONS-000005 +0 -49
  652. package/vendor/rocksdb/tools/advisor/test/input_files/log_stats_parser_keys_ts +0 -3
  653. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err1.ini +0 -56
  654. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err2.ini +0 -15
  655. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err3.ini +0 -15
  656. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err4.ini +0 -15
  657. package/vendor/rocksdb/tools/advisor/test/input_files/test_rules.ini +0 -47
  658. package/vendor/rocksdb/tools/advisor/test/input_files/triggered_rules.ini +0 -83
  659. package/vendor/rocksdb/tools/advisor/test/test_db_bench_runner.py +0 -141
  660. package/vendor/rocksdb/tools/advisor/test/test_db_log_parser.py +0 -96
  661. package/vendor/rocksdb/tools/advisor/test/test_db_options_parser.py +0 -214
  662. package/vendor/rocksdb/tools/advisor/test/test_db_stats_fetcher.py +0 -121
  663. package/vendor/rocksdb/tools/advisor/test/test_rule_parser.py +0 -226
  664. package/vendor/rocksdb/tools/analyze_txn_stress_test.sh +0 -77
  665. package/vendor/rocksdb/tools/auto_sanity_test.sh +0 -93
  666. package/vendor/rocksdb/tools/backup_db.sh +0 -15
  667. package/vendor/rocksdb/tools/benchmark.sh +0 -1173
  668. package/vendor/rocksdb/tools/benchmark_ci.py +0 -182
  669. package/vendor/rocksdb/tools/benchmark_compare.sh +0 -342
  670. package/vendor/rocksdb/tools/benchmark_leveldb.sh +0 -187
  671. package/vendor/rocksdb/tools/block_cache_analyzer/__init__.py +0 -2
  672. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +0 -2000
  673. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +0 -156
  674. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +0 -734
  675. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +0 -729
  676. package/vendor/rocksdb/tools/check_all_python.py +0 -22
  677. package/vendor/rocksdb/tools/check_format_compatible.sh +0 -379
  678. package/vendor/rocksdb/tools/db_crashtest.py +0 -1018
  679. package/vendor/rocksdb/tools/dbench_monitor +0 -102
  680. package/vendor/rocksdb/tools/generate_random_db.sh +0 -31
  681. package/vendor/rocksdb/tools/ingest_external_sst.sh +0 -18
  682. package/vendor/rocksdb/tools/ldb_test.py +0 -955
  683. package/vendor/rocksdb/tools/pflag +0 -217
  684. package/vendor/rocksdb/tools/regression_test.sh +0 -525
  685. package/vendor/rocksdb/tools/restore_db.sh +0 -15
  686. package/vendor/rocksdb/tools/rocksdb_dump_test.sh +0 -9
  687. package/vendor/rocksdb/tools/run_blob_bench.sh +0 -223
  688. package/vendor/rocksdb/tools/run_flash_bench.sh +0 -359
  689. package/vendor/rocksdb/tools/run_leveldb.sh +0 -175
  690. package/vendor/rocksdb/tools/sample-dump.dmp +0 -0
  691. package/vendor/rocksdb/tools/verify_random_db.sh +0 -41
  692. package/vendor/rocksdb/tools/write_external_sst.sh +0 -26
  693. package/vendor/rocksdb/tools/write_stress_runner.py +0 -83
  694. package/vendor/rocksdb/util/crc32c_ppc.c +0 -94
  695. package/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
@@ -1,24 +0,0 @@
1
- ---
2
- title: RocksDB 3.0 release
3
- layout: post
4
- author: icanadi
5
- category: blog
6
- redirect_from:
7
- - /blog/557/rocksdb-3-0-release/
8
- ---
9
-
10
- Check out new RocksDB release on [Github](https://github.com/facebook/rocksdb/releases/tag/3.0.fb)!
11
-
12
- New features in RocksDB 3.0:
13
-
14
- * [Column Family support](https://github.com/facebook/rocksdb/wiki/Column-Families)
15
-
16
-
17
- * [Ability to chose different checksum function](https://github.com/facebook/rocksdb/commit/0afc8bc29a5800e3212388c327c750d32e31f3d6)
18
-
19
-
20
- * Deprecated ReadOptions::prefix_seek and ReadOptions::prefix
21
-
22
- <!--truncate-->
23
-
24
- Check out the full [change log](https://github.com/facebook/rocksdb/blob/3.0.fb/HISTORY.md).
@@ -1,20 +0,0 @@
1
- ---
2
- title: RocksDB 3.1 release
3
- layout: post
4
- author: icanadi
5
- category: blog
6
- redirect_from:
7
- - /blog/575/rocksdb-3-1-release/
8
- ---
9
-
10
- Check out the new release on [Github](https://github.com/facebook/rocksdb/releases/tag/rocksdb-3.1)!
11
-
12
- New features in RocksDB 3.1:
13
-
14
- * [Materialized hash index](https://github.com/facebook/rocksdb/commit/0b3d03d026a7248e438341264b4c6df339edc1d7)
15
-
16
-
17
- * [FIFO compaction style](https://github.com/facebook/rocksdb/wiki/FIFO-compaction-style)
18
-
19
-
20
- We released 3.1 so fast after 3.0 because one of our internal customers needed materialized hash index.
@@ -1,47 +0,0 @@
1
- ---
2
- title: PlainTable — A New File Format
3
- layout: post
4
- author: sdong
5
- category: blog
6
- redirect_from:
7
- - /blog/599/plaintable-a-new-file-format/
8
- ---
9
-
10
- In this post, we are introducing "PlainTable" -- a file format we designed for RocksDB, initially to satisfy a production use case at Facebook.
11
-
12
- Design goals:
13
-
14
- 1. All data stored in memory, in files stored in tmpfs/ramfs. Support DBs larger than 100GB (may be sharded across multiple RocksDB instance).
15
- 1. Optimize for [prefix hashing](https://github.com/facebook/rocksdb/raw/gh-pages/talks/2014-03-27-RocksDB-Meetup-Siying-Prefix-Hash.pdf)
16
- 1. Less than or around 1 micro-second average latency for single Get() or Seek().
17
- 1. Minimize memory consumption.
18
- 1. Queries efficiently return empty results
19
-
20
- <!--truncate-->
21
-
22
- Notice that our priority was not to maximize query performance, but to strike a balance between query performance and memory consumption. PlainTable query performance is not as good as you would see with a nicely-designed hash table, but they are of the same order of magnitude, while keeping memory overhead to a minimum.
23
-
24
- Since we are targeting micro-second latency, it is on the level of the number of CPU cache misses (if they cannot be parallellized, which are usually the case for index look-ups). On our target hardware with Intel CPUs of multiple sockets with NUMA, we can only allow 4-5 CPU cache misses (including costs of data TLB).
25
-
26
- To meet our requirements, given that only hash prefix iterating is needed, we made two decisions:
27
-
28
- 1. to use a hash index, which is
29
- 1. directly addressed to rows, with no block structure.
30
-
31
- Having addressed our latency goal, the next task was to design a very compact hash index to minimize memory consumption. Some tricks we used to meet this goal:
32
-
33
- 1. We only use 32-bit integers for data and index offsets.The first bit serves as a flag, so we can avoid using 8-byte pointers.
34
- 1. We never copy keys or parts of keys to index search structures. We store only offsets from which keys can be retrieved, to make comparisons with search keys.
35
- 1. Since our file is immutable, we can accurately estimate the number of hash buckets needed.
36
-
37
- To make sure the format works efficiently with empty queries, we added a bloom filter check before the query. This adds only one cache miss for non-empty cases [1], but avoids multiple cache misses for most empty results queries. This is a good trade-off for use cases with a large percentage of empty results.
38
-
39
- These are the design goals and basic ideas of PlainTable file format. For detailed information, see [this wiki page](https://github.com/facebook/rocksdb/wiki/PlainTable-Format).
40
-
41
- [1] Bloom filter checks typically require multiple memory access. However, because they are independent, they usually do not make the CPU pipeline stale. In any case, we improved the bloom filter to improve data locality - we may cover this further in a future blog post.
42
-
43
- ### Comments
44
-
45
- **[Siying Dong](siying.d@fb.com)**
46
-
47
- Does [http://rocksdb.org/feed/](http://rocksdb.org/feed/) work?
@@ -1,89 +0,0 @@
1
- ---
2
- title: Avoid Expensive Locks in Get()
3
- layout: post
4
- author: leijin
5
- category: blog
6
- redirect_from:
7
- - /blog/677/avoid-expensive-locks-in-get/
8
- ---
9
-
10
- As promised in the previous [blog post](blog/2014/05/14/lock.html)!
11
-
12
- RocksDB employs a multiversion concurrency control strategy. Before reading data, it needs to grab the current version, which is encapsulated in a data structure called [SuperVersion](https://reviews.facebook.net/rROCKSDB1fdb3f7dc60e96394e3e5b69a46ede5d67fb976c).
13
-
14
- <!--truncate-->
15
-
16
- At the beginning of `GetImpl()`, it used to do this:
17
-
18
-
19
- <span class="zw-portion">mutex_.Lock();
20
- </span>auto* s = super_version_->Ref();
21
- mutex_.Unlock();
22
-
23
-
24
- The lock is necessary because pointer super_version_ may be updated, the corresponding SuperVersion may be deleted while Ref() is in progress.
25
-
26
-
27
- `Ref()` simply increases the reference counter and returns “this” pointer. However, this simple operation posed big challenges for in-memory workload and stopped RocksDB from scaling read throughput beyond 8 cores. Running 32 read threads on a 32-core CPU leads to [70% system CPU usage](https://github.com/facebook/rocksdb/raw/gh-pages/talks/2014-03-27-RocksDB-Meetup-Lei-Lockless-Get.pdf). This is outrageous!
28
-
29
-
30
-
31
-
32
- Luckily, we found a way to circumvent this problem by using [thread local storage](http://en.wikipedia.org/wiki/Thread-local_storage). Version change is a rare event comparable to millions of read requests. On the very first Get() request, each thread pays the mutex cost to acquire a reference to the new super version. Instead of releasing the reference after use, the reference is cached in thread’s local storage. An atomic variable is used to track global super version number. Subsequent reads simply compare the local super version number against the global super version number. If they are the same, the cached super version reference may be used directly, at no cost. If a version change is detected, mutex must be acquired to update the reference. The cost of mutex lock is amortized among millions of reads and becomes negligible.
33
-
34
-
35
-
36
-
37
- The code looks something like this:
38
-
39
-
40
-
41
-
42
-
43
- SuperVersion* s = thread_local_->Get();
44
- if (s->version_number != super_version_number_.load()) {
45
- // slow path, cleanup of current super version is omitted
46
- mutex_.Lock();
47
- s = super_version_->Ref();
48
- mutex_.Unlock();
49
- }
50
-
51
-
52
-
53
-
54
- The result is quite amazing. RocksDB can nicely [scale to 32 cores](https://github.com/facebook/rocksdb/raw/gh-pages/talks/2014-03-27-RocksDB-Meetup-Lei-Lockless-Get.pdf) and most CPU time is spent in user land.
55
-
56
-
57
-
58
-
59
- Daryl Grove gives a pretty good [comparison between mutex and atomic](https://blogs.oracle.com/d/entry/the_cost_of_mutexes). However, the real cost difference lies beyond what is shown in the assembly code. Mutex can keep threads spinning on CPU or even trigger thread context switches in which all readers compete to access the critical area. Our approach prevents mutual competition by directing threads to check against a global version which does not change at high frequency, and is therefore much more cache-friendly.
60
-
61
-
62
-
63
-
64
- The new approach entails one issue: a thread can visit GetImpl() once but can never come back again. SuperVersion is referenced and cached in its thread local storage. All resources (e.g., memtables, files) which belong to that version are frozen. A “supervisor” is required to visit each thread’s local storage and free its resources without incurring a lock. We designed a lockless sweep using CAS (compare and switch instruction). Here is how it works:
65
-
66
-
67
-
68
-
69
- (1) A reader thread uses CAS to acquire SuperVersion from its local storage and to put in a special flag (SuperVersion::kSVInUse).
70
-
71
-
72
-
73
-
74
- (2) Upon completion of GetImpl(), the reader thread tries to return SuperVersion to local storage by CAS, expecting the special flag (SuperVersion::kSVInUse) in its local storage. If it does not see SuperVersion::kSVInUse, that means a “sweep” was done and the reader thread is responsible for cleanup (this is expensive, but does not happen often on the hot path).
75
-
76
-
77
-
78
-
79
- (3) After any flush/compaction, the background thread performs a sweep (CAS) across all threads’ local storage and frees encountered SuperVersion. A reader thread must re-acquire a new SuperVersion reference on its next visit.
80
-
81
- ### Comments
82
-
83
- **[David Barbour](dmbarbour@gmail.com)**
84
-
85
- Please post an example of reading the same rocksdb concurrently.
86
-
87
- We are using the latest 3.0 rocksdb; however, when two separate processes
88
- try and open the same rocksdb for reading, only one of the open requests
89
- succeed. The other open always fails with “db/LOCK: Resource temporarily unavailable” So far we have not found an option that allows sharing the rocksdb for reads. An example would be most appreciated.
@@ -1,30 +0,0 @@
1
- ---
2
- title: RocksDB 3.2 release
3
- layout: post
4
- author: leijin
5
- category: blog
6
- redirect_from:
7
- - /blog/647/rocksdb-3-2-release/
8
- ---
9
-
10
- Check out new RocksDB release on [GitHub](https://github.com/facebook/rocksdb/releases/tag/rocksdb-3.2)!
11
-
12
- New Features in RocksDB 3.2:
13
-
14
- * PlainTable now supports a new key encoding: for keys of the same prefix, the prefix is only written once. It can be enabled through encoding_type paramter of NewPlainTableFactory()
15
-
16
-
17
- * Add AdaptiveTableFactory, which is used to convert from a DB of PlainTable to BlockBasedTabe, or vise versa. It can be created using NewAdaptiveTableFactory()
18
-
19
- <!--truncate-->
20
-
21
- Public API changes:
22
-
23
-
24
- * We removed seek compaction as a concept from RocksDB
25
-
26
-
27
- * Add two paramters to NewHashLinkListRepFactory() for logging on too many entries in a hash bucket when flushing
28
-
29
-
30
- * Added new option BlockBasedTableOptions::hash_index_allow_collision. When enabled, prefix hash index for block-based table will not store prefix and allow hash collision, reducing memory consumption
@@ -1,34 +0,0 @@
1
- ---
2
- title: RocksDB 3.3 Release
3
- layout: post
4
- author: yhciang
5
- category: blog
6
- redirect_from:
7
- - /blog/1301/rocksdb-3-3-release/
8
- ---
9
-
10
- Check out new RocksDB release on [GitHub](https://github.com/facebook/rocksdb/releases/tag/rocksdb-3.3)!
11
-
12
- New Features in RocksDB 3.3:
13
-
14
- * **JSON API prototype**.
15
-
16
-
17
- * **Performance improvement on HashLinkList**: We addressed performance outlier of HashLinkList caused by skewed bucket by switching data in the bucket from linked list to skip list. Add parameter threshold_use_skiplist in NewHashLinkListRepFactory().
18
-
19
- <!--truncate-->
20
-
21
- * **More effective on storage space reclaim**: RocksDB is now able to reclaim storage space more effectively during the compaction process. This is done by compensating the size of each deletion entry by the 2X average value size, which makes compaction to be triggerred by deletion entries more easily.
22
-
23
-
24
- * **TimeOut API to write**: Now WriteOptions have a variable called timeout_hint_us. With timeout_hint_us set to non-zero, any write associated with this timeout_hint_us may be aborted when it runs longer than the specified timeout_hint_us, and it is guaranteed that any write completes earlier than the specified time-out will not be aborted due to the time-out condition.
25
-
26
-
27
- * **rate_limiter option**: We added an option that controls total throughput of flush and compaction. The throughput is specified in bytes/sec. Flush always has precedence over compaction when available bandwidth is constrained.
28
-
29
-
30
-
31
- Public API changes:
32
-
33
-
34
- * Removed NewTotalOrderPlainTableFactory because it is not used and implemented semantically incorrect.
@@ -1,74 +0,0 @@
1
- ---
2
- title: Cuckoo Hashing Table Format
3
- layout: post
4
- author: radheshyam
5
- category: blog
6
- redirect_from:
7
- - /blog/1427/new-bloom-filter-format/
8
- ---
9
-
10
- ## Introduction
11
-
12
- We recently introduced a new [Cuckoo Hashing](http://en.wikipedia.org/wiki/Cuckoo_hashing) based SST file format which is optimized for fast point lookups. The new format was built for applications which require very high point lookup rates (~4Mqps) in read only mode but do not use operations like range scan, merge operator, etc. But, the existing RocksDB file formats were built to support range scan and other operations and the current best point lookup in RocksDB is 1.2 Mqps given by [PlainTable](https://github.com/facebook/rocksdb/wiki/PlainTable-Format)[ format](https://github.com/facebook/rocksdb/wiki/PlainTable-Format). This prompted a hashing based file format, which we present here. The new table format uses a cache friendly version of Cuckoo Hashing algorithm with only 1 or 2 memory accesses per lookup.
13
-
14
- <!--truncate-->
15
-
16
- Goals:
17
-
18
- * Reduce memory accesses per lookup to 1 or 2
19
-
20
-
21
- * Get an end to end point lookup rate of at least 4 Mqps
22
-
23
-
24
- * Minimize database size
25
-
26
-
27
- Assumptions:
28
-
29
- * Key length and value length are fixed
30
-
31
-
32
- * The database is operated in read only mode
33
-
34
-
35
- Non-goals:
36
-
37
-
38
- * While optimizing the performance of Get() operation was our primary goal, compaction and build times were secondary. We may work on improving them in future.
39
-
40
-
41
- Details for setting up the table format can be found in [GitHub](https://github.com/facebook/rocksdb/wiki/CuckooTable-Format).
42
-
43
-
44
- ## Cuckoo Hashing Algorithm
45
-
46
- In order to achieve high lookup speeds, we did multiple optimizations, including a cache friendly cuckoo hash algorithm. Cuckoo Hashing uses multiple hash functions, _h1, ..., __hn._
47
-
48
- ### Original Cuckoo Hashing
49
-
50
- To insert any new key _k_, we compute hashes of the key _h1(k), ..., __hn__(k)_. We insert the key in the first hash location that is free. If all the locations are blocked, we try to move one of the colliding keys to a different location by trying to re-insert it.
51
-
52
- Finding smallest set of keys to displace in order to accommodate the new key is naturally a shortest path problem in a directed graph where nodes are buckets of hash table and there is an edge from bucket _A_ to bucket _B_ if the element stored in bucket _A_ can be accommodated in bucket _B_ using one of the hash functions. The source nodes are the possible hash locations for the given key _k_ and destination is any one of the empty buckets. We use this algorithm to handle collision.
53
-
54
- To retrieve a key _k_, we compute hashes, _h1(k), ..., __hn__(k)_ and the key must be present in one of these locations.
55
-
56
- Our goal is to minimize average (and maximum) number of hash functions required and hence the number of memory accesses. In our experiments, with a hash utilization of 90%, we found that the average number of lookups is 1.8 and maximum is 3. Around 44% of keys are accommodated in first hash location and 33% in second location.
57
-
58
-
59
- ### Cache Friendly Cuckoo Hashing
60
-
61
- We noticed the following two sub-optimal properties in original Cuckoo implementation:
62
-
63
-
64
- * If the key is not present in first hash location, we jump to second hash location which may not be in cache. This results in many cache misses.
65
-
66
-
67
- * Because only 44% of keys are located in first cuckoo block, we couldn't have an optimal prefetching strategy - prefetching all hash locations for a key is wasteful. But prefetching only the first hash location helps only 44% of cases.
68
-
69
-
70
-
71
- The solution is to insert more keys near first location. In case of collision in the first hash location - _h1(k)_, we try to insert it in next few buckets, _h1(k)+1, _h1(k)+2, _..., h1(k)+t-1_. If all of these _t_ locations are occupied, we skip over to next hash function _h2_ and repeat the process. We call the set of _t_ buckets as a _Cuckoo Block_. We chose _t_ such that size of a block is not bigger than a cache line and we prefetch the first cuckoo block.
72
-
73
-
74
- With the new algorithm, for 90% hash utilization, we found that 85% of keys are accommodated in first Cuckoo Block. Prefetching the first cuckoo block yields best results. For a database of 100 million keys with key length 8 and value length 4, the hash algorithm alone can achieve 9.6 Mqps and we are working on improving it further. End to end RocksDB performance results can be found [here](https://github.com/facebook/rocksdb/wiki/CuckooTable-Format).
@@ -1,52 +0,0 @@
1
- ---
2
- title: New Bloom Filter Format
3
- layout: post
4
- author: zagfox
5
- category: blog
6
- redirect_from:
7
- - /blog/1367/cuckoo/
8
- ---
9
-
10
- ## Introduction
11
-
12
- In this post, we are introducing "full filter block" --- a new bloom filter format for [block based table](https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format). This could bring about 40% of improvement for key query under in-memory (all data stored in memory, files stored in tmpfs/ramfs, an [example](https://github.com/facebook/rocksdb/wiki/RocksDB-In-Memory-Workload-Performance-Benchmarks) workload. The main idea behind is to generate a big filter that covers all the keys in SST file to avoid lots of unnecessary memory look ups.
13
-
14
-
15
- <!--truncate-->
16
-
17
- ## What is Bloom Filter
18
-
19
- In brief, [bloom filter](https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter) is a bits array generated for a set of keys that could tell if an arbitrary key may exist in that set.
20
-
21
- In RocksDB, we generate such a bloom filter for each SST file. When we conduct a query for a key, we first goes to the bloom filter block of SST file. If key may exist in filter, we goes into data block in SST file to search for the key. If not, we would return directly. So it could help speed up point look up operation a lot.
22
-
23
- ## Original Bloom Filter Format
24
-
25
- Original bloom filter creates filters for each individual data block in SST file. It has complex structure (ref [here](https://github.com/facebook/rocksdb/wiki/Rocksdb-BlockBasedTable-Format#filter-meta-block)) which results in a lot of non-adjacent memory look ups.
26
-
27
- Here's the work flow for checking original bloom filter in block based table:
28
-
29
- 1. Given the target key, we goes to the index block to get the "data block ID" where this key may reside.
30
- 1. Using the "data block ID", we goes to the filter block and get the correct "offset of filter".
31
- 1. Using the "offset of filter", we goes to the actual filter and do the checking.
32
-
33
- ## New Bloom Filter Format
34
-
35
- New bloom filter creates filter for all keys in SST file and we name it "full filter". The data structure of full filter is very simple, there is just one big filter:
36
-
37
-     [ full filter ]
38
-
39
- In this way, the work flow of bloom filter checking is much simplified.
40
-
41
- (1) Given the target key, we goes directly to the filter block and conduct the filter checking.
42
-
43
- To be specific, there would be no checking for index block and no address jumping inside of filter block.
44
-
45
- Though it is a big filter, the total filter size would be the same as the original filter.
46
-
47
- One little draw back is that the new bloom filter introduces more memory consumption when building SST file because we need to buffer keys (or their hashes) before generating filter. Original filter just creates a bunch of small filters so it just buffer a small amount of keys. For full filter, we buffer hashes of all keys, which would take more memory when SST file size increases.
48
-
49
-
50
- ## Usage & Customization
51
-
52
- You can refer to the document here for [usage](https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter#usage-of-new-bloom-filter) and [customization](https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter#customize-your-own-filterpolicy).
@@ -1,38 +0,0 @@
1
- ---
2
- title: RocksDB 3.5 Release!
3
- layout: post
4
- author: leijin
5
- category: blog
6
- redirect_from:
7
- - /blog/1547/rocksdb-3-5-release/
8
- ---
9
-
10
- New RocksDB release - 3.5!
11
-
12
-
13
- **New Features**
14
-
15
-
16
- 1. Add include/utilities/write_batch_with_index.h, providing a utility class to query data out of WriteBatch when building it.
17
-
18
-
19
- 2. new ReadOptions.total_order_seek to force total order seek when block-based table is built with hash index.
20
-
21
- <!--truncate-->
22
-
23
- **Public API changes**
24
-
25
-
26
- 1. The Prefix Extractor used with V2 compaction filters is now passed user key to SliceTransform::Transform instead of unparsed RocksDB key.
27
-
28
-
29
- 2. Move BlockBasedTable related options to BlockBasedTableOptions from Options. Change corresponding JNI interface. Options affected include: no_block_cache, block_cache, block_cache_compressed, block_size, block_size_deviation, block_restart_interval, filter_policy, whole_key_filtering. filter_policy is changed to shared_ptr from a raw pointer.
30
-
31
-
32
- 3. Remove deprecated options: disable_seek_compaction and db_stats_log_interval
33
-
34
-
35
- 4. OptimizeForPointLookup() takes one parameter for block cache size. It now builds hash index, bloom filter, and block cache.
36
-
37
-
38
- [https://github.com/facebook/rocksdb/releases/tag/v3.5](https://github.com/facebook/rocksdb/releases/tag/rocksdb-3.5)
@@ -1,112 +0,0 @@
1
- ---
2
- title: Migrating from LevelDB to RocksDB
3
- layout: post
4
- author: lgalanis
5
- category: blog
6
- redirect_from:
7
- - /blog/1811/migrating-from-leveldb-to-rocksdb-2/
8
- ---
9
-
10
- If you have an existing application that uses LevelDB and would like to migrate to using RocksDB, one problem you need to overcome is to map the options for LevelDB to proper options for RocksDB. As of release 3.9 this can be automatically done by using our option conversion utility found in rocksdb/utilities/leveldb_options.h. What is needed, is to first replace `leveldb::Options` with `rocksdb::LevelDBOptions`. Then, use `rocksdb::ConvertOptions( )` to convert the `LevelDBOptions` struct into appropriate RocksDB options. Here is an example:
11
-
12
- <!--truncate-->
13
-
14
- LevelDB code:
15
-
16
- ```c++
17
- #include <string>
18
- #include "leveldb/db.h"
19
-
20
- using namespace leveldb;
21
-
22
- int main(int argc, char** argv) {
23
- DB *db;
24
-
25
- Options opt;
26
- opt.create_if_missing = true;
27
- opt.max_open_files = 1000;
28
- opt.block_size = 4096;
29
-
30
- Status s = DB::Open(opt, "/tmp/mydb", &db);
31
-
32
- delete db;
33
- }
34
- ```
35
-
36
- RocksDB code:
37
-
38
- ```c++
39
- #include <string>
40
- #include "rocksdb/db.h"
41
- #include "rocksdb/utilities/leveldb_options.h"
42
-
43
- using namespace rocksdb;
44
-
45
- int main(int argc, char** argv) {
46
- DB *db;
47
-
48
- LevelDBOptions opt;
49
- opt.create_if_missing = true;
50
- opt.max_open_files = 1000;
51
- opt.block_size = 4096;
52
-
53
- Options rocksdb_options = ConvertOptions(opt);
54
- // add rocksdb specific options here
55
-
56
- Status s = DB::Open(rocksdb_options, "/tmp/mydb_rocks", &db);
57
-
58
- delete db;
59
- }
60
- ```
61
-
62
- The difference is:
63
-
64
- ```diff
65
- -#include "leveldb/db.h"
66
- +#include "rocksdb/db.h"
67
- +#include "rocksdb/utilities/leveldb_options.h"
68
-
69
- -using namespace leveldb;
70
- +using namespace rocksdb;
71
-
72
- - Options opt;
73
- + LevelDBOptions opt;
74
-
75
- - Status s = DB::Open(opt, "/tmp/mydb", &db);
76
- + Options rocksdb_options = ConvertOptions(opt);
77
- + // add rockdb specific options here
78
- +
79
- + Status s = DB::Open(rocksdb_options, "/tmp/mydb_rocks", &db);
80
- ```
81
-
82
- Once you get up and running with RocksDB you can then focus on tuning RocksDB further by modifying the converted options struct.
83
-
84
- The reason why ConvertOptions is handy is because a lot of individual options in RocksDB have moved to other structures in different components. For example, block_size is not available in struct rocksdb::Options. It resides in struct rocksdb::BlockBasedTableOptions, which is used to create a TableFactory object that RocksDB uses internally to create the proper TableBuilder objects. If you were to write your application from scratch it would look like this:
85
-
86
- RocksDB code from scratch:
87
-
88
- ```c++
89
- #include <string>
90
- #include "rocksdb/db.h"
91
- #include "rocksdb/table.h"
92
-
93
- using namespace rocksdb;
94
-
95
- int main(int argc, char** argv) {
96
- DB *db;
97
-
98
- Options opt;
99
- opt.create_if_missing = true;
100
- opt.max_open_files = 1000;
101
-
102
- BlockBasedTableOptions topt;
103
- topt.block_size = 4096;
104
- opt.table_factory.reset(NewBlockBasedTableFactory(topt));
105
-
106
- Status s = DB::Open(opt, "/tmp/mydb_rocks", &db);
107
-
108
- delete db;
109
- }
110
- ```
111
-
112
- The LevelDBOptions utility can ease migration to RocksDB from LevelDB and allows us to break down the various options across classes as it is needed.
@@ -1,41 +0,0 @@
1
- ---
2
- title: Reading RocksDB options from a file
3
- layout: post
4
- author: lgalanis
5
- category: blog
6
- redirect_from:
7
- - /blog/1883/reading-rocksdb-options-from-a-file/
8
- ---
9
-
10
- RocksDB options can be provided using a file or any string to RocksDB. The format is straightforward: `write_buffer_size=1024;max_write_buffer_number=2`. Any whitespace around `=` and `;` is OK. Moreover, options can be nested as necessary. For example `BlockBasedTableOptions` can be nested as follows: `write_buffer_size=1024; max_write_buffer_number=2; block_based_table_factory={block_size=4k};`. Similarly any white space around `{` or `}` is ok. Here is what it looks like in code:
11
-
12
- <!--truncate-->
13
-
14
- ```c++
15
- #include <string>
16
- #include "rocksdb/db.h"
17
- #include "rocksdb/table.h"
18
- #include "rocksdb/utilities/convenience.h"
19
-
20
- using namespace rocksdb;
21
-
22
- int main(int argc, char** argv) {
23
- DB *db;
24
-
25
- Options opt;
26
-
27
- std::string options_string =
28
- "create_if_missing=true;max_open_files=1000;"
29
- "block_based_table_factory={block_size=4096}";
30
-
31
- Status s = GetDBOptionsFromString(opt, options_string, &opt);
32
-
33
- s = DB::Open(opt, "/tmp/mydb_rocks", &db);
34
-
35
- // use db
36
-
37
- delete db;
38
- }
39
- ```
40
-
41
- Using `GetDBOptionsFromString` is a convenient way of changing options for your RocksDB application without needing to resort to recompilation or tedious command line parsing.
@@ -1,20 +0,0 @@
1
- ---
2
- title: 'WriteBatchWithIndex: Utility for Implementing Read-Your-Own-Writes'
3
- layout: post
4
- author: sdong
5
- category: blog
6
- redirect_from:
7
- - /blog/1901/write-batch-with-index/
8
- ---
9
-
10
- RocksDB can be used as a storage engine of a higher level database. In fact, we are currently plugging RocksDB into MySQL and MongoDB as one of their storage engines. RocksDB can help with guaranteeing some of the ACID properties: durability is guaranteed by RocksDB by design; while consistency and isolation need to be enforced by concurrency controls on top of RocksDB; Atomicity can be implemented by committing a transaction's writes with one write batch to RocksDB in the end.
11
-
12
- <!--truncate-->
13
-
14
- However, if we enforce atomicity by only committing all writes in the end of the transaction in one batch, you cannot get the updated value from RocksDB previously written by the same transaction (read-your-own-write). To read the updated value, the databases on top of RocksDB need to maintain an internal buffer for all the written keys, and when a read happens they need to merge the result from RocksDB and from this buffer. This is a problem we faced when building the RocksDB storage engine in MongoDB. We solved it by creating a utility class, WriteBatchWithIndex (a write batch with a searchable index) and made it part of public API so that the community can also benefit from it.
15
-
16
- Before talking about the index part, let me introduce write batch first. The write batch class, `WriteBatch`, is a RocksDB data structure for atomic writes of multiple keys. Users can buffer their updates to a `WriteBatch` by calling `write_batch.Put("key1", "value1")` or `write_batch.Delete("key2")`, similar as calling RocksDB's functions of the same names. In the end, they call `db->Write(write_batch)` to atomically update all those batched operations to the DB. It is how a database can guarantee atomicity, as shown above. Adding a searchable index to `WriteBatch`, we now have `WriteBatchWithIndex`. Users can put updates to WriteBatchIndex in the same way as to `WriteBatch`. In the end, users can get a `WriteBatch` object from it and issue `db->Write()`. Additionally, users can create an iterator of a WriteBatchWithIndex, seek to any key location and iterate from there.
17
-
18
- To implement read-your-own-write using `WriteBatchWithIndex`, every time the user creates a transaction, we create a `WriteBatchWithIndex` attached to it. All the writes of the transaction go to the `WriteBatchWithIndex` first. When we commit the transaction, we atomically write the batch to RocksDB. When the user wants to call `Get()`, we first check if the value exists in the `WriteBatchWithIndex` and return the value if existing, by seeking and reading from an iterator of the write batch, before checking data in RocksDB. For example, here is the we implement it in MongoDB's RocksDB storage engine: [link](https://github.com/mongodb/mongo/blob/a31cc114a89a3645e97645805ba77db32c433dce/src/mongo/db/storage/rocks/rocks_recovery_unit.cpp#L245-L260). If a range query comes, we pass a DB's iterator to `WriteBatchWithIndex`, which creates a super iterator which combines the results from the DB iterator with the batch's iterator. Using this super iterator, we can iterate the DB with the transaction's own writes. Here is the iterator creation codes in MongoDB's RocksDB storage engine: [link](https://github.com/mongodb/mongo/blob/a31cc114a89a3645e97645805ba77db32c433dce/src/mongo/db/storage/rocks/rocks_recovery_unit.cpp#L266-L269). In this way, the database can solve the read-your-own-write problem by using RocksDB to handle a transaction's uncommitted writes.
19
-
20
- Using `WriteBatchWithIndex`, we successfully implemented read-your-own-writes in the RocksDB storage engine of MongoDB. If you also have a read-your-own-write problem, `WriteBatchWithIndex` can help you implement it quickly and correctly.
@@ -1,16 +0,0 @@
1
- ---
2
- title: Integrating RocksDB with MongoDB
3
- layout: post
4
- author: icanadi
5
- category: blog
6
- redirect_from:
7
- - /blog/1967/integrating-rocksdb-with-mongodb-2/
8
- ---
9
-
10
- Over the last couple of years, we have been busy integrating RocksDB with various services here at Facebook that needed to store key-value pairs locally. We have also seen other companies using RocksDB as local storage components of their distributed systems.
11
-
12
- <!--truncate-->
13
-
14
- The next big challenge for us is to bring RocksDB storage engine to general purpose databases. Today we have an exciting milestone to share with our community! We're running MongoDB with RocksDB in production and seeing great results! You can read more about it here: [http://blog.parse.com/announcements/mongodb-rocksdb-parse/](http://blog.parse.com/announcements/mongodb-rocksdb-parse/)
15
-
16
- Keep tuned for benchmarks and more stability and performance improvements.
@@ -1,10 +0,0 @@
1
- ---
2
- title: RocksDB in osquery
3
- layout: post
4
- author: icanadi
5
- category: lgalanis
6
- redirect_from:
7
- - /blog/1997/rocksdb-in-osquery/
8
- ---
9
-
10
- Check out [this](https://code.facebook.com/posts/1411870269134471/how-rocksdb-is-used-in-osquery/) blog post by [Mike Arpaia](https://www.facebook.com/mike.arpaia) and [Ted Reed](https://www.facebook.com/treeded) about how osquery leverages RocksDB to build an embedded pub-sub system. This article is a great read and contains insights on how to properly use RocksDB.