@nxtedition/rocksdb 6.0.0-alpha.0 → 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 (311) hide show
  1. package/BUILDING.md +10 -0
  2. package/binding.cc +14 -17
  3. package/binding.gyp +2 -2
  4. package/deps/rocksdb/build_version.cc +4 -10
  5. package/deps/rocksdb/rocksdb/CMakeLists.txt +17 -3
  6. package/deps/rocksdb/rocksdb/Makefile +57 -86
  7. package/deps/rocksdb/rocksdb/TARGETS +4 -0
  8. package/deps/rocksdb/rocksdb/cache/cache_test.cc +29 -17
  9. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +511 -0
  10. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +299 -0
  11. package/deps/rocksdb/rocksdb/cache/lru_cache.cc +3 -0
  12. package/deps/rocksdb/rocksdb/cache/lru_cache.h +7 -0
  13. package/deps/rocksdb/rocksdb/common.mk +30 -0
  14. package/deps/rocksdb/rocksdb/crash_test.mk +3 -3
  15. package/deps/rocksdb/rocksdb/db/arena_wrapped_db_iter.cc +1 -1
  16. package/deps/rocksdb/rocksdb/db/blob/blob_index.h +3 -3
  17. package/deps/rocksdb/rocksdb/db/blob/db_blob_index_test.cc +7 -7
  18. package/deps/rocksdb/rocksdb/db/builder.cc +11 -4
  19. package/deps/rocksdb/rocksdb/db/c.cc +45 -0
  20. package/deps/rocksdb/rocksdb/db/c_test.c +25 -2
  21. package/deps/rocksdb/rocksdb/db/column_family.cc +4 -3
  22. package/deps/rocksdb/rocksdb/db/column_family_test.cc +23 -22
  23. package/deps/rocksdb/rocksdb/db/compact_files_test.cc +11 -11
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +2 -2
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +36 -10
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +4 -1
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +3 -2
  28. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +25 -10
  29. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +6 -0
  30. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_stats_test.cc +3 -3
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +69 -14
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +7 -7
  33. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +1 -1
  34. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +21 -21
  35. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -1
  36. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_test.cc +135 -32
  37. package/deps/rocksdb/rocksdb/db/comparator_db_test.cc +1 -1
  38. package/deps/rocksdb/rocksdb/db/convenience.cc +8 -6
  39. package/deps/rocksdb/rocksdb/db/corruption_test.cc +209 -38
  40. package/deps/rocksdb/rocksdb/db/cuckoo_table_db_test.cc +2 -2
  41. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +2 -2
  42. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +28 -25
  43. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +85 -138
  44. package/deps/rocksdb/rocksdb/db/db_compaction_filter_test.cc +68 -3
  45. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +38 -13
  46. package/deps/rocksdb/rocksdb/db/db_filesnapshot.cc +1 -1
  47. package/deps/rocksdb/rocksdb/db/db_flush_test.cc +1 -1
  48. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +9 -8
  49. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +1 -1
  50. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +5 -4
  51. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +5 -4
  52. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +2 -2
  53. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +9 -3
  54. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +6 -3
  55. package/deps/rocksdb/rocksdb/db/db_info_dumper.cc +26 -18
  56. package/deps/rocksdb/rocksdb/db/db_iter_stress_test.cc +8 -7
  57. package/deps/rocksdb/rocksdb/db/db_iter_test.cc +8 -8
  58. package/deps/rocksdb/rocksdb/db/db_iterator_test.cc +6 -3
  59. package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +2 -2
  60. package/deps/rocksdb/rocksdb/db/db_log_iter_test.cc +6 -6
  61. package/deps/rocksdb/rocksdb/db/db_memtable_test.cc +2 -2
  62. package/deps/rocksdb/rocksdb/db/db_options_test.cc +12 -12
  63. package/deps/rocksdb/rocksdb/db/db_properties_test.cc +16 -15
  64. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +6 -4
  65. package/deps/rocksdb/rocksdb/db/db_rate_limiter_test.cc +15 -14
  66. package/deps/rocksdb/rocksdb/db/db_secondary_test.cc +6 -6
  67. package/deps/rocksdb/rocksdb/db/db_sst_test.cc +68 -7
  68. package/deps/rocksdb/rocksdb/db/db_table_properties_test.cc +6 -5
  69. package/deps/rocksdb/rocksdb/db/db_test.cc +44 -42
  70. package/deps/rocksdb/rocksdb/db/db_test2.cc +23 -19
  71. package/deps/rocksdb/rocksdb/db/db_test_util.cc +95 -17
  72. package/deps/rocksdb/rocksdb/db/db_test_util.h +48 -0
  73. package/deps/rocksdb/rocksdb/db/db_universal_compaction_test.cc +1 -1
  74. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +7 -7
  75. package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +4 -4
  76. package/deps/rocksdb/rocksdb/db/db_write_test.cc +6 -6
  77. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -1
  78. package/deps/rocksdb/rocksdb/db/deletefile_test.cc +1 -1
  79. package/deps/rocksdb/rocksdb/db/error_handler_fs_test.cc +8 -8
  80. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +34 -12
  81. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +3 -0
  82. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +7 -7
  83. package/deps/rocksdb/rocksdb/db/file_indexer.h +1 -4
  84. package/deps/rocksdb/rocksdb/db/flush_job.cc +18 -4
  85. package/deps/rocksdb/rocksdb/db/flush_job.h +4 -0
  86. package/deps/rocksdb/rocksdb/db/flush_job_test.cc +98 -30
  87. package/deps/rocksdb/rocksdb/db/forward_iterator.cc +1 -1
  88. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +3 -0
  89. package/deps/rocksdb/rocksdb/db/internal_stats.cc +12 -12
  90. package/deps/rocksdb/rocksdb/db/listener_test.cc +4 -3
  91. package/deps/rocksdb/rocksdb/db/memtable.cc +2 -2
  92. package/deps/rocksdb/rocksdb/db/memtable_list.h +1 -1
  93. package/deps/rocksdb/rocksdb/db/memtable_list_test.cc +37 -25
  94. package/deps/rocksdb/rocksdb/db/obsolete_files_test.cc +1 -1
  95. package/deps/rocksdb/rocksdb/db/perf_context_test.cc +18 -18
  96. package/deps/rocksdb/rocksdb/db/plain_table_db_test.cc +6 -6
  97. package/deps/rocksdb/rocksdb/db/prefix_test.cc +1 -1
  98. package/deps/rocksdb/rocksdb/db/repair.cc +1 -1
  99. package/deps/rocksdb/rocksdb/db/repair_test.cc +5 -5
  100. package/deps/rocksdb/rocksdb/db/snapshot_checker.h +1 -2
  101. package/deps/rocksdb/rocksdb/db/table_cache.cc +2 -4
  102. package/deps/rocksdb/rocksdb/db/version_builder.cc +1 -1
  103. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +3 -5
  104. package/deps/rocksdb/rocksdb/db/version_edit.cc +2 -2
  105. package/deps/rocksdb/rocksdb/db/version_set.cc +2 -2
  106. package/deps/rocksdb/rocksdb/db/version_set.h +3 -3
  107. package/deps/rocksdb/rocksdb/db/wal_edit.h +2 -1
  108. package/deps/rocksdb/rocksdb/db/wal_manager.cc +2 -3
  109. package/deps/rocksdb/rocksdb/db/wal_manager_test.cc +1 -1
  110. package/deps/rocksdb/rocksdb/db/write_batch.cc +178 -30
  111. package/deps/rocksdb/rocksdb/db/write_batch_test.cc +6 -6
  112. package/deps/rocksdb/rocksdb/db/write_controller.h +1 -1
  113. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +0 -2
  114. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +7 -6
  115. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_compaction_filter.h +2 -1
  116. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +4 -3
  117. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +31 -6
  118. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_listener.cc +4 -1
  119. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.cc +0 -10
  120. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +45 -42
  121. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +359 -275
  122. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +53 -3
  123. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +0 -12
  124. package/deps/rocksdb/rocksdb/db_stress_tool/expected_state.cc +13 -11
  125. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +276 -109
  126. package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +63 -0
  127. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +45 -54
  128. package/deps/rocksdb/rocksdb/env/composite_env.cc +87 -14
  129. package/deps/rocksdb/rocksdb/env/env.cc +0 -60
  130. package/deps/rocksdb/rocksdb/env/env_encryption.cc +9 -0
  131. package/deps/rocksdb/rocksdb/env/env_encryption_ctr.h +1 -1
  132. package/deps/rocksdb/rocksdb/env/env_posix.cc +6 -5
  133. package/deps/rocksdb/rocksdb/env/env_test.cc +18 -5
  134. package/deps/rocksdb/rocksdb/env/fs_posix.cc +17 -12
  135. package/deps/rocksdb/rocksdb/env/io_posix.cc +39 -37
  136. package/deps/rocksdb/rocksdb/file/delete_scheduler_test.cc +9 -9
  137. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +1 -1
  138. package/deps/rocksdb/rocksdb/file/file_util.h +2 -0
  139. package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +5 -2
  140. package/deps/rocksdb/rocksdb/file/sequence_file_reader.cc +7 -0
  141. package/deps/rocksdb/rocksdb/file/writable_file_writer.cc +69 -45
  142. package/deps/rocksdb/rocksdb/file/writable_file_writer.h +3 -1
  143. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +35 -0
  144. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +5 -5
  145. package/deps/rocksdb/rocksdb/include/rocksdb/cleanable.h +59 -2
  146. package/deps/rocksdb/rocksdb/include/rocksdb/compaction_filter.h +1 -0
  147. package/deps/rocksdb/rocksdb/include/rocksdb/convenience.h +2 -1
  148. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +46 -44
  149. package/deps/rocksdb/rocksdb/include/rocksdb/env.h +1 -1
  150. package/deps/rocksdb/rocksdb/include/rocksdb/iostats_context.h +2 -4
  151. package/deps/rocksdb/rocksdb/include/rocksdb/memtablerep.h +3 -0
  152. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +28 -3
  153. package/deps/rocksdb/rocksdb/include/rocksdb/table.h +91 -40
  154. package/deps/rocksdb/rocksdb/include/rocksdb/thread_status.h +1 -2
  155. package/deps/rocksdb/rocksdb/include/rocksdb/unique_id.h +22 -13
  156. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/customizable_util.h +9 -0
  157. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +4 -0
  158. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/object_registry.h +25 -0
  159. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/options_type.h +189 -103
  160. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/transaction_db.h +14 -0
  161. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  162. package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +18 -4
  163. package/deps/rocksdb/rocksdb/memory/arena.h +1 -1
  164. package/deps/rocksdb/rocksdb/memory/concurrent_arena.cc +1 -5
  165. package/deps/rocksdb/rocksdb/memory/concurrent_arena.h +1 -5
  166. package/deps/rocksdb/rocksdb/memory/jemalloc_nodump_allocator.cc +6 -8
  167. package/deps/rocksdb/rocksdb/memtable/skiplistrep.cc +1 -1
  168. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager.cc +1 -1
  169. package/deps/rocksdb/rocksdb/memtable/write_buffer_manager_test.cc +5 -3
  170. package/deps/rocksdb/rocksdb/microbench/db_basic_bench.cc +266 -45
  171. package/deps/rocksdb/rocksdb/monitoring/histogram.cc +2 -1
  172. package/deps/rocksdb/rocksdb/monitoring/iostats_context.cc +1 -4
  173. package/deps/rocksdb/rocksdb/monitoring/iostats_context_imp.h +4 -4
  174. package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +2 -8
  175. package/deps/rocksdb/rocksdb/monitoring/perf_context_imp.h +2 -2
  176. package/deps/rocksdb/rocksdb/monitoring/perf_level.cc +1 -5
  177. package/deps/rocksdb/rocksdb/monitoring/perf_level_imp.h +1 -5
  178. package/deps/rocksdb/rocksdb/monitoring/persistent_stats_history.cc +2 -2
  179. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.cc +2 -1
  180. package/deps/rocksdb/rocksdb/monitoring/thread_status_updater.h +1 -1
  181. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.cc +3 -3
  182. package/deps/rocksdb/rocksdb/monitoring/thread_status_util.h +2 -2
  183. package/deps/rocksdb/rocksdb/options/cf_options.cc +34 -38
  184. package/deps/rocksdb/rocksdb/options/configurable.cc +9 -27
  185. package/deps/rocksdb/rocksdb/options/configurable_test.cc +1 -1
  186. package/deps/rocksdb/rocksdb/options/customizable.cc +3 -1
  187. package/deps/rocksdb/rocksdb/options/customizable_test.cc +379 -318
  188. package/deps/rocksdb/rocksdb/options/db_options.cc +38 -17
  189. package/deps/rocksdb/rocksdb/options/db_options.h +1 -0
  190. package/deps/rocksdb/rocksdb/options/options_helper.cc +82 -39
  191. package/deps/rocksdb/rocksdb/options/options_parser.cc +10 -10
  192. package/deps/rocksdb/rocksdb/options/options_settable_test.cc +6 -3
  193. package/deps/rocksdb/rocksdb/options/options_test.cc +115 -59
  194. package/deps/rocksdb/rocksdb/port/port_posix.h +0 -15
  195. package/deps/rocksdb/rocksdb/port/win/env_win.cc +5 -4
  196. package/deps/rocksdb/rocksdb/port/win/env_win.h +2 -2
  197. package/deps/rocksdb/rocksdb/port/win/port_win.h +0 -31
  198. package/deps/rocksdb/rocksdb/rocksdb.pc.in +11 -0
  199. package/deps/rocksdb/rocksdb/src.mk +2 -0
  200. package/deps/rocksdb/rocksdb/table/block_based/binary_search_index_reader.cc +2 -1
  201. package/deps/rocksdb/rocksdb/table/block_based/block.cc +4 -2
  202. package/deps/rocksdb/rocksdb/table/block_based/block.h +21 -25
  203. package/deps/rocksdb/rocksdb/table/block_based/block_based_filter_block.cc +3 -4
  204. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +14 -4
  205. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +52 -15
  206. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +1 -1
  207. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +85 -41
  208. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +42 -72
  209. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +7 -5
  210. package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
  211. package/deps/rocksdb/rocksdb/table/block_based/filter_block.h +1 -1
  212. package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +33 -17
  213. package/deps/rocksdb/rocksdb/table/block_based/hash_index_reader.cc +2 -1
  214. package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +2 -2
  215. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.cc +2 -1
  216. package/deps/rocksdb/rocksdb/table/block_based/index_reader_common.h +2 -1
  217. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +2 -1
  218. package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_reader.cc +6 -3
  219. package/deps/rocksdb/rocksdb/table/block_based/reader_common.cc +4 -4
  220. package/deps/rocksdb/rocksdb/table/block_fetcher.cc +5 -5
  221. package/deps/rocksdb/rocksdb/table/cleanable_test.cc +113 -0
  222. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.cc +1 -1
  223. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_builder.h +1 -1
  224. package/deps/rocksdb/rocksdb/table/cuckoo/cuckoo_table_reader_test.cc +1 -1
  225. package/deps/rocksdb/rocksdb/table/format.cc +22 -20
  226. package/deps/rocksdb/rocksdb/table/iterator.cc +1 -81
  227. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  228. package/deps/rocksdb/rocksdb/table/multiget_context.h +14 -11
  229. package/deps/rocksdb/rocksdb/table/persistent_cache_options.h +0 -3
  230. package/deps/rocksdb/rocksdb/table/plain/plain_table_factory.cc +12 -1
  231. package/deps/rocksdb/rocksdb/table/plain/plain_table_reader.cc +4 -4
  232. package/deps/rocksdb/rocksdb/table/sst_file_writer_collectors.h +1 -1
  233. package/deps/rocksdb/rocksdb/table/table_properties.cc +3 -5
  234. package/deps/rocksdb/rocksdb/table/table_test.cc +202 -78
  235. package/deps/rocksdb/rocksdb/table/unique_id.cc +57 -25
  236. package/deps/rocksdb/rocksdb/table/unique_id_impl.h +34 -4
  237. package/deps/rocksdb/rocksdb/test_util/testutil.cc +1 -1
  238. package/deps/rocksdb/rocksdb/test_util/testutil.h +11 -8
  239. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.cc +8 -4
  240. package/deps/rocksdb/rocksdb/test_util/transaction_test_util.h +17 -0
  241. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer.cc +11 -9
  242. package/deps/rocksdb/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_test.cc +3 -3
  243. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +254 -98
  244. package/deps/rocksdb/rocksdb/tools/db_sanity_test.cc +4 -4
  245. package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +186 -42
  246. package/deps/rocksdb/rocksdb/tools/ldb_cmd_impl.h +75 -49
  247. package/deps/rocksdb/rocksdb/tools/ldb_cmd_test.cc +9 -8
  248. package/deps/rocksdb/rocksdb/tools/ldb_tool.cc +4 -1
  249. package/deps/rocksdb/rocksdb/tools/reduce_levels_test.cc +2 -2
  250. package/deps/rocksdb/rocksdb/tools/sst_dump_tool.cc +17 -3
  251. package/deps/rocksdb/rocksdb/tools/trace_analyzer_tool.cc +1 -1
  252. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +1 -1
  253. package/deps/rocksdb/rocksdb/util/autovector_test.cc +4 -4
  254. package/deps/rocksdb/rocksdb/util/bloom_test.cc +14 -8
  255. package/deps/rocksdb/rocksdb/util/build_version.cc.in +5 -6
  256. package/deps/rocksdb/rocksdb/util/cleanable.cc +180 -0
  257. package/deps/rocksdb/rocksdb/util/comparator.cc +5 -3
  258. package/deps/rocksdb/rocksdb/util/compression.h +7 -7
  259. package/deps/rocksdb/rocksdb/util/file_reader_writer_test.cc +148 -0
  260. package/deps/rocksdb/rocksdb/util/filelock_test.cc +2 -2
  261. package/deps/rocksdb/rocksdb/util/filter_bench.cc +12 -4
  262. package/deps/rocksdb/rocksdb/util/heap.h +5 -3
  263. package/deps/rocksdb/rocksdb/util/random.cc +1 -5
  264. package/deps/rocksdb/rocksdb/util/rate_limiter.cc +12 -9
  265. package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +1 -1
  266. package/deps/rocksdb/rocksdb/util/ribbon_alg.h +1 -1
  267. package/deps/rocksdb/rocksdb/util/ribbon_test.cc +2 -4
  268. package/deps/rocksdb/rocksdb/util/slice.cc +8 -9
  269. package/deps/rocksdb/rocksdb/util/string_util.cc +3 -2
  270. package/deps/rocksdb/rocksdb/util/string_util.h +0 -13
  271. package/deps/rocksdb/rocksdb/util/thread_local.cc +4 -23
  272. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +99 -22
  273. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_impl.h +7 -0
  274. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +102 -59
  275. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_db_test.cc +38 -36
  276. package/deps/rocksdb/rocksdb/utilities/blob_db/blob_dump_tool.cc +2 -2
  277. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +28 -0
  278. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +3 -0
  279. package/deps/rocksdb/rocksdb/utilities/memory/memory_test.cc +1 -1
  280. package/deps/rocksdb/rocksdb/utilities/object_registry.cc +71 -0
  281. package/deps/rocksdb/rocksdb/utilities/object_registry_test.cc +71 -0
  282. package/deps/rocksdb/rocksdb/utilities/options/options_util_test.cc +1 -1
  283. package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +5 -5
  284. package/deps/rocksdb/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc +3 -3
  285. package/deps/rocksdb/rocksdb/utilities/transactions/lock/point/point_lock_tracker.cc +0 -13
  286. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_locking_test.cc +40 -0
  287. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.cc +10 -8
  288. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/locktree/lock_request.h +4 -2
  289. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +17 -0
  290. package/deps/rocksdb/rocksdb/utilities/transactions/lock/range/range_tree/range_tree_lock_manager.cc +7 -7
  291. package/deps/rocksdb/rocksdb/utilities/transactions/pessimistic_transaction.cc +8 -1
  292. package/deps/rocksdb/rocksdb/utilities/transactions/snapshot_checker.cc +5 -1
  293. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +21 -15
  294. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_util.cc +2 -2
  295. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_transaction_test.cc +69 -11
  296. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn.cc +22 -9
  297. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.cc +26 -5
  298. package/deps/rocksdb/rocksdb/utilities/transactions/write_prepared_txn_db.h +17 -4
  299. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_transaction_test.cc +19 -16
  300. package/deps/rocksdb/rocksdb/utilities/transactions/write_unprepared_txn.cc +7 -3
  301. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc +3 -2
  302. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc +2 -2
  303. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h +2 -2
  304. package/deps/rocksdb/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc +6 -6
  305. package/deps/rocksdb/rocksdb.gyp +40 -31
  306. package/package.json +2 -2
  307. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  308. package/prebuilds/linux-x64/node.napi.node +0 -0
  309. package/deps/rocksdb/rocksdb/python.mk +0 -9
  310. package/prebuilds/darwin-x64/node.napi.node +0 -0
  311. package/prebuilds/linux-arm64/node.napi.node +0 -0
