·
39 commits
to master
since this release
4.18.1
Release 4.18.1 includes a few new client APIs, several performance improvements, bug fixes and dependency updates.
Apache BookKeeper users are encouraged to upgrade to 4.18.1 if you are using 4.18.x.
The technical details of this release are summarized below.
Features
- Pin a ledger's callbacks to a caller-chosen worker thread via
withOrderingKeyPR #4881 - Add
OpenBuilder.withKeepUpdateMetadataandDeleteBuilder.withLoggerContextto the builder API PR #4834
Improvements
- Add
SingleThreadExecutor.executeOrRunand issue reads inline from the ledger's own thread PR #4883 - Avoid per-checksum boxing in Java9IntHash by using MethodHandle.invokeExact PR #4876
- Use batch-draining queues in SingleThreadExecutor PR #4836
- Skip journal flush-trace loop when debug logging is disabled PR #4835
- Write journal entry length prefix and payload in a single BufferedChannel write PR #4833
- Use ThreadLocalRandom for thread selection in OrderedExecutor PR #4832
- Add spin-wait hint to BlockingMpscQueue producer-side busy loops PR #4831
Bugs
- Revert "Fix read thread blocking in sendResponseAndWait causing READ_ENTRY_REQUEST p99 latency spike (#4730)" PR #4830
- Prevent thread leak when BookKeeper client constructor fails PR #4798