@nxtedition/rocksdb 6.0.1 → 6.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 (310) hide show
  1. package/BUILDING.md +2 -2
  2. package/binding.cc +14 -17
  3. package/deps/rocksdb/build_version.cc +4 -10
  4. package/deps/rocksdb/rocksdb/CMakeLists.txt +17 -3
  5. package/deps/rocksdb/rocksdb/Makefile +57 -86
  6. package/deps/rocksdb/rocksdb/TARGETS +4 -0
  7. package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
  8. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
  9. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
  10. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
  12. package/deps/rocksdb/rocksdb/common.mk +30 -0
  13. package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
  14. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
  15. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
  16. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
  17. package/deps/rocksdb/rocksdb/db/builder.cc +11 -4
  18. package/deps/rocksdb/rocksdb/db/c.cc +45 -0
  19. package/deps/rocksdb/rocksdb/db/c_test.c +25 -2
  20. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -3
  21. package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
  22. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +25 -10
  28. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +6 -0
  29. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
  30. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +69 -14
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +21 -21
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +135 -32
  36. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  37. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  38. package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
  39. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
  40. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +2 -2
  41. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
  42. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
  43. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
  44. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
  45. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
  46. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
  47. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +9 -8
  48. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +1 -1
  49. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +5 -4
  50. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
  51. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
  52. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +9 -3
  53. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +6 -3
  54. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
  55. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
  56. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
  57. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
  58. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
  59. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
  60. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
  61. package/deps/rocksdb/rocksdb/db/db_options_test.cc +12 -12
  62. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
  63. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
  64. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +15 -14
  65. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +6 -6
  66. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
  67. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
  68. package/deps/rocksdb/rocksdb/db/db_test.cc +44 -42
  69. package/deps/rocksdb/rocksdb/db/db_test2.cc +23 -19
  70. package/deps/rocksdb/rocksdb/db/db_test_util.cc +95 -17
  71. package/deps/rocksdb/rocksdb/db/db_test_util.h +48 -0
  72. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
  73. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
  74. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +4 -4
  75. package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
  76. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
  77. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
  78. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
  79. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +34 -12
  80. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +3 -0
  81. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
  82. package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
  83. package/deps/rocksdb/rocksdb/db/flush_job.cc +18 -4
  84. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
  85. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
  86. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  87. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +3 -0
  88. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
  89. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
  90. package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
  91. package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
  92. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
  93. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
  94. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
  95. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
  96. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
  97. package/deps/rocksdb/rocksdb/db/repair.cc +1 -1
  98. package/deps/rocksdb/rocksdb/db/repair_test.cc +5 -5
  99. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
  100. package/deps/rocksdb/rocksdb/db/table_cache.cc +2 -4
  101. package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
  102. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +3 -5
  103. package/deps/rocksdb/rocksdb/db/version_edit.cc +2 -2
  104. package/deps/rocksdb/rocksdb/db/version_set.cc +2 -2
  105. package/deps/rocksdb/rocksdb/db/version_set.h +3 -3
  106. package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
  107. package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
  108. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
  109. package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
  110. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
  111. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
  112. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
  113. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +7 -6
  114. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
  115. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
  116. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +31 -6
  117. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
  118. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
  119. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
  120. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +359 -275
  121. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
  122. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
  123. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
  124. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
  125. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
  126. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
  127. package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
  128. package/deps/rocksdb/rocksdb/env/env.cc +0 -60
  129. package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
  130. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  131. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
  132. package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
  133. package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
  134. package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
  135. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
  136. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +1 -1
  137. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  138. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
  139. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
  140. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +69 -45
  141. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +3 -1
  142. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +35 -0
  143. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
  144. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
  145. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  146. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
  147. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
  148. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  149. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
  150. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
  151. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +28 -3
  152. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
  153. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
  154. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
  155. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
  156. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
  157. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
  158. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +189 -103
  159. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
  160. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  161. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
  162. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  163. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
  164. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
  165. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
  166. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
  167. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
  168. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
  169. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
  170. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
  171. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
  172. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
  173. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +2 -8
  174. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
  175. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
  176. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
  177. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
  178. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
  179. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
  180. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
  181. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
  182. package/deps/rocksdb/rocksdb/options/cf_options.cc +34 -38
  183. package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
  184. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
  185. package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
  186. package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
  187. package/deps/rocksdb/rocksdb/options/db_options.cc +38 -17
  188. package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
  189. package/deps/rocksdb/rocksdb/options/options_helper.cc +82 -39
  190. package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
  191. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -3
  192. package/deps/rocksdb/rocksdb/options/options_test.cc +115 -59
  193. package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
  194. package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
  195. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  196. package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
  197. package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
  198. package/deps/rocksdb/rocksdb/src.mk +2 -0
  199. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  200. package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
  201. package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
  202. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
  203. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +14 -4
  204. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
  205. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +1 -1
  206. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +85 -41
  207. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +42 -72
  208. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +7 -5
  209. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
  210. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  211. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
  212. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
  213. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
  214. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -1
  215. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
  216. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +2 -1
  217. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +6 -3
  218. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
  219. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -5
  220. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
  221. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
  222. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
  223. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
  224. package/deps/rocksdb/rocksdb/table/format.cc +22 -20
  225. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
  226. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  227. package/deps/rocksdb/rocksdb/table/multiget_context.h +14 -11
  228. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
  229. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
  230. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
  231. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
  232. package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
  233. package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
  234. package/deps/rocksdb/rocksdb/table/unique_id.cc +57 -25
  235. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +34 -4
  236. package/deps/rocksdb/rocksdb/test_util/testutil.cc +1 -1
  237. package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
  238. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
  239. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
  240. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
  241. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  242. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +254 -98
  243. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
  244. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
  245. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
  246. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
  247. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
  248. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  249. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +17 -3
  250. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
  251. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
  252. package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
  253. package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
  254. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
  255. package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
  256. package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
  257. package/deps/rocksdb/rocksdb/util/compression.h +7 -7
  258. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
  259. package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
  260. package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
  261. package/deps/rocksdb/rocksdb/util/heap.h +5 -3
  262. package/deps/rocksdb/rocksdb/util/random.cc +1 -5
  263. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
  264. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
  265. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
  266. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
  267. package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
  268. package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
  269. package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
  270. package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
  271. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
  272. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
  273. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
  274. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
  275. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
  276. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
  277. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
  278. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  279. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
  280. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
  281. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
  282. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
  283. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
  284. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
  285. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
  286. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
  287. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
  288. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
  289. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
  290. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
  291. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
  292. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
  293. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
  294. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
  295. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
  296. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
  297. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
  298. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
  299. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
  300. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
  301. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
  302. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
  303. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
  304. package/deps/rocksdb/rocksdb.gyp +8 -2
  305. package/package.json +1 -1
  306. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  307. package/prebuilds/linux-x64/node.napi.node +0 -0
  308. package/deps/rocksdb/rocksdb/python.mk +0 -9
  309. package/prebuilds/darwin-x64/node.napi.node +0 -0
  310. package/prebuilds/linux-arm64/node.napi.node +0 -0
