rocksdb-native 0.0.0 → 0.0.1

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 (691) hide show
  1. package/binding.gyp +23 -0
  2. package/binding.js +1 -1
  3. package/package.json +19 -1
  4. package/vendor/rocksdb.cc +79 -0
  5. package/vendor/rocksdb.gyp +414 -0
  6. package/.clang-format +0 -15
  7. package/.github/workflows/test-node.yml +0 -23
  8. package/.gitmodules +0 -4
  9. package/NOTICE +0 -13
  10. package/vendor/rocksdb/.circleci/config.yml +0 -892
  11. package/vendor/rocksdb/.circleci/ubsan_suppression_list.txt +0 -6
  12. package/vendor/rocksdb/.clang-format +0 -5
  13. package/vendor/rocksdb/.github/workflows/sanity_check.yml +0 -47
  14. package/vendor/rocksdb/.lgtm.yml +0 -4
  15. package/vendor/rocksdb/AUTHORS +0 -12
  16. package/vendor/rocksdb/CODE_OF_CONDUCT.md +0 -77
  17. package/vendor/rocksdb/CONTRIBUTING.md +0 -17
  18. package/vendor/rocksdb/DEFAULT_OPTIONS_HISTORY.md +0 -24
  19. package/vendor/rocksdb/DUMP_FORMAT.md +0 -16
  20. package/vendor/rocksdb/HISTORY.md +0 -2399
  21. package/vendor/rocksdb/INSTALL.md +0 -220
  22. package/vendor/rocksdb/LANGUAGE-BINDINGS.md +0 -26
  23. package/vendor/rocksdb/Makefile +0 -2579
  24. package/vendor/rocksdb/PLUGINS.md +0 -8
  25. package/vendor/rocksdb/TARGETS +0 -5599
  26. package/vendor/rocksdb/USERS.md +0 -165
  27. package/vendor/rocksdb/Vagrantfile +0 -39
  28. package/vendor/rocksdb/WINDOWS_PORT.md +0 -228
  29. package/vendor/rocksdb/buckifier/bench-slow.json +0 -6163
  30. package/vendor/rocksdb/buckifier/bench.json +0 -1594
  31. package/vendor/rocksdb/buckifier/buckify_rocksdb.py +0 -333
  32. package/vendor/rocksdb/buckifier/check_buck_targets.sh +0 -32
  33. package/vendor/rocksdb/buckifier/rocks_test_runner.sh +0 -6
  34. package/vendor/rocksdb/buckifier/targets_builder.py +0 -150
  35. package/vendor/rocksdb/buckifier/targets_cfg.py +0 -41
  36. package/vendor/rocksdb/buckifier/util.py +0 -118
  37. package/vendor/rocksdb/build_tools/amalgamate.py +0 -168
  38. package/vendor/rocksdb/build_tools/benchmark_log_tool.py +0 -238
  39. package/vendor/rocksdb/build_tools/build_detect_platform +0 -804
  40. package/vendor/rocksdb/build_tools/check-sources.sh +0 -48
  41. package/vendor/rocksdb/build_tools/dependencies_platform010.sh +0 -22
  42. package/vendor/rocksdb/build_tools/dockerbuild.sh +0 -3
  43. package/vendor/rocksdb/build_tools/error_filter.py +0 -181
  44. package/vendor/rocksdb/build_tools/fb_compile_mongo.sh +0 -55
  45. package/vendor/rocksdb/build_tools/fbcode_config.sh +0 -175
  46. package/vendor/rocksdb/build_tools/fbcode_config_platform010.sh +0 -175
  47. package/vendor/rocksdb/build_tools/format-diff.sh +0 -203
  48. package/vendor/rocksdb/build_tools/gnu_parallel +0 -7971
  49. package/vendor/rocksdb/build_tools/make_package.sh +0 -129
  50. package/vendor/rocksdb/build_tools/ps_with_stack +0 -38
  51. package/vendor/rocksdb/build_tools/regression_build_test.sh +0 -396
  52. package/vendor/rocksdb/build_tools/run_ci_db_test.ps1 +0 -493
  53. package/vendor/rocksdb/build_tools/setup_centos7.sh +0 -45
  54. package/vendor/rocksdb/build_tools/ubuntu20_image/Dockerfile +0 -57
  55. package/vendor/rocksdb/build_tools/update_dependencies.sh +0 -106
  56. package/vendor/rocksdb/build_tools/version.sh +0 -23
  57. package/vendor/rocksdb/common.mk +0 -30
  58. package/vendor/rocksdb/crash_test.mk +0 -107
  59. package/vendor/rocksdb/db/c_test.c +0 -3609
  60. package/vendor/rocksdb/docs/CNAME +0 -1
  61. package/vendor/rocksdb/docs/CONTRIBUTING.md +0 -115
  62. package/vendor/rocksdb/docs/Gemfile +0 -4
  63. package/vendor/rocksdb/docs/LICENSE-DOCUMENTATION +0 -385
  64. package/vendor/rocksdb/docs/TEMPLATE-INFORMATION.md +0 -17
  65. package/vendor/rocksdb/docs/_config.yml +0 -85
  66. package/vendor/rocksdb/docs/_data/authors.yml +0 -81
  67. package/vendor/rocksdb/docs/_data/features.yml +0 -19
  68. package/vendor/rocksdb/docs/_data/nav.yml +0 -30
  69. package/vendor/rocksdb/docs/_data/nav_docs.yml +0 -3
  70. package/vendor/rocksdb/docs/_data/powered_by.yml +0 -1
  71. package/vendor/rocksdb/docs/_data/powered_by_highlight.yml +0 -1
  72. package/vendor/rocksdb/docs/_data/promo.yml +0 -6
  73. package/vendor/rocksdb/docs/_docs/faq.md +0 -48
  74. package/vendor/rocksdb/docs/_docs/getting-started.md +0 -78
  75. package/vendor/rocksdb/docs/_includes/blog_pagination.html +0 -28
  76. package/vendor/rocksdb/docs/_includes/content/gridblocks.html +0 -5
  77. package/vendor/rocksdb/docs/_includes/content/items/gridblock.html +0 -37
  78. package/vendor/rocksdb/docs/_includes/doc.html +0 -25
  79. package/vendor/rocksdb/docs/_includes/doc_paging.html +0 -0
  80. package/vendor/rocksdb/docs/_includes/footer.html +0 -34
  81. package/vendor/rocksdb/docs/_includes/head.html +0 -23
  82. package/vendor/rocksdb/docs/_includes/header.html +0 -19
  83. package/vendor/rocksdb/docs/_includes/hero.html +0 -0
  84. package/vendor/rocksdb/docs/_includes/home_header.html +0 -22
  85. package/vendor/rocksdb/docs/_includes/katex_import.html +0 -3
  86. package/vendor/rocksdb/docs/_includes/katex_render.html +0 -210
  87. package/vendor/rocksdb/docs/_includes/nav/collection_nav.html +0 -64
  88. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group.html +0 -19
  89. package/vendor/rocksdb/docs/_includes/nav/collection_nav_group_item.html +0 -1
  90. package/vendor/rocksdb/docs/_includes/nav/header_nav.html +0 -30
  91. package/vendor/rocksdb/docs/_includes/nav.html +0 -37
  92. package/vendor/rocksdb/docs/_includes/nav_search.html +0 -15
  93. package/vendor/rocksdb/docs/_includes/plugins/all_share.html +0 -3
  94. package/vendor/rocksdb/docs/_includes/plugins/ascii_cinema.html +0 -2
  95. package/vendor/rocksdb/docs/_includes/plugins/button.html +0 -6
  96. package/vendor/rocksdb/docs/_includes/plugins/github_star.html +0 -4
  97. package/vendor/rocksdb/docs/_includes/plugins/github_watch.html +0 -4
  98. package/vendor/rocksdb/docs/_includes/plugins/google_share.html +0 -5
  99. package/vendor/rocksdb/docs/_includes/plugins/iframe.html +0 -6
  100. package/vendor/rocksdb/docs/_includes/plugins/like_button.html +0 -18
  101. package/vendor/rocksdb/docs/_includes/plugins/plugin_row.html +0 -5
  102. package/vendor/rocksdb/docs/_includes/plugins/post_social_plugins.html +0 -41
  103. package/vendor/rocksdb/docs/_includes/plugins/slideshow.html +0 -88
  104. package/vendor/rocksdb/docs/_includes/plugins/twitter_follow.html +0 -12
  105. package/vendor/rocksdb/docs/_includes/plugins/twitter_share.html +0 -11
  106. package/vendor/rocksdb/docs/_includes/post.html +0 -40
  107. package/vendor/rocksdb/docs/_includes/powered_by.html +0 -28
  108. package/vendor/rocksdb/docs/_includes/social_plugins.html +0 -31
  109. package/vendor/rocksdb/docs/_includes/ui/button.html +0 -1
  110. package/vendor/rocksdb/docs/_layouts/basic.html +0 -12
  111. package/vendor/rocksdb/docs/_layouts/blog.html +0 -11
  112. package/vendor/rocksdb/docs/_layouts/blog_default.html +0 -14
  113. package/vendor/rocksdb/docs/_layouts/default.html +0 -12
  114. package/vendor/rocksdb/docs/_layouts/doc_default.html +0 -14
  115. package/vendor/rocksdb/docs/_layouts/doc_page.html +0 -10
  116. package/vendor/rocksdb/docs/_layouts/docs.html +0 -5
  117. package/vendor/rocksdb/docs/_layouts/home.html +0 -26
  118. package/vendor/rocksdb/docs/_layouts/page.html +0 -3
  119. package/vendor/rocksdb/docs/_layouts/plain.html +0 -10
  120. package/vendor/rocksdb/docs/_layouts/post.html +0 -8
  121. package/vendor/rocksdb/docs/_layouts/redirect.html +0 -6
  122. package/vendor/rocksdb/docs/_layouts/top-level.html +0 -10
  123. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-backup-rocksdb.markdown +0 -135
  124. package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-persist-in-memory-rocksdb-database.markdown +0 -54
  125. package/vendor/rocksdb/docs/_posts/2014-04-02-the-1st-rocksdb-local-meetup-held-on-march-27-2014.markdown +0 -53
  126. package/vendor/rocksdb/docs/_posts/2014-04-07-rocksdb-2-8-release.markdown +0 -40
  127. package/vendor/rocksdb/docs/_posts/2014-04-21-indexing-sst-files-for-better-lookup-performance.markdown +0 -28
  128. package/vendor/rocksdb/docs/_posts/2014-05-14-lock.markdown +0 -88
  129. package/vendor/rocksdb/docs/_posts/2014-05-19-rocksdb-3-0-release.markdown +0 -24
  130. package/vendor/rocksdb/docs/_posts/2014-05-22-rocksdb-3-1-release.markdown +0 -20
  131. package/vendor/rocksdb/docs/_posts/2014-06-23-plaintable-a-new-file-format.markdown +0 -47
  132. package/vendor/rocksdb/docs/_posts/2014-06-27-avoid-expensive-locks-in-get.markdown +0 -89
  133. package/vendor/rocksdb/docs/_posts/2014-06-27-rocksdb-3-2-release.markdown +0 -30
  134. package/vendor/rocksdb/docs/_posts/2014-07-29-rocksdb-3-3-release.markdown +0 -34
  135. package/vendor/rocksdb/docs/_posts/2014-09-12-cuckoo.markdown +0 -74
  136. package/vendor/rocksdb/docs/_posts/2014-09-12-new-bloom-filter-format.markdown +0 -52
  137. package/vendor/rocksdb/docs/_posts/2014-09-15-rocksdb-3-5-release.markdown +0 -38
  138. package/vendor/rocksdb/docs/_posts/2015-01-16-migrating-from-leveldb-to-rocksdb-2.markdown +0 -112
  139. package/vendor/rocksdb/docs/_posts/2015-02-24-reading-rocksdb-options-from-a-file.markdown +0 -41
  140. package/vendor/rocksdb/docs/_posts/2015-02-27-write-batch-with-index.markdown +0 -20
  141. package/vendor/rocksdb/docs/_posts/2015-04-22-integrating-rocksdb-with-mongodb-2.markdown +0 -16
  142. package/vendor/rocksdb/docs/_posts/2015-06-12-rocksdb-in-osquery.markdown +0 -10
  143. package/vendor/rocksdb/docs/_posts/2015-07-15-rocksdb-2015-h2-roadmap.markdown +0 -92
  144. package/vendor/rocksdb/docs/_posts/2015-07-17-spatial-indexing-in-rocksdb.markdown +0 -78
  145. package/vendor/rocksdb/docs/_posts/2015-07-22-rocksdb-is-now-available-in-windows-platform.markdown +0 -30
  146. package/vendor/rocksdb/docs/_posts/2015-07-23-dynamic-level.markdown +0 -29
  147. package/vendor/rocksdb/docs/_posts/2015-10-27-getthreadlist.markdown +0 -193
  148. package/vendor/rocksdb/docs/_posts/2015-11-10-use-checkpoints-for-efficient-snapshots.markdown +0 -45
  149. package/vendor/rocksdb/docs/_posts/2015-11-16-analysis-file-read-latency-by-level.markdown +0 -244
  150. package/vendor/rocksdb/docs/_posts/2016-01-29-compaction_pri.markdown +0 -51
  151. package/vendor/rocksdb/docs/_posts/2016-02-24-rocksdb-4-2-release.markdown +0 -41
  152. package/vendor/rocksdb/docs/_posts/2016-02-25-rocksdb-ama.markdown +0 -20
  153. package/vendor/rocksdb/docs/_posts/2016-03-07-rocksdb-options-file.markdown +0 -24
  154. package/vendor/rocksdb/docs/_posts/2016-04-26-rocksdb-4-5-1-released.markdown +0 -60
  155. package/vendor/rocksdb/docs/_posts/2016-07-26-rocksdb-4-8-released.markdown +0 -48
  156. package/vendor/rocksdb/docs/_posts/2016-09-28-rocksdb-4-11-2-released.markdown +0 -49
  157. package/vendor/rocksdb/docs/_posts/2017-01-06-rocksdb-5-0-1-released.markdown +0 -26
  158. package/vendor/rocksdb/docs/_posts/2017-02-07-rocksdb-5-1-2-released.markdown +0 -15
  159. package/vendor/rocksdb/docs/_posts/2017-02-17-bulkoad-ingest-sst-file.markdown +0 -50
  160. package/vendor/rocksdb/docs/_posts/2017-03-02-rocksdb-5-2-1-released.markdown +0 -22
  161. package/vendor/rocksdb/docs/_posts/2017-05-12-partitioned-index-filter.markdown +0 -34
  162. package/vendor/rocksdb/docs/_posts/2017-05-14-core-local-stats.markdown +0 -106
  163. package/vendor/rocksdb/docs/_posts/2017-05-26-rocksdb-5-4-5-released.markdown +0 -39
  164. package/vendor/rocksdb/docs/_posts/2017-06-26-17-level-based-changes.markdown +0 -60
  165. package/vendor/rocksdb/docs/_posts/2017-06-29-rocksdb-5-5-1-released.markdown +0 -22
  166. package/vendor/rocksdb/docs/_posts/2017-07-25-rocksdb-5-6-1-released.markdown +0 -22
  167. package/vendor/rocksdb/docs/_posts/2017-08-24-pinnableslice.markdown +0 -37
  168. package/vendor/rocksdb/docs/_posts/2017-08-25-flushwal.markdown +0 -26
  169. package/vendor/rocksdb/docs/_posts/2017-09-28-rocksdb-5-8-released.markdown +0 -25
  170. package/vendor/rocksdb/docs/_posts/2017-12-18-17-auto-tuned-rate-limiter.markdown +0 -28
  171. package/vendor/rocksdb/docs/_posts/2017-12-19-write-prepared-txn.markdown +0 -41
  172. package/vendor/rocksdb/docs/_posts/2018-02-05-rocksdb-5-10-2-released.markdown +0 -22
  173. package/vendor/rocksdb/docs/_posts/2018-08-01-rocksdb-tuning-advisor.markdown +0 -58
  174. package/vendor/rocksdb/docs/_posts/2018-08-23-data-block-hash-index.markdown +0 -118
  175. package/vendor/rocksdb/docs/_posts/2018-11-21-delete-range.markdown +0 -292
  176. package/vendor/rocksdb/docs/_posts/2019-03-08-format-version-4.markdown +0 -36
  177. package/vendor/rocksdb/docs/_posts/2019-08-15-unordered-write.markdown +0 -56
  178. package/vendor/rocksdb/docs/_posts/2021-04-12-universal-improvements.markdown +0 -46
  179. package/vendor/rocksdb/docs/_posts/2021-05-26-integrated-blob-db.markdown +0 -101
  180. package/vendor/rocksdb/docs/_posts/2021-05-26-online-validation.markdown +0 -17
  181. package/vendor/rocksdb/docs/_posts/2021-05-27-rocksdb-secondary-cache.markdown +0 -195
  182. package/vendor/rocksdb/docs/_posts/2021-05-31-dictionary-compression.markdown +0 -157
  183. package/vendor/rocksdb/docs/_posts/2021-12-29-ribbon-filter.markdown +0 -281
  184. package/vendor/rocksdb/docs/_posts/2022-07-18-per-key-value-checksum.markdown +0 -142
  185. package/vendor/rocksdb/docs/_posts/2022-10-05-lost-buffered-write-recovery.markdown +0 -123
  186. package/vendor/rocksdb/docs/_posts/2022-10-07-asynchronous-io-in-rocksdb.markdown +0 -133
  187. package/vendor/rocksdb/docs/_posts/2022-10-31-align-compaction-output-file.markdown +0 -107
  188. package/vendor/rocksdb/docs/_posts/2022-11-09-time-aware-tiered-storage.markdown +0 -121
  189. package/vendor/rocksdb/docs/_sass/_base.scss +0 -492
  190. package/vendor/rocksdb/docs/_sass/_blog.scss +0 -47
  191. package/vendor/rocksdb/docs/_sass/_buttons.scss +0 -47
  192. package/vendor/rocksdb/docs/_sass/_footer.scss +0 -82
  193. package/vendor/rocksdb/docs/_sass/_gridBlock.scss +0 -115
  194. package/vendor/rocksdb/docs/_sass/_header.scss +0 -139
  195. package/vendor/rocksdb/docs/_sass/_poweredby.scss +0 -69
  196. package/vendor/rocksdb/docs/_sass/_promo.scss +0 -55
  197. package/vendor/rocksdb/docs/_sass/_react_docs_nav.scss +0 -332
  198. package/vendor/rocksdb/docs/_sass/_react_header_nav.scss +0 -141
  199. package/vendor/rocksdb/docs/_sass/_reset.scss +0 -43
  200. package/vendor/rocksdb/docs/_sass/_search.scss +0 -142
  201. package/vendor/rocksdb/docs/_sass/_slideshow.scss +0 -48
  202. package/vendor/rocksdb/docs/_sass/_syntax-highlighting.scss +0 -129
  203. package/vendor/rocksdb/docs/_sass/_tables.scss +0 -47
  204. package/vendor/rocksdb/docs/_top-level/support.md +0 -22
  205. package/vendor/rocksdb/docs/blog/all.html +0 -20
  206. package/vendor/rocksdb/docs/blog/index.html +0 -12
  207. package/vendor/rocksdb/docs/css/main.scss +0 -159
  208. package/vendor/rocksdb/docs/doc-type-examples/2016-04-07-blog-post-example.md +0 -21
  209. package/vendor/rocksdb/docs/doc-type-examples/docs-hello-world.md +0 -12
  210. package/vendor/rocksdb/docs/doc-type-examples/top-level-example.md +0 -8
  211. package/vendor/rocksdb/docs/docs/index.html +0 -6
  212. package/vendor/rocksdb/docs/feed.xml +0 -30
  213. package/vendor/rocksdb/docs/index.md +0 -9
  214. package/vendor/rocksdb/docs/static/favicon.png +0 -0
  215. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff +0 -0
  216. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff2 +0 -0
  217. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff +0 -0
  218. package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff2 +0 -0
  219. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff +0 -0
  220. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff2 +0 -0
  221. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff +0 -0
  222. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff2 +0 -0
  223. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff +0 -0
  224. package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff2 +0 -0
  225. package/vendor/rocksdb/docs/static/images/Resize-of-20140327_200754-300x225.jpg +0 -0
  226. package/vendor/rocksdb/docs/static/images/align-compaction-output/compaction_output_file_size_compare.png +0 -0
  227. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_align.png +0 -0
  228. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_normal.png +0 -0
  229. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_trival_move.png +0 -0
  230. package/vendor/rocksdb/docs/static/images/align-compaction-output/file_size_compare.png +0 -0
  231. package/vendor/rocksdb/docs/static/images/align-compaction-output/write_amp_compare.png +0 -0
  232. package/vendor/rocksdb/docs/static/images/asynchronous-io/mget_async.png +0 -0
  233. package/vendor/rocksdb/docs/static/images/asynchronous-io/scan_async.png +0 -0
  234. package/vendor/rocksdb/docs/static/images/binaryseek.png +0 -0
  235. package/vendor/rocksdb/docs/static/images/bloom_fp_vs_bpk.png +0 -0
  236. package/vendor/rocksdb/docs/static/images/compaction/full-range.png +0 -0
  237. package/vendor/rocksdb/docs/static/images/compaction/l0-l1-contend.png +0 -0
  238. package/vendor/rocksdb/docs/static/images/compaction/l1-l2-contend.png +0 -0
  239. package/vendor/rocksdb/docs/static/images/compaction/part-range-old.png +0 -0
  240. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-binary-seek.png +0 -0
  241. package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-hash-index.png +0 -0
  242. package/vendor/rocksdb/docs/static/images/data-block-hash-index/hash-index-data-structure.png +0 -0
  243. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-cache-miss.png +0 -0
  244. package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-throughput.png +0 -0
  245. package/vendor/rocksdb/docs/static/images/delrange/delrange_collapsed.png +0 -0
  246. package/vendor/rocksdb/docs/static/images/delrange/delrange_key_schema.png +0 -0
  247. package/vendor/rocksdb/docs/static/images/delrange/delrange_sst_blocks.png +0 -0
  248. package/vendor/rocksdb/docs/static/images/delrange/delrange_uncollapsed.png +0 -0
  249. package/vendor/rocksdb/docs/static/images/delrange/delrange_write_path.png +0 -0
  250. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_raw_sampled.png +0 -0
  251. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_sst_blocks.png +0 -0
  252. package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_zstd_trained.png +0 -0
  253. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Legacy_Vs_Integrated.png +0 -0
  254. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_RW_RO_Perf.png +0 -0
  255. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Amp.png +0 -0
  256. package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Perf.png +0 -0
  257. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-entry.png +0 -0
  258. package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-write.png +0 -0
  259. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Memtable.png +0 -0
  260. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch-to-Memtable.png +0 -0
  261. package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch.png +0 -0
  262. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-fragment.png +0 -0
  263. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-read.png +0 -0
  264. package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-write.png +0 -0
  265. package/vendor/rocksdb/docs/static/images/kv-checksum/Write-batch.png +0 -0
  266. package/vendor/rocksdb/docs/static/images/kv-checksum/Writebatch-write.png +0 -0
  267. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/angry-cat.png +0 -0
  268. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/basic-setup.png +0 -0
  269. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/happy-cat.png +0 -0
  270. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/replay-extension.png +0 -0
  271. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/test-fs-writable-file.png +0 -0
  272. package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/trace-extension.png +0 -0
  273. package/vendor/rocksdb/docs/static/images/pcache-blockindex.jpg +0 -0
  274. package/vendor/rocksdb/docs/static/images/pcache-fileindex.jpg +0 -0
  275. package/vendor/rocksdb/docs/static/images/pcache-filelayout.jpg +0 -0
  276. package/vendor/rocksdb/docs/static/images/pcache-readiopath.jpg +0 -0
  277. package/vendor/rocksdb/docs/static/images/pcache-tieredstorage.jpg +0 -0
  278. package/vendor/rocksdb/docs/static/images/pcache-writeiopath.jpg +0 -0
  279. package/vendor/rocksdb/docs/static/images/promo-adapt.svg +0 -8
  280. package/vendor/rocksdb/docs/static/images/promo-flash.svg +0 -28
  281. package/vendor/rocksdb/docs/static/images/promo-operations.svg +0 -6
  282. package/vendor/rocksdb/docs/static/images/promo-performance.svg +0 -134
  283. package/vendor/rocksdb/docs/static/images/rate-limiter/auto-tuned-write-KBps-series.png +0 -0
  284. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-cdf.png +0 -0
  285. package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-series.png +0 -0
  286. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_hit_rate.png +0 -0
  287. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_throughput.png +0 -0
  288. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/arch_diagram.png +0 -0
  289. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/insert_flow.png +0 -0
  290. package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/lookup_flow.png +0 -0
  291. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/compaction_moving_up_conflict.png +0 -0
  292. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/per_key_placement_compaction.png +0 -0
  293. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_design.png +0 -0
  294. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_overview.png +0 -0
  295. package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_problem.png +0 -0
  296. package/vendor/rocksdb/docs/static/images/tree_example1.png +0 -0
  297. package/vendor/rocksdb/docs/static/logo.svg +0 -76
  298. package/vendor/rocksdb/docs/static/og_image.png +0 -0
  299. package/vendor/rocksdb/examples/Makefile +0 -58
  300. package/vendor/rocksdb/examples/c_simple_example.c +0 -96
  301. package/vendor/rocksdb/examples/rocksdb_option_file_example.ini +0 -142
  302. package/vendor/rocksdb/fuzz/Makefile +0 -67
  303. package/vendor/rocksdb/fuzz/proto/db_operation.proto +0 -28
  304. package/vendor/rocksdb/issue_template.md +0 -7
  305. package/vendor/rocksdb/java/GetBenchmarks.md +0 -161
  306. package/vendor/rocksdb/java/HISTORY-JAVA.md +0 -86
  307. package/vendor/rocksdb/java/Makefile +0 -453
  308. package/vendor/rocksdb/java/RELEASE.md +0 -59
  309. package/vendor/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java +0 -1640
  310. package/vendor/rocksdb/java/crossbuild/Vagrantfile +0 -51
  311. package/vendor/rocksdb/java/crossbuild/build-linux-alpine.sh +0 -70
  312. package/vendor/rocksdb/java/crossbuild/build-linux-centos.sh +0 -38
  313. package/vendor/rocksdb/java/crossbuild/build-linux.sh +0 -15
  314. package/vendor/rocksdb/java/crossbuild/docker-build-linux-alpine.sh +0 -17
  315. package/vendor/rocksdb/java/crossbuild/docker-build-linux-centos.sh +0 -38
  316. package/vendor/rocksdb/java/jdb_bench.sh +0 -13
  317. package/vendor/rocksdb/java/jmh/LICENSE-HEADER.txt +0 -5
  318. package/vendor/rocksdb/java/jmh/pom.xml +0 -138
  319. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/ComparatorBenchmarks.java +0 -139
  320. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/GetBenchmarks.java +0 -215
  321. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/MultiGetBenchmarks.java +0 -214
  322. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/PutBenchmarks.java +0 -112
  323. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/FileUtils.java +0 -59
  324. package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/KVUtils.java +0 -72
  325. package/vendor/rocksdb/java/pom.xml.template +0 -178
  326. package/vendor/rocksdb/java/samples/src/main/java/OptimisticTransactionSample.java +0 -184
  327. package/vendor/rocksdb/java/samples/src/main/java/RocksDBColumnFamilySample.java +0 -78
  328. package/vendor/rocksdb/java/samples/src/main/java/RocksDBSample.java +0 -295
  329. package/vendor/rocksdb/java/samples/src/main/java/TransactionSample.java +0 -183
  330. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilter.java +0 -59
  331. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java +0 -77
  332. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparator.java +0 -124
  333. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparatorJniBridge.java +0 -119
  334. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractEventListener.java +0 -334
  335. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractImmutableNativeReference.java +0 -65
  336. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractMutableOptions.java +0 -368
  337. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractNativeReference.java +0 -49
  338. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractRocksIterator.java +0 -146
  339. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractSlice.java +0 -191
  340. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTableFilter.java +0 -20
  341. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTraceWriter.java +0 -70
  342. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTransactionNotifier.java +0 -54
  343. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWalFilter.java +0 -49
  344. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWriteBatch.java +0 -203
  345. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AccessHint.java +0 -53
  346. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java +0 -463
  347. package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java +0 -830
  348. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackgroundErrorReason.java +0 -46
  349. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngine.java +0 -259
  350. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngineOptions.java +0 -458
  351. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupInfo.java +0 -76
  352. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BlockBasedTableConfig.java +0 -951
  353. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BloomFilter.java +0 -73
  354. package/vendor/rocksdb/java/src/main/java/org/rocksdb/BuiltinComparator.java +0 -20
  355. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ByteBufferGetStatus.java +0 -50
  356. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Cache.java +0 -40
  357. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraCompactionFilter.java +0 -20
  358. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraValueMergeOperator.java +0 -25
  359. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Checkpoint.java +0 -62
  360. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ChecksumType.java +0 -45
  361. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ClockCache.java +0 -59
  362. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyDescriptor.java +0 -84
  363. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +0 -151
  364. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyMetaData.java +0 -70
  365. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptions.java +0 -1543
  366. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java +0 -536
  367. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactRangeOptions.java +0 -245
  368. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobInfo.java +0 -161
  369. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobStats.java +0 -295
  370. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptions.java +0 -121
  371. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +0 -87
  372. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsUniversal.java +0 -273
  373. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionPriority.java +0 -81
  374. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionReason.java +0 -141
  375. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStopStyle.java +0 -55
  376. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStyle.java +0 -81
  377. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorOptions.java +0 -133
  378. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorType.java +0 -48
  379. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionOptions.java +0 -150
  380. package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionType.java +0 -121
  381. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiter.java +0 -44
  382. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java +0 -48
  383. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConfigOptions.java +0 -53
  384. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java +0 -1496
  385. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptionsInterface.java +0 -1756
  386. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DataBlockIndexType.java +0 -32
  387. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DbPath.java +0 -47
  388. package/vendor/rocksdb/java/src/main/java/org/rocksdb/DirectSlice.java +0 -136
  389. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EncodingType.java +0 -55
  390. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Env.java +0 -167
  391. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EnvOptions.java +0 -366
  392. package/vendor/rocksdb/java/src/main/java/org/rocksdb/EventListener.java +0 -335
  393. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Experimental.java +0 -23
  394. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ExternalFileIngestionInfo.java +0 -103
  395. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FileOperationInfo.java +0 -112
  396. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Filter.java +0 -36
  397. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushJobInfo.java +0 -186
  398. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java +0 -90
  399. package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushReason.java +0 -53
  400. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java +0 -174
  401. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashSkipListMemTableConfig.java +0 -106
  402. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramData.java +0 -75
  403. package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramType.java +0 -214
  404. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Holder.java +0 -46
  405. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexShorteningMode.java +0 -60
  406. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexType.java +0 -55
  407. package/vendor/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java +0 -49
  408. package/vendor/rocksdb/java/src/main/java/org/rocksdb/IngestExternalFileOptions.java +0 -227
  409. package/vendor/rocksdb/java/src/main/java/org/rocksdb/KeyMayExist.java +0 -35
  410. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LRUCache.java +0 -106
  411. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LevelMetaData.java +0 -56
  412. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LiveFileMetaData.java +0 -55
  413. package/vendor/rocksdb/java/src/main/java/org/rocksdb/LogFile.java +0 -75
  414. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Logger.java +0 -121
  415. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableConfig.java +0 -29
  416. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableInfo.java +0 -103
  417. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUsageType.java +0 -72
  418. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUtil.java +0 -60
  419. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MergeOperator.java +0 -18
  420. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptions.java +0 -621
  421. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java +0 -156
  422. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptions.java +0 -292
  423. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptionsInterface.java +0 -440
  424. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionKey.java +0 -16
  425. package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionValue.java +0 -368
  426. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeComparatorWrapper.java +0 -59
  427. package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeLibraryLoader.java +0 -172
  428. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationStage.java +0 -59
  429. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationType.java +0 -55
  430. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionDB.java +0 -224
  431. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionOptions.java +0 -53
  432. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionString.java +0 -261
  433. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Options.java +0 -2574
  434. package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionsUtil.java +0 -101
  435. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PersistentCache.java +0 -26
  436. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PlainTableConfig.java +0 -251
  437. package/vendor/rocksdb/java/src/main/java/org/rocksdb/PrepopulateBlobCache.java +0 -117
  438. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Priority.java +0 -49
  439. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Range.java +0 -19
  440. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiter.java +0 -227
  441. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiterMode.java +0 -52
  442. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadOptions.java +0 -822
  443. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadTier.java +0 -49
  444. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java +0 -18
  445. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java +0 -32
  446. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReusedSynchronisationType.java +0 -65
  447. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksCallbackObject.java +0 -73
  448. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDB.java +0 -4688
  449. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDBException.java +0 -44
  450. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksEnv.java +0 -31
  451. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIterator.java +0 -140
  452. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIteratorInterface.java +0 -127
  453. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMemEnv.java +0 -31
  454. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMutableObject.java +0 -87
  455. package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksObject.java +0 -45
  456. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SanityLevel.java +0 -47
  457. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SizeApproximationFlag.java +0 -31
  458. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SkipListMemTableConfig.java +0 -51
  459. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Slice.java +0 -135
  460. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Snapshot.java +0 -41
  461. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileManager.java +0 -249
  462. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java +0 -162
  463. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReader.java +0 -82
  464. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReaderIterator.java +0 -140
  465. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileWriter.java +0 -237
  466. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFactory.java +0 -15
  467. package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java +0 -19
  468. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StateType.java +0 -53
  469. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Statistics.java +0 -153
  470. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollector.java +0 -102
  471. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollectorCallback.java +0 -32
  472. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsCollectorInput.java +0 -35
  473. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsLevel.java +0 -65
  474. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Status.java +0 -155
  475. package/vendor/rocksdb/java/src/main/java/org/rocksdb/StringAppendOperator.java +0 -29
  476. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationBriefInfo.java +0 -107
  477. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationInfo.java +0 -86
  478. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationReason.java +0 -46
  479. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileDeletionInfo.java +0 -86
  480. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFilter.java +0 -21
  481. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFormatConfig.java +0 -22
  482. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableProperties.java +0 -426
  483. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadStatus.java +0 -224
  484. package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadType.java +0 -65
  485. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TickerType.java +0 -802
  486. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TimedEnv.java +0 -30
  487. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceOptions.java +0 -32
  488. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceWriter.java +0 -36
  489. package/vendor/rocksdb/java/src/main/java/org/rocksdb/Transaction.java +0 -2162
  490. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDB.java +0 -401
  491. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDBOptions.java +0 -216
  492. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java +0 -112
  493. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionOptions.java +0 -189
  494. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalDB.java +0 -65
  495. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalOptions.java +0 -31
  496. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TtlDB.java +0 -242
  497. package/vendor/rocksdb/java/src/main/java/org/rocksdb/TxnDBWritePolicy.java +0 -62
  498. package/vendor/rocksdb/java/src/main/java/org/rocksdb/UInt64AddOperator.java +0 -19
  499. package/vendor/rocksdb/java/src/main/java/org/rocksdb/VectorMemTableConfig.java +0 -46
  500. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WALRecoveryMode.java +0 -82
  501. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java +0 -203
  502. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFileType.java +0 -55
  503. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFilter.java +0 -86
  504. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalProcessingOption.java +0 -54
  505. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java +0 -394
  506. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchInterface.java +0 -283
  507. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchWithIndex.java +0 -358
  508. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBufferManager.java +0 -50
  509. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteOptions.java +0 -255
  510. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallCondition.java +0 -44
  511. package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallInfo.java +0 -75
  512. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ByteUtil.java +0 -52
  513. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/BytewiseComparator.java +0 -121
  514. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/Environment.java +0 -245
  515. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/IntComparator.java +0 -67
  516. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java +0 -88
  517. package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/SizeUnit.java +0 -16
  518. package/vendor/rocksdb/java/src/test/java/org/rocksdb/AbstractTransactionTest.java +0 -979
  519. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineOptionsTest.java +0 -297
  520. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineTest.java +0 -261
  521. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlobOptionsTest.java +0 -353
  522. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlockBasedTableConfigTest.java +0 -415
  523. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BuiltinComparatorTest.java +0 -145
  524. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java +0 -132
  525. package/vendor/rocksdb/java/src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java +0 -132
  526. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CheckPointTest.java +0 -82
  527. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ClockCacheTest.java +0 -25
  528. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java +0 -712
  529. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyTest.java +0 -562
  530. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactRangeOptionsTest.java +0 -102
  531. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionFilterFactoryTest.java +0 -61
  532. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobInfoTest.java +0 -114
  533. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobStatsTest.java +0 -196
  534. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +0 -35
  535. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsTest.java +0 -52
  536. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java +0 -80
  537. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionPriorityTest.java +0 -31
  538. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionStopStyleTest.java +0 -31
  539. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ComparatorOptionsTest.java +0 -58
  540. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionOptionsTest.java +0 -71
  541. package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionTypesTest.java +0 -25
  542. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java +0 -56
  543. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DBOptionsTest.java +0 -902
  544. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java +0 -113
  545. package/vendor/rocksdb/java/src/test/java/org/rocksdb/DirectSliceTest.java +0 -93
  546. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EnvOptionsTest.java +0 -145
  547. package/vendor/rocksdb/java/src/test/java/org/rocksdb/EventListenerTest.java +0 -725
  548. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FilterTest.java +0 -39
  549. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushOptionsTest.java +0 -31
  550. package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushTest.java +0 -49
  551. package/vendor/rocksdb/java/src/test/java/org/rocksdb/InfoLogLevelTest.java +0 -109
  552. package/vendor/rocksdb/java/src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java +0 -107
  553. package/vendor/rocksdb/java/src/test/java/org/rocksdb/KeyMayExistTest.java +0 -528
  554. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LRUCacheTest.java +0 -32
  555. package/vendor/rocksdb/java/src/test/java/org/rocksdb/LoggerTest.java +0 -235
  556. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java +0 -108
  557. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemoryUtilTest.java +0 -136
  558. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MergeTest.java +0 -465
  559. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MixedOptionsTest.java +0 -85
  560. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiColumnRegressionTest.java +0 -145
  561. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetManyKeysTest.java +0 -241
  562. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetTest.java +0 -530
  563. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java +0 -167
  564. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableDBOptionsTest.java +0 -85
  565. package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableOptionsGetSetTest.java +0 -429
  566. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeComparatorWrapperTest.java +0 -90
  567. package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeLibraryLoaderTest.java +0 -41
  568. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionDBTest.java +0 -131
  569. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java +0 -38
  570. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionTest.java +0 -446
  571. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsTest.java +0 -1488
  572. package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsUtilTest.java +0 -129
  573. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlainTableConfigTest.java +0 -89
  574. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlatformRandomHelper.java +0 -58
  575. package/vendor/rocksdb/java/src/test/java/org/rocksdb/PutMultiplePartsTest.java +0 -164
  576. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java +0 -65
  577. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOnlyTest.java +0 -222
  578. package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOptionsTest.java +0 -374
  579. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBExceptionTest.java +0 -115
  580. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBTest.java +0 -1692
  581. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksIteratorTest.java +0 -289
  582. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksMemEnvTest.java +0 -137
  583. package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksNativeLibraryResource.java +0 -18
  584. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SecondaryDBTest.java +0 -135
  585. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java +0 -80
  586. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SnapshotTest.java +0 -169
  587. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileManagerTest.java +0 -66
  588. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileReaderTest.java +0 -222
  589. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileWriterTest.java +0 -239
  590. package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstPartitionerTest.java +0 -72
  591. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java +0 -55
  592. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsTest.java +0 -168
  593. package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java +0 -19
  594. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TableFilterTest.java +0 -106
  595. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TimedEnvTest.java +0 -40
  596. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBOptionsTest.java +0 -64
  597. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBTest.java +0 -177
  598. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionLogIteratorTest.java +0 -139
  599. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionOptionsTest.java +0 -72
  600. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionTest.java +0 -488
  601. package/vendor/rocksdb/java/src/test/java/org/rocksdb/TtlDBTest.java +0 -112
  602. package/vendor/rocksdb/java/src/test/java/org/rocksdb/Types.java +0 -43
  603. package/vendor/rocksdb/java/src/test/java/org/rocksdb/VerifyChecksumsTest.java +0 -213
  604. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WALRecoveryModeTest.java +0 -22
  605. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WalFilterTest.java +0 -165
  606. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchHandlerTest.java +0 -76
  607. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java +0 -528
  608. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchThreadedTest.java +0 -101
  609. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchWithIndexTest.java +0 -1068
  610. package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteOptionsTest.java +0 -75
  611. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java +0 -21
  612. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RocksJunitRunner.java +0 -174
  613. package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/TestableEventListener.java +0 -23
  614. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ByteBufferAllocator.java +0 -16
  615. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java +0 -267
  616. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java +0 -531
  617. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +0 -190
  618. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java +0 -18
  619. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/EnvironmentTest.java +0 -304
  620. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java +0 -18
  621. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/IntComparatorTest.java +0 -266
  622. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/JNIComparatorTest.java +0 -180
  623. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java +0 -270
  624. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/SizeUnitTest.java +0 -27
  625. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/TestUtil.java +0 -72
  626. package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/WriteBatchGetter.java +0 -139
  627. package/vendor/rocksdb/java/understanding_options.md +0 -79
  628. package/vendor/rocksdb/src.mk +0 -713
  629. package/vendor/rocksdb/thirdparty.inc +0 -268
  630. package/vendor/rocksdb/tools/Dockerfile +0 -5
  631. package/vendor/rocksdb/tools/advisor/advisor/__init__.py +0 -0
  632. package/vendor/rocksdb/tools/advisor/advisor/bench_runner.py +0 -39
  633. package/vendor/rocksdb/tools/advisor/advisor/config_optimizer_example.py +0 -140
  634. package/vendor/rocksdb/tools/advisor/advisor/db_bench_runner.py +0 -237
  635. package/vendor/rocksdb/tools/advisor/advisor/db_config_optimizer.py +0 -293
  636. package/vendor/rocksdb/tools/advisor/advisor/db_log_parser.py +0 -134
  637. package/vendor/rocksdb/tools/advisor/advisor/db_options_parser.py +0 -348
  638. package/vendor/rocksdb/tools/advisor/advisor/db_stats_fetcher.py +0 -346
  639. package/vendor/rocksdb/tools/advisor/advisor/db_timeseries_parser.py +0 -203
  640. package/vendor/rocksdb/tools/advisor/advisor/ini_parser.py +0 -76
  641. package/vendor/rocksdb/tools/advisor/advisor/rule_parser.py +0 -510
  642. package/vendor/rocksdb/tools/advisor/advisor/rule_parser_example.py +0 -98
  643. package/vendor/rocksdb/tools/advisor/advisor/rules.ini +0 -214
  644. package/vendor/rocksdb/tools/advisor/test/__init__.py +0 -0
  645. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-0 +0 -30
  646. package/vendor/rocksdb/tools/advisor/test/input_files/LOG-1 +0 -25
  647. package/vendor/rocksdb/tools/advisor/test/input_files/OPTIONS-000005 +0 -49
  648. package/vendor/rocksdb/tools/advisor/test/input_files/log_stats_parser_keys_ts +0 -3
  649. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err1.ini +0 -56
  650. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err2.ini +0 -15
  651. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err3.ini +0 -15
  652. package/vendor/rocksdb/tools/advisor/test/input_files/rules_err4.ini +0 -15
  653. package/vendor/rocksdb/tools/advisor/test/input_files/test_rules.ini +0 -47
  654. package/vendor/rocksdb/tools/advisor/test/input_files/triggered_rules.ini +0 -83
  655. package/vendor/rocksdb/tools/advisor/test/test_db_bench_runner.py +0 -141
  656. package/vendor/rocksdb/tools/advisor/test/test_db_log_parser.py +0 -96
  657. package/vendor/rocksdb/tools/advisor/test/test_db_options_parser.py +0 -214
  658. package/vendor/rocksdb/tools/advisor/test/test_db_stats_fetcher.py +0 -121
  659. package/vendor/rocksdb/tools/advisor/test/test_rule_parser.py +0 -226
  660. package/vendor/rocksdb/tools/analyze_txn_stress_test.sh +0 -77
  661. package/vendor/rocksdb/tools/auto_sanity_test.sh +0 -93
  662. package/vendor/rocksdb/tools/backup_db.sh +0 -15
  663. package/vendor/rocksdb/tools/benchmark.sh +0 -1173
  664. package/vendor/rocksdb/tools/benchmark_ci.py +0 -182
  665. package/vendor/rocksdb/tools/benchmark_compare.sh +0 -342
  666. package/vendor/rocksdb/tools/benchmark_leveldb.sh +0 -187
  667. package/vendor/rocksdb/tools/block_cache_analyzer/__init__.py +0 -2
  668. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +0 -2000
  669. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +0 -156
  670. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +0 -734
  671. package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +0 -729
  672. package/vendor/rocksdb/tools/check_all_python.py +0 -22
  673. package/vendor/rocksdb/tools/check_format_compatible.sh +0 -379
  674. package/vendor/rocksdb/tools/db_crashtest.py +0 -1018
  675. package/vendor/rocksdb/tools/dbench_monitor +0 -102
  676. package/vendor/rocksdb/tools/generate_random_db.sh +0 -31
  677. package/vendor/rocksdb/tools/ingest_external_sst.sh +0 -18
  678. package/vendor/rocksdb/tools/ldb_test.py +0 -955
  679. package/vendor/rocksdb/tools/pflag +0 -217
  680. package/vendor/rocksdb/tools/regression_test.sh +0 -525
  681. package/vendor/rocksdb/tools/restore_db.sh +0 -15
  682. package/vendor/rocksdb/tools/rocksdb_dump_test.sh +0 -9
  683. package/vendor/rocksdb/tools/run_blob_bench.sh +0 -223
  684. package/vendor/rocksdb/tools/run_flash_bench.sh +0 -359
  685. package/vendor/rocksdb/tools/run_leveldb.sh +0 -175
  686. package/vendor/rocksdb/tools/sample-dump.dmp +0 -0
  687. package/vendor/rocksdb/tools/verify_random_db.sh +0 -41
  688. package/vendor/rocksdb/tools/write_external_sst.sh +0 -26
  689. package/vendor/rocksdb/tools/write_stress_runner.py +0 -83
  690. package/vendor/rocksdb/util/crc32c_ppc.c +0 -94
  691. 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.