rocksdb/java
Xingbo Wang 21723bbbef
Some checks are pending
clang-tidy / clang-tidy (push) Waiting to run
facebook/rocksdb/pr-jobs / check-format-and-targets (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-cmake (3) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / config (push) Waiting to run
facebook/rocksdb/pr-jobs / build-macos-cmake (0) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-mingw (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-make-with-folly (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-make-with-folly-lite-no-test (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-with-folly-coroutines (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-with-benchmark-no-thread-status (0) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-with-benchmark-no-thread-status (1) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-with-benchmark-no-thread-status (2) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-cmake-with-benchmark-no-thread-status (3) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-encrypted_env-no_compression (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-cmake (1) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-release (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang-13-no_test_run (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang-21-no_test_run (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-gcc-14-no_test_run (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-unity-and-headers (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-cmake (2) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-mini-crashtest (240, blackbox_crash_test) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-mini-crashtest (480, blackbox_crash_test_with_atomic_flush) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-asan-ubsan (0) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-asan-ubsan (1) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-asan-ubsan (2) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-mini-tsan (0) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-mini-tsan (1) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-clang21-mini-tsan (2) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-static_lib-alt_namespace-status_checked (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-windows-vs2022 (false, db_test, db_test) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-windows-vs2022 (true, , java) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-java (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-java-static (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-java (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-java-pmd (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-windows-vs2022 (false, arena_test,db_basic_test,db_test2,db_merge_operand_test,bloom_test,c_test,coding_test,crc32c_test,dynamic_bloom_test,env_basic_test,env_test,hash_test,random_test, other) (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-java-static (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-macos-java-static-universal (push) Blocked by required conditions
facebook/rocksdb/pr-jobs / build-linux-arm (push) Blocked by required conditions
Add async WAL precreation
Summary:
- Add experimental immutable `DBOptions::async_wal_precreate` to reserve and open one future WAL on a background HIGH-priority task, with sanitization that disables the optimization when WAL recycling is configured.
- Split WAL creation into open/preallocate and start phases so `SwitchMemtable()` can consume a prepared WAL after writing normal WAL metadata, wait for in-flight precreation, fall back to synchronous creation, and delete an unstarted prepared WAL on start failure.
- Keep WAL numbering, close, recovery, and read-only open safe for empty future WAL files left by async precreation; `error_if_wal_file_exists=true` now rejects non-empty WALs while tolerating empty WALs.
- Add public option plumbing for the C API, options parsing/stringification, random option testing, `db_bench`, `db_stress`, and crash-test configuration.
- Add WAL precreate statistics counters plus Java `TickerType`/JNI mappings, and update C++, C, and Java read-only-open documentation for the empty-WAL behavior.
- Add focused WAL/option/C/Java tests for async precreate ready/wait/failure/recovery paths, read-only WAL detection, option sanitization, and API plumbing, plus write-flow docs and unreleased history entries for the new feature and behavior change.

PR https://github.com/facebook/rocksdb/pull/14738

Reviewed By: pdillinger

Differential Revision: D105020559

fbshipit-source-id: 5059b424702e021abb8de65ceeb6d3b975280ffc
2026-05-15 10:59:47 -07:00
..
benchmark/src/main/java/org/rocksdb/benchmark Remove deprecated Options::access_hint_on_compaction_start (#11654) 2024-02-05 13:35:19 -08:00
crossbuild Pass build parallelism flag to Docker builds (#12392) 2024-02-28 12:51:00 -08:00
jmh JNI get_helper code sharing / multiGet() use efficient batch C++ support (#12344) 2024-03-12 12:42:08 -07:00
rocksjni Add async WAL precreation 2026-05-15 10:59:47 -07:00
samples/src/main/java Remove compressed block cache (#11117) 2023-01-24 17:09:19 -08:00
src Add async WAL precreation 2026-05-15 10:59:47 -07:00
CMakeLists.txt Add interpolation search as an alternative to binary search (#14247) 2026-02-13 17:15:10 -08:00
GetPutBenchmarks.md Java API consistency between RocksDB.put() , .merge() and Transaction.put() , .merge() (#11019) 2023-12-11 11:03:17 -08:00
HISTORY-JAVA.md Update JAVA-HISTORY.md for v3.13 2015-08-04 18:12:58 -07:00
jdb_bench.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
Makefile Add native logger support to RocksJava (#12213) 2024-01-17 17:51:36 -08:00
pmd-rules.xml Java API consistency between RocksDB.put() , .merge() and Transaction.put() , .merge() (#11019) 2023-12-11 11:03:17 -08:00
pom.xml.template Perform java static checks in CI (#11221) 2023-10-17 10:04:35 -07:00
RELEASE.md Add shared library for musl-libc (#3143) 2019-11-26 18:24:09 -08:00
spotbugs-exclude.xml Perform java static checks in CI (#11221) 2023-10-17 10:04:35 -07:00
understanding_options.md New-style blob option bindings, Java option getter and improve/fix option parsing (#8999) 2021-10-19 09:21:52 -07:00