@@ -766,7 +766,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
766
766
  internal_iter->AddMerge("b", "merge_1");
767
767
  internal_iter->AddMerge("a", "merge_2");
768
768
  for (size_t k = 0; k < 200; ++k) {
769
- internal_iter->AddPut("c", ToString(k));
769
+ internal_iter->AddPut("c", std::to_string(k));
770
770
  }
771
771
  internal_iter->Finish();
772
772
 
@@ -780,7 +780,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
780
780
  ASSERT_TRUE(db_iter->Valid());
781
781
 
782
782
  ASSERT_EQ(db_iter->key().ToString(), "c");
783
- ASSERT_EQ(db_iter->value().ToString(), ToString(i));
783
+ ASSERT_EQ(db_iter->value().ToString(), std::to_string(i));
784
784
  db_iter->Prev();
785
785
  ASSERT_TRUE(db_iter->Valid());
786
786
 
@@ -925,11 +925,11 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
925
925
  internal_iter->AddMerge("b", "merge_1");
926
926
  internal_iter->AddMerge("a", "merge_2");
927
927
  for (size_t k = 0; k < 200; ++k) {
928
- internal_iter->AddPut("d", ToString(k));
928
+ internal_iter->AddPut("d", std::to_string(k));
929
929
  }
930
930
 
931
931
  for (size_t k = 0; k < 200; ++k) {
932
- internal_iter->AddPut("c", ToString(k));
932
+ internal_iter->AddPut("c", std::to_string(k));
933
933
  }
934
934
  internal_iter->Finish();
935
935
 
@@ -942,7 +942,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
942
942
  ASSERT_TRUE(db_iter->Valid());
943
943
 
944
944
  ASSERT_EQ(db_iter->key().ToString(), "d");
945
- ASSERT_EQ(db_iter->value().ToString(), ToString(i));
945
+ ASSERT_EQ(db_iter->value().ToString(), std::to_string(i));
946
946
  db_iter->Prev();
947
947
  ASSERT_TRUE(db_iter->Valid());
948
948
 
@@ -966,7 +966,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
966
966
  internal_iter->AddMerge("b", "b");
967
967
  internal_iter->AddMerge("a", "a");
968
968
  for (size_t k = 0; k < 200; ++k) {
969
- internal_iter->AddMerge("c", ToString(k));
969
+ internal_iter->AddMerge("c", std::to_string(k));
970
970
  }
971
971
  internal_iter->Finish();
972
972
 