@@ -164,12 +164,12 @@ TEST_F(FlushJobTest, Empty) {
164
164
  SnapshotChecker* snapshot_checker = nullptr; // not relavant
165
165
  FlushJob flush_job(
166
166
  dbname_, versions_->GetColumnFamilySet()->GetDefault(), db_options_,
167
- *cfd->GetLatestMutableCFOptions(), port::kMaxUint64 /* memtable_id */,
168
- env_options_, versions_.get(), &mutex_, &shutting_down_, {},
169
- kMaxSequenceNumber, snapshot_checker, &job_context, nullptr, nullptr,
170
- nullptr, kNoCompression, nullptr, &event_logger, false,
171
- true /* sync_output_directory */, true /* write_manifest */,
172
- Env::Priority::USER, nullptr /*IOTracer*/);
167
+ *cfd->GetLatestMutableCFOptions(),
168
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, env_options_,
169
+ versions_.get(), &mutex_, &shutting_down_, {}, kMaxSequenceNumber,
170
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
171
+ nullptr, &event_logger, false, true /* sync_output_directory */,
172
+ true /* write_manifest */, Env::Priority::USER, nullptr /*IOTracer*/);
173
173
  {
174
174
  InstrumentedMutexLock l(&mutex_);
175
175
  flush_job.PickMemTable();
@@ -191,7 +191,7 @@ TEST_F(FlushJobTest, NonEmpty) {
191
191
  // range-delete "9995" -> "9999" at seqno 10000
192
192
  // blob references with seqnos 10001..10006
193
193
  for (int i = 1; i < 10000; ++i) {
194
- std::string key(ToString((i + 1000) % 10000));
194
+ std::string key(std::to_string((i + 1000) % 10000));
195
195
  std::string value("value" + key);
196
196
  ASSERT_OK(new_mem->Add(SequenceNumber(i), kTypeValue, key, value,
197
197
  nullptr /* kv_prot_info */));
@@ -214,7 +214,7 @@ TEST_F(FlushJobTest, NonEmpty) {
214
214
  constexpr std::array<uint64_t, 6> blob_file_numbers{{
215
215
  kInvalidBlobFileNumber, 5, 103, 17, 102, 101}};
216
216
  for (size_t i = 0; i < blob_file_numbers.size(); ++i) {
217
- std::string key(ToString(i + 10001));
217
+ std::string key(std::to_string(i + 10001));
218
218
  std::string blob_index;
219
219
  if (i == 0) {
220
220
  BlobIndex::EncodeInlinedTTL(&blob_index, /* expiration */ 1234567890ULL,
@@ -248,11 +248,12 @@ TEST_F(FlushJobTest, NonEmpty) {
248
248
  SnapshotChecker* snapshot_checker = nullptr; // not relavant
249
249
  FlushJob flush_job(
250
250
  dbname_, versions_->GetColumnFamilySet()->GetDefault(), db_options_,
251
- *cfd->GetLatestMutableCFOptions(), port::kMaxUint64 /* memtable_id */,
252
- env_options_, versions_.get(), &mutex_, &shutting_down_, {},
253
- kMaxSequenceNumber, snapshot_checker, &job_context, nullptr, nullptr,
254
- nullptr, kNoCompression, db_options_.statistics.get(), &event_logger,
255
- true, true /* sync_output_directory */, true /* write_manifest */,
251
+ *cfd->GetLatestMutableCFOptions(),
252
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, env_options_,
253
+ versions_.get(), &mutex_, &shutting_down_, {}, kMaxSequenceNumber,
254
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
255
+ db_options_.statistics.get(), &event_logger, true,
256
+ true /* sync_output_directory */, true /* write_manifest */,
256
257
  Env::Priority::USER, nullptr /*IOTracer*/);
257
258
 
258
259
  HistogramData hist;
@@ -264,7 +265,7 @@ TEST_F(FlushJobTest, NonEmpty) {
264
265
  db_options_.statistics->histogramData(FLUSH_TIME, &hist);
265
266
  ASSERT_GT(hist.average, 0.0);
266
267
 
267
- ASSERT_EQ(ToString(0), file_meta.smallest.user_key().ToString());
268
+ ASSERT_EQ(std::to_string(0), file_meta.smallest.user_key().ToString());
268
269
  ASSERT_EQ("9999a", file_meta.largest.user_key().ToString());
269
270
  ASSERT_EQ(1, file_meta.fd.smallest_seqno);
270
271
  ASSERT_EQ(10006, file_meta.fd.largest_seqno);
@@ -290,7 +291,7 @@ TEST_F(FlushJobTest, FlushMemTablesSingleColumnFamily) {
290
291
  memtable_ids.push_back(mem->GetID());
291
292
 
292
293
  for (size_t j = 0; j < num_keys_per_table; ++j) {
293
- std::string key(ToString(j + i * num_keys_per_table));
294
+ std::string key(std::to_string(j + i * num_keys_per_table));
294
295
  std::string value("value" + key);
295
296
  ASSERT_OK(mem->Add(SequenceNumber(j + i * num_keys_per_table), kTypeValue,
296
297
  key, value, nullptr /* kv_prot_info */));
@@ -325,7 +326,7 @@ TEST_F(FlushJobTest, FlushMemTablesSingleColumnFamily) {
325
326
  db_options_.statistics->histogramData(FLUSH_TIME, &hist);
326
327
  ASSERT_GT(hist.average, 0.0);
327
328
 
328
- ASSERT_EQ(ToString(0), file_meta.smallest.user_key().ToString());
329
+ ASSERT_EQ(std::to_string(0), file_meta.smallest.user_key().ToString());
329
330
  ASSERT_EQ("99", file_meta.largest.user_key().ToString());
330
331
  ASSERT_EQ(0, file_meta.fd.smallest_seqno);
331
332
  ASSERT_EQ(SequenceNumber(num_mems_to_flush * num_keys_per_table - 1),
@@ -363,7 +364,7 @@ TEST_F(FlushJobTest, FlushMemtablesMultipleColumnFamilies) {
363
364
  mem->Ref();
364
365
 
365
366
  for (size_t j = 0; j != num_keys_per_memtable; ++j) {
366
- std::string key(ToString(j + i * num_keys_per_memtable));
367
+ std::string key(std::to_string(j + i * num_keys_per_memtable));
367
368
  std::string value("value" + key);
368
369
  ASSERT_OK(mem->Add(curr_seqno++, kTypeValue, key, value,
369
370
  nullptr /* kv_prot_info */));
@@ -438,7 +439,7 @@ TEST_F(FlushJobTest, FlushMemtablesMultipleColumnFamilies) {
438
439
  ASSERT_GT(hist.average, 0.0);
439
440
  k = 0;
440
441
  for (const auto& file_meta : file_metas) {
441
- ASSERT_EQ(ToString(0), file_meta.smallest.user_key().ToString());
442
+ ASSERT_EQ(std::to_string(0), file_meta.smallest.user_key().ToString());
442
443
  ASSERT_EQ("999", file_meta.largest.user_key()
443
444
  .ToString()); // max key by bytewise comparator
444
445
  ASSERT_EQ(smallest_seqs[k], file_meta.fd.smallest_seqno);
@@ -479,7 +480,7 @@ TEST_F(FlushJobTest, Snapshots) {
479
480
  SequenceNumber current_seqno = 0;
480
481
  auto inserted_keys = mock::MakeMockFile();
481
482
  for (int i = 1; i < keys; ++i) {
482
- std::string key(ToString(i));
483
+ std::string key(std::to_string(i));
483
484
  int insertions = rnd.Uniform(max_inserts_per_keys);
484
485
  for (int j = 0; j < insertions; ++j) {
485
486
  std::string value(rnd.HumanReadableString(10));
@@ -509,11 +510,12 @@ TEST_F(FlushJobTest, Snapshots) {
509
510
  SnapshotChecker* snapshot_checker = nullptr; // not relavant
510
511
  FlushJob flush_job(
511
512
  dbname_, versions_->GetColumnFamilySet()->GetDefault(), db_options_,
512
- *cfd->GetLatestMutableCFOptions(), port::kMaxUint64 /* memtable_id */,
513
- env_options_, versions_.get(), &mutex_, &shutting_down_, snapshots,
514
- kMaxSequenceNumber, snapshot_checker, &job_context, nullptr, nullptr,
515
- nullptr, kNoCompression, db_options_.statistics.get(), &event_logger,
516
- true, true /* sync_output_directory */, true /* write_manifest */,
513
+ *cfd->GetLatestMutableCFOptions(),
514
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, env_options_,
515
+ versions_.get(), &mutex_, &shutting_down_, snapshots, kMaxSequenceNumber,
516
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
517
+ db_options_.statistics.get(), &event_logger, true,
518
+ true /* sync_output_directory */, true /* write_manifest */,
517
519
  Env::Priority::USER, nullptr /*IOTracer*/);
518
520
  mutex_.Lock();
519
521
  flush_job.PickMemTable();
@@ -526,6 +528,72 @@ TEST_F(FlushJobTest, Snapshots) {
526
528
  job_context.Clean();
527
529
  }
528
530
 
531
+ TEST_F(FlushJobTest, GetRateLimiterPriorityForWrite) {
532
+ // Prepare a FlushJob that flush MemTables of Single Column Family.
533
+ const size_t num_mems = 2;
534
+ const size_t num_mems_to_flush = 1;
535
+ const size_t num_keys_per_table = 100;
536
+ JobContext job_context(0);
537
+ ColumnFamilyData* cfd = versions_->GetColumnFamilySet()->GetDefault();
538
+ std::vector<uint64_t> memtable_ids;
539
+ std::vector<MemTable*> new_mems;
540
+ for (size_t i = 0; i != num_mems; ++i) {
541
+ MemTable* mem = cfd->ConstructNewMemtable(*cfd->GetLatestMutableCFOptions(),
542
+ kMaxSequenceNumber);
543
+ mem->SetID(i);
544
+ mem->Ref();
545
+ new_mems.emplace_back(mem);
546
+ memtable_ids.push_back(mem->GetID());
547
+
548
+ for (size_t j = 0; j < num_keys_per_table; ++j) {
549
+ std::string key(std::to_string(j + i * num_keys_per_table));
550
+ std::string value("value" + key);
551
+ ASSERT_OK(mem->Add(SequenceNumber(j + i * num_keys_per_table), kTypeValue,
552
+ key, value, nullptr /* kv_prot_info */));
553
+ }
554
+ }
555
+
556
+ autovector<MemTable*> to_delete;
557
+ for (auto mem : new_mems) {
558
+ cfd->imm()->Add(mem, &to_delete);
559
+ }
560
+
561
+ EventLogger event_logger(db_options_.info_log.get());
562
+ SnapshotChecker* snapshot_checker = nullptr; // not relavant
563
+
564
+ assert(memtable_ids.size() == num_mems);
565
+ uint64_t smallest_memtable_id = memtable_ids.front();
566
+ uint64_t flush_memtable_id = smallest_memtable_id + num_mems_to_flush - 1;
567
+ FlushJob flush_job(
568
+ dbname_, versions_->GetColumnFamilySet()->GetDefault(), db_options_,
569
+ *cfd->GetLatestMutableCFOptions(), flush_memtable_id, env_options_,
570
+ versions_.get(), &mutex_, &shutting_down_, {}, kMaxSequenceNumber,
571
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
572
+ db_options_.statistics.get(), &event_logger, true,
573
+ true /* sync_output_directory */, true /* write_manifest */,
574
+ Env::Priority::USER, nullptr /*IOTracer*/);
575
+
576
+ // When the state from WriteController is normal.
577
+ ASSERT_EQ(flush_job.GetRateLimiterPriorityForWrite(), Env::IO_HIGH);
578
+
579
+ WriteController* write_controller =
580
+ flush_job.versions_->GetColumnFamilySet()->write_controller();
581
+
582
+ {
583
+ // When the state from WriteController is Delayed.
584
+ std::unique_ptr<WriteControllerToken> delay_token =
585
+ write_controller->GetDelayToken(1000000);
586
+ ASSERT_EQ(flush_job.GetRateLimiterPriorityForWrite(), Env::IO_USER);
587
+ }
588
+
589
+ {
590
+ // When the state from WriteController is Stopped.
591
+ std::unique_ptr<WriteControllerToken> stop_token =
592
+ write_controller->GetStopToken();
593
+ ASSERT_EQ(flush_job.GetRateLimiterPriorityForWrite(), Env::IO_USER);
594
+ }
595
+ }
596
+
529
597
  class FlushJobTimestampTest : public FlushJobTestBase {
530
598
  public:
531
599
  FlushJobTimestampTest()
@@ -577,9 +645,9 @@ TEST_F(FlushJobTimestampTest, AllKeysExpired) {
577
645
  PutFixed64(&full_history_ts_low, std::numeric_limits<uint64_t>::max());
578
646
  FlushJob flush_job(
579
647
  dbname_, cfd, db_options_, *cfd->GetLatestMutableCFOptions(),
580
- port::kMaxUint64 /* memtable_id */, env_options_, versions_.get(),
581
- &mutex_, &shutting_down_, snapshots, kMaxSequenceNumber, snapshot_checker,
582
- &job_context, nullptr, nullptr, nullptr, kNoCompression,
648
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, env_options_,
649
+ versions_.get(), &mutex_, &shutting_down_, snapshots, kMaxSequenceNumber,
650
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
583
651
  db_options_.statistics.get(), &event_logger, true,
584
652
  true /* sync_output_directory */, true /* write_manifest */,
585
653
  Env::Priority::USER, nullptr /*IOTracer*/, /*db_id=*/"",
@@ -628,9 +696,9 @@ TEST_F(FlushJobTimestampTest, NoKeyExpired) {
628
696
  PutFixed64(&full_history_ts_low, 0);
629
697
  FlushJob flush_job(
630
698
  dbname_, cfd, db_options_, *cfd->GetLatestMutableCFOptions(),
631
- port::kMaxUint64 /* memtable_id */, env_options_, versions_.get(),
632
- &mutex_, &shutting_down_, snapshots, kMaxSequenceNumber, snapshot_checker,
633
- &job_context, nullptr, nullptr, nullptr, kNoCompression,
699
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, env_options_,
700
+ versions_.get(), &mutex_, &shutting_down_, snapshots, kMaxSequenceNumber,
701
+ snapshot_checker, &job_context, nullptr, nullptr, nullptr, kNoCompression,
634
702
  db_options_.statistics.get(), &event_logger, true,
635
703
  true /* sync_output_directory */, true /* write_manifest */,
636
704
  Env::Priority::USER, nullptr /*IOTracer*/, /*db_id=*/"",
@@ -604,7 +604,7 @@ bool ForwardIterator::PrepareValue() {
604
604
  Status ForwardIterator::GetProperty(std::string prop_name, std::string* prop) {
605
605
  assert(prop != nullptr);
606
606
  if (prop_name == "rocksdb.iterator.super-version-number") {
607
- *prop = ToString(sv_->version_number);
607
+ *prop = std::to_string(sv_->version_number);
608
608
  return Status::OK();
609
609
  }
610
610
  return Status::InvalidArgument();
@@ -97,6 +97,9 @@ Status ImportColumnFamilyJob::Prepare(uint64_t next_file_number,
97
97
  if (status.IsNotSupported()) {
98
98
  // Original file is on a different FS, use copy instead of hard linking
99
99
  hardlink_files = false;
100
+ ROCKS_LOG_INFO(db_options_.info_log,
101
+ "Try to link file %s but it's not supported : %s",
102
+ f.internal_file_path.c_str(), status.ToString().c_str());
100
103
  }
101
104
  }
102
105
  if (!hardlink_files) {
@@ -704,20 +704,19 @@ void InternalStats::CacheEntryRoleStats::ToMap(
704
704
  auto& v = *values;
705
705
  v[BlockCacheEntryStatsMapKeys::CacheId()] = cache_id;
706
706
  v[BlockCacheEntryStatsMapKeys::CacheCapacityBytes()] =
707
- ROCKSDB_NAMESPACE::ToString(cache_capacity);
707
+ std::to_string(cache_capacity);
708
708
  v[BlockCacheEntryStatsMapKeys::LastCollectionDurationSeconds()] =
709
- ROCKSDB_NAMESPACE::ToString(GetLastDurationMicros() / 1000000.0);
709
+ std::to_string(GetLastDurationMicros() / 1000000.0);
710
710
  v[BlockCacheEntryStatsMapKeys::LastCollectionAgeSeconds()] =
711
- ROCKSDB_NAMESPACE::ToString((clock->NowMicros() - last_end_time_micros_) /
712
- 1000000U);
711
+ std::to_string((clock->NowMicros() - last_end_time_micros_) / 1000000U);
713
712
  for (size_t i = 0; i < kNumCacheEntryRoles; ++i) {
714
713
  auto role = static_cast<CacheEntryRole>(i);
715
714
  v[BlockCacheEntryStatsMapKeys::EntryCount(role)] =
716
- ROCKSDB_NAMESPACE::ToString(entry_counts[i]);
715
+ std::to_string(entry_counts[i]);
717
716
  v[BlockCacheEntryStatsMapKeys::UsedBytes(role)] =
718
- ROCKSDB_NAMESPACE::ToString(total_charges[i]);
717
+ std::to_string(total_charges[i]);
719
718
  v[BlockCacheEntryStatsMapKeys::UsedPercent(role)] =
720
- ROCKSDB_NAMESPACE::ToString(100.0 * total_charges[i] / cache_capacity);
719
+ std::to_string(100.0 * total_charges[i] / cache_capacity);
721
720
  }
722
721
  }
723
722
 
@@ -763,7 +762,7 @@ bool InternalStats::HandleLiveSstFilesSizeAtTemperature(std::string* value,
763
762
  }
764
763
  }
765
764
 
766
- *value = ToString(size);
765
+ *value = std::to_string(size);
767
766
  return true;
768
767
  }
769
768
 
@@ -919,7 +918,7 @@ bool InternalStats::HandleCompressionRatioAtLevelPrefix(std::string* value,
919
918
  if (!ok || level >= static_cast<uint64_t>(number_levels_)) {
920
919
  return false;
921
920
  }
922
- *value = ToString(
921
+ *value = std::to_string(
923
922
  vstorage->GetEstimatedCompressionRatioAtLevel(static_cast<int>(level)));
924
923
  return true;
925
924
  }
@@ -1006,7 +1005,7 @@ static std::map<std::string, std::string> MapUint64ValuesToString(
1006
1005
  const std::map<std::string, uint64_t>& from) {
1007
1006
  std::map<std::string, std::string> to;
1008
1007
  for (const auto& e : from) {
1009
- to[e.first] = ToString(e.second);
1008
+ to[e.first] = std::to_string(e.second);
1010
1009
  }
1011
1010
  return to;
1012
1011
  }
@@ -1500,7 +1499,7 @@ void InternalStats::DumpCFMapStats(
1500
1499
  DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
1501
1500
  for (auto const& level_ent : levels_stats) {
1502
1501
  auto level_str =
1503
- level_ent.first == -1 ? "Sum" : "L" + ToString(level_ent.first);
1502
+ level_ent.first == -1 ? "Sum" : "L" + std::to_string(level_ent.first);
1504
1503
  for (auto const& stat_ent : level_ent.second) {
1505
1504
  auto stat_type = stat_ent.first;
1506
1505
  auto key_str =
@@ -1651,7 +1650,8 @@ void InternalStats::DumpCFStatsNoFileHistogram(std::string* value) {
1651
1650
  DumpCFMapStats(vstorage, &levels_stats, &compaction_stats_sum);
1652
1651
  for (int l = 0; l < number_levels_; ++l) {
1653
1652
  if (levels_stats.find(l) != levels_stats.end()) {
1654
- PrintLevelStats(buf, sizeof(buf), "L" + ToString(l), levels_stats[l]);
1653
+ PrintLevelStats(buf, sizeof(buf), "L" + std::to_string(l),
1654
+ levels_stats[l]);
1655
1655
  value->append(buf);
1656
1656
  }
1657
1657
  }
@@ -436,10 +436,10 @@ TEST_F(EventListenerTest, MultiDBMultiListeners) {
436
436
  std::vector<std::vector<ColumnFamilyHandle *>> vec_handles;
437
437
 
438
438
  for (int d = 0; d < kNumDBs; ++d) {
439
- ASSERT_OK(DestroyDB(dbname_ + ToString(d), options));
439
+ ASSERT_OK(DestroyDB(dbname_ + std::to_string(d), options));
440
440
  DB* db;
441
441
  std::vector<ColumnFamilyHandle*> handles;
442
- ASSERT_OK(DB::Open(options, dbname_ + ToString(d), &db));
442
+ ASSERT_OK(DB::Open(options, dbname_ + std::to_string(d), &db));
443
443
  for (size_t c = 0; c < cf_names.size(); ++c) {
444
444
  ColumnFamilyHandle* handle;
445
445
  ASSERT_OK(db->CreateColumnFamily(cf_opts, cf_names[c], &handle));
@@ -527,7 +527,8 @@ TEST_F(EventListenerTest, DisableBGCompaction) {
527
527
  // keep writing until writes are forced to stop.
528
528
  for (int i = 0; static_cast<int>(cf_meta.file_count) < kSlowdownTrigger * 10;
529
529
  ++i) {
530
- ASSERT_OK(Put(1, ToString(i), std::string(10000, 'x'), WriteOptions()));
530
+ ASSERT_OK(
531
+ Put(1, std::to_string(i), std::string(10000, 'x'), WriteOptions()));
531
532
  FlushOptions fo;
532
533
  fo.allow_write_stall = true;
533
534
  ASSERT_OK(db_->Flush(fo, handles_[1]));
@@ -140,8 +140,8 @@ size_t MemTable::ApproximateMemoryUsage() {
140
140
  for (size_t usage : usages) {
141
141
  // If usage + total_usage >= kMaxSizet, return kMaxSizet.
142
142
  // the following variation is to avoid numeric overflow.
143
- if (usage >= port::kMaxSizet - total_usage) {
144
- return port::kMaxSizet;
143
+ if (usage >= std::numeric_limits<size_t>::max() - total_usage) {
144
+ return std::numeric_limits<size_t>::max();
145
145
  }
146
146
  total_usage += usage;
147
147
  }
@@ -315,7 +315,7 @@ class MemTableList {
315
315
  // PickMemtablesToFlush() is called.
316
316
  void FlushRequested() {
317
317
  flush_requested_ = true;
318
- // If there are some memtables stored in imm() that dont trigger
318
+ // If there are some memtables stored in imm() that don't trigger
319
319
  // flush (eg: mempurge output memtable), then update imm_flush_needed.
320
320
  // Note: if race condition and imm_flush_needed is set to true
321
321
  // when there is num_flush_not_started_==0, then there is no
@@ -209,7 +209,8 @@ TEST_F(MemTableListTest, Empty) {
209
209
  ASSERT_FALSE(list.IsFlushPending());
210
210
 
211
211
  autovector<MemTable*> mems;
212
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &mems);
212
+ list.PickMemtablesToFlush(
213
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &mems);
213
214
  ASSERT_EQ(0, mems.size());
214
215
 
215
216
  autovector<MemTable*> to_delete;
@@ -418,7 +419,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
418
419
  // Flush this memtable from the list.
419
420
  // (It will then be a part of the memtable history).
420
421
  autovector<MemTable*> to_flush;
421
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
422
+ list.PickMemtablesToFlush(
423
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
422
424
  ASSERT_EQ(1, to_flush.size());
423
425
 
424
426
  MutableCFOptions mutable_cf_options(options);
@@ -472,7 +474,8 @@ TEST_F(MemTableListTest, GetFromHistoryTest) {
472
474
  ASSERT_EQ(0, to_delete.size());
473
475
 
474
476
  to_flush.clear();
475
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
477
+ list.PickMemtablesToFlush(
478
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
476
479
  ASSERT_EQ(1, to_flush.size());
477
480
 
478
481
  // Flush second memtable
@@ -575,15 +578,15 @@ TEST_F(MemTableListTest, FlushPendingTest) {
575
578
  std::string value;
576
579
  MergeContext merge_context;
577
580
 
578
- ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", ToString(i),
581
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
579
582
  nullptr /* kv_prot_info */));
580
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + ToString(i), "valueN",
583
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i), "valueN",
581
584
  nullptr /* kv_prot_info */));
582
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + ToString(i), "value",
585
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
583
586
  nullptr /* kv_prot_info */));
584
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + ToString(i), "valueM",
587
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i), "valueM",
585
588
  nullptr /* kv_prot_info */));
586
- ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + ToString(i), "",
589
+ ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
587
590
  nullptr /* kv_prot_info */));
588
591
 
589
592
  tables.push_back(mem);
@@ -593,7 +596,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
593
596
  ASSERT_FALSE(list.IsFlushPending());
594
597
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
595
598
  autovector<MemTable*> to_flush;
596
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
599
+ list.PickMemtablesToFlush(
600
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
597
601
  ASSERT_EQ(0, to_flush.size());
598
602
 
599
603
  // Request a flush even though there is nothing to flush
@@ -602,7 +606,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
602
606
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
603
607
 
604
608
  // Attempt to 'flush' to clear request for flush
605
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
609
+ list.PickMemtablesToFlush(
610
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
606
611
  ASSERT_EQ(0, to_flush.size());
607
612
  ASSERT_FALSE(list.IsFlushPending());
608
613
  ASSERT_FALSE(list.imm_flush_needed.load(std::memory_order_acquire));
@@ -626,7 +631,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
626
631
  ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
627
632
 
628
633
  // Pick tables to flush
629
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
634
+ list.PickMemtablesToFlush(
635
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
630
636
  ASSERT_EQ(2, to_flush.size());
631
637
  ASSERT_EQ(2, list.NumNotFlushed());
632
638
  ASSERT_FALSE(list.IsFlushPending());
@@ -647,7 +653,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
647
653
  ASSERT_EQ(0, to_delete.size());
648
654
 
649
655
  // Pick tables to flush
650
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
656
+ list.PickMemtablesToFlush(
657
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
651
658
  ASSERT_EQ(3, to_flush.size());
652
659
  ASSERT_EQ(3, list.NumNotFlushed());
653
660
  ASSERT_FALSE(list.IsFlushPending());
@@ -655,7 +662,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
655
662
 
656
663
  // Pick tables to flush again
657
664
  autovector<MemTable*> to_flush2;
658
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush2);
665
+ list.PickMemtablesToFlush(
666
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
659
667
  ASSERT_EQ(0, to_flush2.size());
660
668
  ASSERT_EQ(3, list.NumNotFlushed());
661
669
  ASSERT_FALSE(list.IsFlushPending());
@@ -673,7 +681,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
673
681
  ASSERT_TRUE(list.imm_flush_needed.load(std::memory_order_acquire));
674
682
 
675
683
  // Pick tables to flush again
676
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush2);
684
+ list.PickMemtablesToFlush(
685
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush2);
677
686
  ASSERT_EQ(1, to_flush2.size());
678
687
  ASSERT_EQ(4, list.NumNotFlushed());
679
688
  ASSERT_FALSE(list.IsFlushPending());
@@ -694,7 +703,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
694
703
  ASSERT_EQ(0, to_delete.size());
695
704
 
696
705
  // Pick tables to flush
697
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush);
706
+ list.PickMemtablesToFlush(
707
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush);
698
708
  // Should pick 4 of 5 since 1 table has been picked in to_flush2
699
709
  ASSERT_EQ(4, to_flush.size());
700
710
  ASSERT_EQ(5, list.NumNotFlushed());
@@ -703,7 +713,8 @@ TEST_F(MemTableListTest, FlushPendingTest) {
703
713
 
704
714
  // Pick tables to flush again
705
715
  autovector<MemTable*> to_flush3;
706
- list.PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */, &to_flush3);
716
+ list.PickMemtablesToFlush(
717
+ std::numeric_limits<uint64_t>::max() /* memtable_id */, &to_flush3);
707
718
  ASSERT_EQ(0, to_flush3.size()); // nothing not in progress of being flushed
708
719
  ASSERT_EQ(5, list.NumNotFlushed());
709
720
  ASSERT_FALSE(list.IsFlushPending());
@@ -849,15 +860,15 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
849
860
 
850
861
  std::string value;
851
862
 
852
- ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", ToString(i),
863
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "key1", std::to_string(i),
853
864
  nullptr /* kv_prot_info */));
854
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + ToString(i), "valueN",
865
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyN" + std::to_string(i),
866
+ "valueN", nullptr /* kv_prot_info */));
867
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + std::to_string(i), "value",
855
868
  nullptr /* kv_prot_info */));
856
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyX" + ToString(i), "value",
857
- nullptr /* kv_prot_info */));
858
- ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + ToString(i), "valueM",
859
- nullptr /* kv_prot_info */));
860
- ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + ToString(i), "",
869
+ ASSERT_OK(mem->Add(++seq, kTypeValue, "keyM" + std::to_string(i),
870
+ "valueM", nullptr /* kv_prot_info */));
871
+ ASSERT_OK(mem->Add(++seq, kTypeDeletion, "keyX" + std::to_string(i), "",
861
872
  nullptr /* kv_prot_info */));
862
873
 
863
874
  elem.push_back(mem);
@@ -872,8 +883,9 @@ TEST_F(MemTableListTest, AtomicFlusTest) {
872
883
  auto* list = lists[i];
873
884
  ASSERT_FALSE(list->IsFlushPending());
874
885
  ASSERT_FALSE(list->imm_flush_needed.load(std::memory_order_acquire));
875
- list->PickMemtablesToFlush(port::kMaxUint64 /* memtable_id */,
876
- &flush_candidates[i]);
886
+ list->PickMemtablesToFlush(
887
+ std::numeric_limits<uint64_t>::max() /* memtable_id */,
888
+ &flush_candidates[i]);
877
889
  ASSERT_EQ(0, flush_candidates[i].size());
878
890
  }
879
891
  // Request flush even though there is nothing to flush
@@ -41,7 +41,7 @@ class ObsoleteFilesTest : public DBTestBase {
41
41
  WriteOptions options;
42
42
  options.sync = false;
43
43
  for (int i = startkey; i < (numkeys + startkey) ; i++) {
44
- std::string temp = ToString(i);
44
+ std::string temp = std::to_string(i);
45
45
  Slice key(temp);
46
46
  Slice value(temp);
47
47
  ASSERT_OK(db_->Put(options, key, value));
@@ -75,21 +75,21 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
75
75
  ReadOptions read_options;
76
76
 
77
77
  for (int i = 0; i < FLAGS_total_keys; ++i) {
78
- std::string key = "k" + ToString(i);
79
- std::string value = "v" + ToString(i);
78
+ std::string key = "k" + std::to_string(i);
79
+ std::string value = "v" + std::to_string(i);
80
80
 
81
81
  ASSERT_OK(db->Put(write_options, key, value));
82
82
  }
83
83
 
84
84
  for (int i = 0; i < FLAGS_total_keys -1 ; ++i) {
85
- std::string key = "k" + ToString(i);
85
+ std::string key = "k" + std::to_string(i);
86
86
  ASSERT_OK(db->Delete(write_options, key));
87
87
  }
88
88
 
89
89
  HistogramImpl hist_get;
90
90
  HistogramImpl hist_get_time;
91
91
  for (int i = 0; i < FLAGS_total_keys - 1; ++i) {
92
- std::string key = "k" + ToString(i);
92
+ std::string key = "k" + std::to_string(i);
93
93
  std::string value;
94
94
 
95
95
  get_perf_context()->Reset();
@@ -130,7 +130,7 @@ TEST_F(PerfContextTest, SeekIntoDeletion) {
130
130
  HistogramImpl hist_seek;
131
131
  for (int i = 0; i < FLAGS_total_keys; ++i) {
132
132
  std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
133
- std::string key = "k" + ToString(i);
133
+ std::string key = "k" + std::to_string(i);
134
134
 
135
135
  get_perf_context()->Reset();
136
136
  StopWatchNano timer(SystemClock::Default().get(), true);
@@ -265,8 +265,8 @@ void ProfileQueries(bool enabled_time = false) {
265
265
  continue;
266
266
  }
267
267
 
268
- std::string key = "k" + ToString(i);
269
- std::string value = "v" + ToString(i);
268
+ std::string key = "k" + std::to_string(i);
269
+ std::string value = "v" + std::to_string(i);
270
270
 
271
271
  std::vector<std::string> values;
272
272
 
@@ -297,8 +297,8 @@ void ProfileQueries(bool enabled_time = false) {
297
297
  if (i == kFlushFlag) {
298
298
  continue;
299
299
  }
300
- std::string key = "k" + ToString(i);
301
- std::string expected_value = "v" + ToString(i);
300
+ std::string key = "k" + std::to_string(i);
301
+ std::string expected_value = "v" + std::to_string(i);
302
302
  std::string value;
303
303
 
304
304
  std::vector<Slice> multiget_keys = {Slice(key)};
@@ -415,8 +415,8 @@ void ProfileQueries(bool enabled_time = false) {
415
415
  if (i == kFlushFlag) {
416
416
  continue;
417
417
  }
418
- std::string key = "k" + ToString(i);
419
- std::string expected_value = "v" + ToString(i);
418
+ std::string key = "k" + std::to_string(i);
419
+ std::string expected_value = "v" + std::to_string(i);
420
420
  std::string value;
421
421
 
422
422
  std::vector<Slice> multiget_keys = {Slice(key)};
@@ -543,8 +543,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
543
543
  SetPerfLevel(kEnableTime);
544
544
  StopWatchNano timer(SystemClock::Default().get());
545
545
  for (const int i : keys) {
546
- std::string key = "k" + ToString(i);
547
- std::string value = "v" + ToString(i);
546
+ std::string key = "k" + std::to_string(i);
547
+ std::string value = "v" + std::to_string(i);
548
548
 
549
549
  get_perf_context()->Reset();
550
550
  timer.Start();
@@ -565,8 +565,8 @@ TEST_F(PerfContextTest, SeekKeyComparison) {
565
565
  HistogramImpl hist_next;
566
566
 
567
567
  for (int i = 0; i < FLAGS_total_keys; ++i) {
568
- std::string key = "k" + ToString(i);
569
- std::string value = "v" + ToString(i);
568
+ std::string key = "k" + std::to_string(i);
569
+ std::string value = "v" + std::to_string(i);
570
570
 
571
571
  std::unique_ptr<Iterator> iter(db->NewIterator(read_options));
572
572
  get_perf_context()->Reset();
@@ -841,7 +841,7 @@ TEST_F(PerfContextTest, CPUTimer) {
841
841
 
842
842
  std::string max_str = "0";
843
843
  for (int i = 0; i < FLAGS_total_keys; ++i) {
844
- std::string i_str = ToString(i);
844
+ std::string i_str = std::to_string(i);
845
845
  std::string key = "k" + i_str;
846
846
  std::string value = "v" + i_str;
847
847
  max_str = max_str > i_str ? max_str : i_str;
@@ -935,9 +935,9 @@ TEST_F(PerfContextTest, CPUTimer) {
935
935
  get_perf_context()->Reset();
936
936
  auto count = get_perf_context()->iter_seek_cpu_nanos;
937
937
  for (int i = 0; i < FLAGS_total_keys; ++i) {
938
- iter->Seek("k" + ToString(i));
938
+ iter->Seek("k" + std::to_string(i));
939
939
  ASSERT_TRUE(iter->Valid());
940
- ASSERT_EQ("v" + ToString(i), iter->value().ToString());
940
+ ASSERT_EQ("v" + std::to_string(i), iter->value().ToString());
941
941
  auto next_count = get_perf_context()->iter_seek_cpu_nanos;
942
942
  ASSERT_GT(next_count, count);
943
943
  count = next_count;