@@ -981,7 +981,7 @@ TEST_F(DBIteratorTest, DBIteratorUseSkip) {
981
981
  ASSERT_EQ(db_iter->key().ToString(), "c");
982
982
  std::string merge_result = "0";
983
983
  for (size_t j = 1; j <= i; ++j) {
984
- merge_result += "," + ToString(j);
984
+ merge_result += "," + std::to_string(j);
985
985
  }
986
986
  ASSERT_EQ(db_iter->value().ToString(), merge_result);
987
987
 
@@ -3156,7 +3156,7 @@ TEST_F(DBIteratorTest, ReverseToForwardWithDisappearingKeys) {
3156
3156
  internal_iter->AddPut("a", "A");
3157
3157
  internal_iter->AddPut("b", "B");
3158
3158
  for (int i = 0; i < 100; ++i) {
3159
- internal_iter->AddPut("c" + ToString(i), "");
3159
+ internal_iter->AddPut("c" + std::to_string(i), "");
3160
3160
  }
3161
3161
  internal_iter->Finish();
3162
3162
 
@@ -111,9 +111,12 @@ TEST_P(DBIteratorTest, PersistedTierOnIterator) {
111
111
  TEST_P(DBIteratorTest, NonBlockingIteration) {
112
112
  do {
113
113
  ReadOptions non_blocking_opts, regular_opts;
114
- Options options = CurrentOptions();
114
+ anon::OptionsOverride options_override;
115
+ options_override.full_block_cache = true;
116
+ Options options = CurrentOptions(options_override);
115
117
  options.statistics = ROCKSDB_NAMESPACE::CreateDBStatistics();
116
118
  non_blocking_opts.read_tier = kBlockCacheTier;
119
+
117
120
  CreateAndReopenWithCF({"pikachu"}, options);
118
121
  // write one kv to the database.
119
122
  ASSERT_OK(Put(1, "a", "b"));
@@ -3157,7 +3160,7 @@ TEST_F(DBIteratorWithReadCallbackTest, ReadCallback) {
3157
3160
  uint64_t num_versions =
3158
3161
  CurrentOptions().max_sequential_skip_in_iterations + 10;
3159
3162
  for (uint64_t i = 0; i < num_versions; i++) {
3160
- ASSERT_OK(Put("bar", ToString(i)));
3163
+ ASSERT_OK(Put("bar", std::to_string(i)));
3161
3164
  }
3162
3165
  SequenceNumber seq3 = db_->GetLatestSequenceNumber();
3163
3166
  TestReadCallback callback2(seq3);
@@ -3186,7 +3189,7 @@ TEST_F(DBIteratorWithReadCallbackTest, ReadCallback) {
3186
3189
  ASSERT_TRUE(iter->Valid());
3187
3190
  ASSERT_OK(iter->status());
3188
3191
  ASSERT_EQ("bar", iter->key());
3189
- ASSERT_EQ(ToString(num_versions - 1), iter->value());
3192
+ ASSERT_EQ(std::to_string(num_versions - 1), iter->value());
3190
3193
 
3191
3194
  delete iter;
3192
3195
  }
@@ -79,7 +79,7 @@ class DbKvChecksumTest
79
79
 
80
80
  void CorruptNextByteCallBack(void* arg) {
81
81
  Slice encoded = *static_cast<Slice*>(arg);
82
- if (entry_len_ == port::kMaxSizet) {
82
+ if (entry_len_ == std::numeric_limits<size_t>::max()) {
83
83
  // We learn the entry size on the first attempt
84
84
  entry_len_ = encoded.size();
85
85
  }
@@ -96,7 +96,7 @@ class DbKvChecksumTest
96
96
  WriteBatchOpType op_type_;
97
97
  char corrupt_byte_addend_;
98
98
  size_t corrupt_byte_offset_ = 0;
99
- size_t entry_len_ = port::kMaxSizet;
99
+ size_t entry_len_ = std::numeric_limits<size_t>::max();
100
100
  };
101
101
 
102
102
  std::string GetTestNameSuffix(
@@ -187,7 +187,7 @@ TEST_F(DBTestXactLogIterator, TransactionLogIteratorCorruptedLog) {
187
187
  DestroyAndReopen(options);
188
188
 
189
189
  for (int i = 0; i < 1024; i++) {
190
- ASSERT_OK(Put("key" + ToString(i), DummyString(10)));
190
+ ASSERT_OK(Put("key" + std::to_string(i), DummyString(10)));
191
191
  }
192
192
 
193
193
  ASSERT_OK(Flush());
@@ -263,20 +263,20 @@ TEST_F(DBTestXactLogIterator, TransactionLogIteratorBlobs) {
263
263
  struct Handler : public WriteBatch::Handler {
264
264
  std::string seen;
265
265
  Status PutCF(uint32_t cf, const Slice& key, const Slice& value) override {
266
- seen += "Put(" + ToString(cf) + ", " + key.ToString() + ", " +
267
- ToString(value.size()) + ")";
266
+ seen += "Put(" + std::to_string(cf) + ", " + key.ToString() + ", " +
267
+ std::to_string(value.size()) + ")";
268
268
  return Status::OK();
269
269
  }
270
270
  Status MergeCF(uint32_t cf, const Slice& key, const Slice& value) override {
271
- seen += "Merge(" + ToString(cf) + ", " + key.ToString() + ", " +
272
- ToString(value.size()) + ")";
271
+ seen += "Merge(" + std::to_string(cf) + ", " + key.ToString() + ", " +
272
+ std::to_string(value.size()) + ")";
273
273
  return Status::OK();
274
274
  }
275
275
  void LogData(const Slice& blob) override {
276
276
  seen += "LogData(" + blob.ToString() + ")";
277
277
  }
278
278
  Status DeleteCF(uint32_t cf, const Slice& key) override {
279
- seen += "Delete(" + ToString(cf) + ", " + key.ToString() + ")";
279
+ seen += "Delete(" + std::to_string(cf) + ", " + key.ToString() + ")";
280
280
  return Status::OK();
281
281
  }
282
282
  } handler;
@@ -97,7 +97,7 @@ class MockMemTableRepFactory : public MemTableRepFactory {
97
97
 
98
98
  private:
99
99
  MockMemTableRep* mock_rep_;
100
- // workaround since there's no port::kMaxUint32 yet.
100
+ // workaround since there's no std::numeric_limits<uint32_t>::max() yet.
101
101
  uint32_t last_column_family_id_ = static_cast<uint32_t>(-1);
102
102
  };
103
103
 
@@ -171,7 +171,7 @@ TEST_F(DBMemTableTest, DuplicateSeq) {
171
171
  if (!insert_dup) {
172
172
  seq++;
173
173
  }
174
- Status s = mem->Add(seq, kTypeValue, "foo", "value" + ToString(seq),
174
+ Status s = mem->Add(seq, kTypeValue, "foo", "value" + std::to_string(seq),
175
175
  nullptr /* kv_prot_info */);
176
176
  if (insert_dup) {
177
177
  ASSERT_TRUE(s.IsTryAgain());
@@ -424,8 +424,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
424
424
  ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing();
425
425
  int i = 0;
426
426
  for (; i < 3; i++) {
427
- ASSERT_OK(Put("foo", ToString(i)));
428
- ASSERT_OK(Put("bar", ToString(i)));
427
+ ASSERT_OK(Put("foo", std::to_string(i)));
428
+ ASSERT_OK(Put("bar", std::to_string(i)));
429
429
  ASSERT_OK(Flush());
430
430
  }
431
431
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
@@ -442,8 +442,8 @@ TEST_F(DBOptionsTest, WritableFileMaxBufferSize) {
442
442
  dbfull()->GetDBOptions().writable_file_max_buffer_size);
443
443
  i = 0;
444
444
  for (; i < 3; i++) {
445
- ASSERT_OK(Put("foo", ToString(i)));
446
- ASSERT_OK(Put("bar", ToString(i)));
445
+ ASSERT_OK(Put("foo", std::to_string(i)));
446
+ ASSERT_OK(Put("bar", std::to_string(i)));
447
447
  ASSERT_OK(Flush());
448
448
  }
449
449
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
@@ -573,8 +573,8 @@ TEST_F(DBOptionsTest, SetOptionsMayTriggerCompaction) {
573
573
  Reopen(options);
574
574
  for (int i = 0; i < 3; i++) {
575
575
  // Need to insert two keys to avoid trivial move.
576
- ASSERT_OK(Put("foo", ToString(i)));
577
- ASSERT_OK(Put("bar", ToString(i)));
576
+ ASSERT_OK(Put("foo", std::to_string(i)));
577
+ ASSERT_OK(Put("bar", std::to_string(i)));
578
578
  ASSERT_OK(Flush());
579
579
  }
580
580
  ASSERT_EQ("3", FilesPerLevel());
@@ -717,8 +717,8 @@ TEST_F(DBOptionsTest, SetStatsDumpPeriodSec) {
717
717
 
718
718
  for (int i = 0; i < 20; i++) {
719
719
  unsigned int num = rand() % 5000 + 1;
720
- ASSERT_OK(
721
- dbfull()->SetDBOptions({{"stats_dump_period_sec", ToString(num)}}));
720
+ ASSERT_OK(dbfull()->SetDBOptions(
721
+ {{"stats_dump_period_sec", std::to_string(num)}}));
722
722
  ASSERT_EQ(num, dbfull()->GetDBOptions().stats_dump_period_sec);
723
723
  }
724
724
  Close();
@@ -909,7 +909,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
909
909
  for (int i = 0; i < 10; i++) {
910
910
  // Generate and flush a file about 10KB.
911
911
  for (int j = 0; j < 10; j++) {
912
- ASSERT_OK(Put(ToString(i * 20 + j), rnd.RandomString(980)));
912
+ ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
913
913
  }
914
914
  ASSERT_OK(Flush());
915
915
  }
@@ -940,7 +940,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
940
940
  for (int i = 0; i < 10; i++) {
941
941
  // Generate and flush a file about 10KB.
942
942
  for (int j = 0; j < 10; j++) {
943
- ASSERT_OK(Put(ToString(i * 20 + j), rnd.RandomString(980)));
943
+ ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
944
944
  }
945
945
  ASSERT_OK(Flush());
946
946
  }
@@ -972,7 +972,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) {
972
972
  for (int i = 0; i < 10; i++) {
973
973
  // Generate and flush a file about 10KB.
974
974
  for (int j = 0; j < 10; j++) {
975
- ASSERT_OK(Put(ToString(i * 20 + j), rnd.RandomString(980)));
975
+ ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
976
976
  }
977
977
  ASSERT_OK(Flush());
978
978
  }
@@ -1036,7 +1036,7 @@ TEST_F(DBOptionsTest, FIFOTtlBackwardCompatible) {
1036
1036
  for (int i = 0; i < 10; i++) {
1037
1037
  // Generate and flush a file about 10KB.
1038
1038
  for (int j = 0; j < 10; j++) {
1039
- ASSERT_OK(Put(ToString(i * 20 + j), rnd.RandomString(980)));
1039
+ ASSERT_OK(Put(std::to_string(i * 20 + j), rnd.RandomString(980)));
1040
1040
  }
1041
1041
  ASSERT_OK(Flush());
1042
1042
  }
@@ -593,9 +593,9 @@ TEST_F(DBPropertiesTest, AggregatedTablePropertiesAtLevel) {
593
593
  ASSERT_OK(db_->CompactRange(CompactRangeOptions(), nullptr, nullptr));
594
594
  ResetTableProperties(&sum_tp);
595
595
  for (int level = 0; level < kMaxLevel; ++level) {
596
- db_->GetProperty(
597
- DB::Properties::kAggregatedTablePropertiesAtLevel + ToString(level),
598
- &level_tp_strings[level]);
596
+ db_->GetProperty(DB::Properties::kAggregatedTablePropertiesAtLevel +
597
+ std::to_string(level),
598
+ &level_tp_strings[level]);
599
599
  ParseTablePropertiesString(level_tp_strings[level], &level_tps[level]);
600
600
  sum_tp.data_size += level_tps[level].data_size;
601
601
  sum_tp.index_size += level_tps[level].index_size;
@@ -1091,7 +1091,7 @@ TEST_F(DBPropertiesTest, EstimateCompressionRatio) {
1091
1091
  for (int j = 0; j < kNumEntriesPerFile; ++j) {
1092
1092
  // Put common data ("key") at end to prevent delta encoding from
1093
1093
  // compressing the key effectively
1094
- std::string key = ToString(i) + ToString(j) + "key";
1094
+ std::string key = std::to_string(i) + std::to_string(j) + "key";
1095
1095
  ASSERT_OK(dbfull()->Put(WriteOptions(), key, kVal));
1096
1096
  }
1097
1097
  ASSERT_OK(Flush());
@@ -1185,7 +1185,7 @@ class CountingDeleteTabPropCollector : public TablePropertiesCollector {
1185
1185
 
1186
1186
  Status Finish(UserCollectedProperties* properties) override {
1187
1187
  *properties =
1188
- UserCollectedProperties{{"num_delete", ToString(num_deletes_)}};
1188
+ UserCollectedProperties{{"num_delete", std::to_string(num_deletes_)}};
1189
1189
  return Status::OK();
1190
1190
  }
1191
1191
 
@@ -1215,7 +1215,7 @@ class BlockCountingTablePropertiesCollector : public TablePropertiesCollector {
1215
1215
 
1216
1216
  Status Finish(UserCollectedProperties* properties) override {
1217
1217
  (*properties)[kNumSampledBlocksPropertyName] =
1218
- ToString(num_sampled_blocks_);
1218
+ std::to_string(num_sampled_blocks_);
1219
1219
  return Status::OK();
1220
1220
  }
1221
1221
 
@@ -1235,7 +1235,7 @@ class BlockCountingTablePropertiesCollector : public TablePropertiesCollector {
1235
1235
 
1236
1236
  UserCollectedProperties GetReadableProperties() const override {
1237
1237
  return UserCollectedProperties{
1238
- {kNumSampledBlocksPropertyName, ToString(num_sampled_blocks_)},
1238
+ {kNumSampledBlocksPropertyName, std::to_string(num_sampled_blocks_)},
1239
1239
  };
1240
1240
  }
1241
1241
 
@@ -1272,7 +1272,8 @@ TEST_F(DBPropertiesTest, GetUserDefinedTableProperties) {
1272
1272
  // Create 4 tables
1273
1273
  for (int table = 0; table < 4; ++table) {
1274
1274
  for (int i = 0; i < 10 + table; ++i) {
1275
- ASSERT_OK(db_->Put(WriteOptions(), ToString(table * 100 + i), "val"));
1275
+ ASSERT_OK(
1276
+ db_->Put(WriteOptions(), std::to_string(table * 100 + i), "val"));
1276
1277
  }
1277
1278
  ASSERT_OK(db_->Flush(FlushOptions()));
1278
1279
  }
@@ -1312,7 +1313,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
1312
1313
  // Create 2 files
1313
1314
  for (int table = 0; table < 2; ++table) {
1314
1315
  for (int i = 0; i < 10 + table; ++i) {
1315
- ASSERT_OK(Put(1, ToString(table * 100 + i), "val"));
1316
+ ASSERT_OK(Put(1, std::to_string(table * 100 + i), "val"));
1316
1317
  }
1317
1318
  ASSERT_OK(Flush(1));
1318
1319
  }
@@ -1322,7 +1323,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
1322
1323
  // Trigger automatic compactions.
1323
1324
  for (int table = 0; table < 3; ++table) {
1324
1325
  for (int i = 0; i < 10 + table; ++i) {
1325
- ASSERT_OK(Put(1, ToString(table * 100 + i), "val"));
1326
+ ASSERT_OK(Put(1, std::to_string(table * 100 + i), "val"));
1326
1327
  }
1327
1328
  ASSERT_OK(Flush(1));
1328
1329
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
@@ -1339,7 +1340,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
1339
1340
  // Create 4 tables in default column family
1340
1341
  for (int table = 0; table < 2; ++table) {
1341
1342
  for (int i = 0; i < 10 + table; ++i) {
1342
- ASSERT_OK(Put(ToString(table * 100 + i), "val"));
1343
+ ASSERT_OK(Put(std::to_string(table * 100 + i), "val"));
1343
1344
  }
1344
1345
  ASSERT_OK(Flush());
1345
1346
  }
@@ -1349,7 +1350,7 @@ TEST_F(DBPropertiesTest, UserDefinedTablePropertiesContext) {
1349
1350
  // Trigger automatic compactions.
1350
1351
  for (int table = 0; table < 3; ++table) {
1351
1352
  for (int i = 0; i < 10 + table; ++i) {
1352
- ASSERT_OK(Put(ToString(table * 100 + i), "val"));
1353
+ ASSERT_OK(Put(std::to_string(table * 100 + i), "val"));
1353
1354
  }
1354
1355
  ASSERT_OK(Flush());
1355
1356
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
@@ -1545,7 +1546,7 @@ TEST_F(DBPropertiesTest, BlockAddForCompressionSampling) {
1545
1546
  user_props.end());
1546
1547
  ASSERT_EQ(user_props.at(BlockCountingTablePropertiesCollector::
1547
1548
  kNumSampledBlocksPropertyName),
1548
- ToString(sample_for_compression ? 1 : 0));
1549
+ std::to_string(sample_for_compression ? 1 : 0));
1549
1550
  }
1550
1551
  }
1551
1552
  }
@@ -1742,11 +1743,11 @@ TEST_F(DBPropertiesTest, SstFilesSize) {
1742
1743
  Reopen(options);
1743
1744
 
1744
1745
  for (int i = 0; i < 10; i++) {
1745
- ASSERT_OK(Put("key" + ToString(i), std::string(1000, 'v')));
1746
+ ASSERT_OK(Put("key" + std::to_string(i), std::string(1000, 'v')));
1746
1747
  }
1747
1748
  ASSERT_OK(Flush());
1748
1749
  for (int i = 0; i < 5; i++) {
1749
- ASSERT_OK(Delete("key" + ToString(i)));
1750
+ ASSERT_OK(Delete("key" + std::to_string(i)));
1750
1751
  }
1751
1752
  ASSERT_OK(Flush());
1752
1753
  uint64_t sst_size;
@@ -190,9 +190,10 @@ TEST_F(DBRangeDelTest, MaxCompactionBytesCutsOutputFiles) {
190
190
  ASSERT_EQ(0, NumTableFilesAtLevel(0));
191
191
  ASSERT_EQ(NumTableFilesAtLevel(2), 2);
192
192
 
193
- ASSERT_OK(db_->SetOptions(
194
- db_->DefaultColumnFamily(),
195
- {{"target_file_size_base", ToString(100 * opts.max_compaction_bytes)}}));
193
+ ASSERT_OK(
194
+ db_->SetOptions(db_->DefaultColumnFamily(),
195
+ {{"target_file_size_base",
196
+ std::to_string(100 * opts.max_compaction_bytes)}}));
196
197
 
197
198
  // It spans the whole key-range, thus will be included in all output files
198
199
  ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(),
@@ -500,7 +501,8 @@ TEST_F(DBRangeDelTest, ValidUniversalSubcompactionBoundaries) {
500
501
  1 /* input_level */, 2 /* output_level */, CompactRangeOptions(),
501
502
  nullptr /* begin */, nullptr /* end */, true /* exclusive */,
502
503
  true /* disallow_trivial_move */,
503
- port::kMaxUint64 /* max_file_num_to_ignore */, "" /*trim_ts*/));
504
+ std::numeric_limits<uint64_t>::max() /* max_file_num_to_ignore */,
505
+ "" /*trim_ts*/));
504
506
  }
505
507
  #endif // ROCKSDB_LITE
506
508
 
@@ -116,9 +116,8 @@ TEST_P(DBRateLimiterOnReadTest, Get) {
116
116
  }
117
117
  Init();
118
118
 
119
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
120
-
121
- int expected = 0;
119
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
120
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
122
121
  for (int i = 0; i < kNumFiles; ++i) {
123
122
  {
124
123
  std::string value;
@@ -146,7 +145,8 @@ TEST_P(DBRateLimiterOnReadTest, NewMultiGet) {
146
145
  }
147
146
  Init();
148
147
 
149
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
148
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
149
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
150
150
 
151
151
  const int kNumKeys = kNumFiles * kNumKeysPerFile;
152
152
  {
@@ -166,7 +166,7 @@ TEST_P(DBRateLimiterOnReadTest, NewMultiGet) {
166
166
  ASSERT_TRUE(statuses[i].IsNotSupported());
167
167
  }
168
168
  }
169
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
169
+ ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
170
170
  }
171
171
 
172
172
  TEST_P(DBRateLimiterOnReadTest, OldMultiGet) {
@@ -177,10 +177,10 @@ TEST_P(DBRateLimiterOnReadTest, OldMultiGet) {
177
177
  }
178
178
  Init();
179
179
 
180
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
180
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
181
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
181
182
 
182
183
  const int kNumKeys = kNumFiles * kNumKeysPerFile;
183
- int expected = 0;
184
184
  {
185
185
  std::vector<std::string> key_bufs;
186
186
  key_bufs.reserve(kNumKeys);
@@ -207,10 +207,10 @@ TEST_P(DBRateLimiterOnReadTest, Iterator) {
207
207
  }
208
208
  Init();
209
209
 
210
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
211
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
210
212
  std::unique_ptr<Iterator> iter(db_->NewIterator(GetReadOptions()));
211
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
212
213
 
213
- int expected = 0;
214
214
  for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
215
215
  ++expected;
216
216
  ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
@@ -236,12 +236,12 @@ TEST_P(DBRateLimiterOnReadTest, VerifyChecksum) {
236
236
  return;
237
237
  }
238
238
  Init();
239
-
240
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
239
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
240
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
241
241
 
242
242
  ASSERT_OK(db_->VerifyChecksum(GetReadOptions()));
243
243
  // The files are tiny so there should have just been one read per file.
244
- int expected = kNumFiles;
244
+ expected += kNumFiles;
245
245
  ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
246
246
  }
247
247
 
@@ -251,11 +251,12 @@ TEST_P(DBRateLimiterOnReadTest, VerifyFileChecksums) {
251
251
  }
252
252
  Init();
253
253
 
254
- ASSERT_EQ(0, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
254
+ // In Init(), compaction may request tokens for `Env::IO_USER`.
255
+ int64_t expected = options_.rate_limiter->GetTotalRequests(Env::IO_USER);
255
256
 
256
257
  ASSERT_OK(db_->VerifyFileChecksums(GetReadOptions()));
257
258
  // The files are tiny so there should have just been one read per file.
258
- int expected = kNumFiles;
259
+ expected += kNumFiles;
259
260
  ASSERT_EQ(expected, options_.rate_limiter->GetTotalRequests(Env::IO_USER));
260
261
  }
261
262
 
@@ -212,20 +212,20 @@ TEST_F(DBSecondaryTest, InternalCompactionMultiLevels) {
212
212
  const int kRangeL2 = 10;
213
213
  const int kRangeL1 = 30;
214
214
  for (int i = 0; i < 10; i++) {
215
- ASSERT_OK(Put(Key(i * kRangeL2), "value" + ToString(i)));
216
- ASSERT_OK(Put(Key((i + 1) * kRangeL2 - 1), "value" + ToString(i)));
215
+ ASSERT_OK(Put(Key(i * kRangeL2), "value" + std::to_string(i)));
216
+ ASSERT_OK(Put(Key((i + 1) * kRangeL2 - 1), "value" + std::to_string(i)));
217
217
  ASSERT_OK(Flush());
218
218
  }
219
219
  MoveFilesToLevel(2);
220
220
  for (int i = 0; i < 5; i++) {
221
- ASSERT_OK(Put(Key(i * kRangeL1), "value" + ToString(i)));
222
- ASSERT_OK(Put(Key((i + 1) * kRangeL1 - 1), "value" + ToString(i)));
221
+ ASSERT_OK(Put(Key(i * kRangeL1), "value" + std::to_string(i)));
222
+ ASSERT_OK(Put(Key((i + 1) * kRangeL1 - 1), "value" + std::to_string(i)));
223
223
  ASSERT_OK(Flush());
224
224
  }
225
225
  MoveFilesToLevel(1);
226
226
  for (int i = 0; i < 4; i++) {
227
- ASSERT_OK(Put(Key(i * 30), "value" + ToString(i)));
228
- ASSERT_OK(Put(Key(i * 30 + 50), "value" + ToString(i)));
227
+ ASSERT_OK(Put(Key(i * 30), "value" + std::to_string(i)));
228
+ ASSERT_OK(Put(Key(i * 30 + 50), "value" + std::to_string(i)));
229
229
  ASSERT_OK(Flush());
230
230
  }
231
231
 
@@ -280,6 +280,58 @@ TEST_F(DBSSTTest, DeleteObsoleteFilesPendingOutputs) {
280
280
  listener->VerifyMatchedCount(1);
281
281
  }
282
282
 
283
+ // Test that producing an empty .sst file does not write it out to
284
+ // disk, and that the DeleteFile() env method is not called for
285
+ // removing the non-existing file later.
286
+ TEST_F(DBSSTTest, DeleteFileNotCalledForNotCreatedSSTFile) {
287
+ Options options = CurrentOptions();
288
+ options.env = env_;
289
+
290
+ OnFileDeletionListener* listener = new OnFileDeletionListener();
291
+ options.listeners.emplace_back(listener);
292
+
293
+ Reopen(options);
294
+
295
+ // Flush the empty database.
296
+ ASSERT_OK(Flush());
297
+ ASSERT_EQ("", FilesPerLevel(0));
298
+
299
+ // We expect no .sst files.
300
+ std::vector<LiveFileMetaData> metadata;
301
+ db_->GetLiveFilesMetaData(&metadata);
302
+ ASSERT_EQ(metadata.size(), 0U);
303
+
304
+ // We expect no file deletions.
305
+ listener->VerifyMatchedCount(0);
306
+ }
307
+
308
+ // Test that producing a non-empty .sst file does write it out to
309
+ // disk, and that the DeleteFile() env method is not called for removing
310
+ // the file later.
311
+ TEST_F(DBSSTTest, DeleteFileNotCalledForCreatedSSTFile) {
312
+ Options options = CurrentOptions();
313
+ options.env = env_;
314
+
315
+ OnFileDeletionListener* listener = new OnFileDeletionListener();
316
+ options.listeners.emplace_back(listener);
317
+
318
+ Reopen(options);
319
+
320
+ ASSERT_OK(Put("pika", "choo"));
321
+
322
+ // Flush the non-empty database.
323
+ ASSERT_OK(Flush());
324
+ ASSERT_EQ("1", FilesPerLevel(0));
325
+
326
+ // We expect 1 .sst files.
327
+ std::vector<LiveFileMetaData> metadata;
328
+ db_->GetLiveFilesMetaData(&metadata);
329
+ ASSERT_EQ(metadata.size(), 1U);
330
+
331
+ // We expect no file deletions.
332
+ listener->VerifyMatchedCount(0);
333
+ }
334
+
283
335
  TEST_F(DBSSTTest, DBWithSstFileManager) {
284
336
  std::shared_ptr<SstFileManager> sst_file_manager(NewSstFileManager(env_));
285
337
  auto sfm = static_cast<SstFileManagerImpl*>(sst_file_manager.get());
@@ -947,7 +999,7 @@ TEST_F(DBSSTTest, DeleteSchedulerMultipleDBPaths) {
947
999
 
948
1000
  // Create 4 files in L0
949
1001
  for (int i = 0; i < 4; i++) {
950
- ASSERT_OK(Put("Key" + ToString(i), DummyString(1024, 'A'), wo));
1002
+ ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'A'), wo));
951
1003
  ASSERT_OK(Flush());
952
1004
  }
953
1005
  // We created 4 sst files in L0
@@ -963,7 +1015,7 @@ TEST_F(DBSSTTest, DeleteSchedulerMultipleDBPaths) {
963
1015
 
964
1016
  // Create 4 files in L0
965
1017
  for (int i = 4; i < 8; i++) {
966
- ASSERT_OK(Put("Key" + ToString(i), DummyString(1024, 'B'), wo));
1018
+ ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'B'), wo));
967
1019
  ASSERT_OK(Flush());
968
1020
  }
969
1021
  ASSERT_EQ("4,1", FilesPerLevel(0));
@@ -1009,7 +1061,7 @@ TEST_F(DBSSTTest, DestroyDBWithRateLimitedDelete) {
1009
1061
 
1010
1062
  // Create 4 files in L0
1011
1063
  for (int i = 0; i < 4; i++) {
1012
- ASSERT_OK(Put("Key" + ToString(i), DummyString(1024, 'A')));
1064
+ ASSERT_OK(Put("Key" + std::to_string(i), DummyString(1024, 'A')));
1013
1065
  ASSERT_OK(Flush());
1014
1066
  }
1015
1067
  // We created 4 sst files in L0
@@ -1396,7 +1448,9 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFiles) {
1396
1448
  }
1397
1449
 
1398
1450
  TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
1399
- for (bool reserve_table_builder_memory : {true, false}) {
1451
+ for (CacheEntryRoleOptions::Decision charge_table_reader :
1452
+ {CacheEntryRoleOptions::Decision::kEnabled,
1453
+ CacheEntryRoleOptions::Decision::kDisabled}) {
1400
1454
  // Open DB with infinite max open files
1401
1455
  // - First iteration use 1 thread to open files
1402
1456
  // - Second iteration use 5 threads to open files
@@ -1436,7 +1490,9 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
1436
1490
  }
1437
1491
  Close();
1438
1492
 
1439
- table_options.reserve_table_reader_memory = reserve_table_builder_memory;
1493
+ table_options.cache_usage_options.options_overrides.insert(
1494
+ {CacheEntryRole::kBlockBasedTableReader,
1495
+ {/*.charged = */ charge_table_reader}});
1440
1496
  table_options.block_cache =
1441
1497
  NewLRUCache(1024 /* capacity */, 0 /* num_shard_bits */,
1442
1498
  true /* strict_capacity_limit */);
@@ -1445,8 +1501,13 @@ TEST_F(DBSSTTest, OpenDBWithInfiniteMaxOpenFilesSubjectToMemoryLimit) {
1445
1501
  // Reopening the DB will try to load all existing files, conditionally
1446
1502
  // subject to memory limit
1447
1503
  Status s = TryReopen(options);
1448
- if (table_options.reserve_table_reader_memory) {
1504
+
1505
+ if (charge_table_reader == CacheEntryRoleOptions::Decision::kEnabled) {
1449
1506
  EXPECT_TRUE(s.IsMemoryLimit());
1507
+ EXPECT_TRUE(s.ToString().find(
1508
+ kCacheEntryRoleToCamelString[static_cast<std::uint32_t>(
1509
+ CacheEntryRole::kBlockBasedTableReader)]) !=
1510
+ std::string::npos);
1450
1511
  EXPECT_TRUE(s.ToString().find("memory limit based on cache capacity") !=
1451
1512
  std::string::npos);
1452
1513
 
@@ -1478,7 +1539,7 @@ TEST_F(DBSSTTest, GetTotalSstFilesSize) {
1478
1539
  // Generate 5 files in L0
1479
1540
  for (int i = 0; i < 5; i++) {
1480
1541
  for (int j = 0; j < 10; j++) {
1481
- std::string val = "val_file_" + ToString(i);
1542
+ std::string val = "val_file_" + std::to_string(i);
1482
1543
  ASSERT_OK(Put(Key(j), val));
1483
1544
  }
1484
1545
  ASSERT_OK(Flush());