You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by lu...@apache.org on 2026/07/02 01:33:39 UTC

(bookkeeper) branch master updated: Generate 4.18.0 release note (#4807)

This is an automated email from the ASF dual-hosted git repository.

StevenLuMT pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a012a2a1e Generate 4.18.0 release note (#4807)
4a012a2a1e is described below

commit 4a012a2a1e984333c65834caddb1639158ce6bac
Author: Hang Chen <ch...@apache.org>
AuthorDate: Wed Jul 1 18:33:30 2026 -0700

    Generate 4.18.0 release note (#4807)
---
 site3/website/src/pages/release-notes.md | 144 +++++++++++++++++++++++++++++++
 1 file changed, 144 insertions(+)

diff --git a/site3/website/src/pages/release-notes.md b/site3/website/src/pages/release-notes.md
index 6961beef89..52d112a82b 100644
--- a/site3/website/src/pages/release-notes.md
+++ b/site3/website/src/pages/release-notes.md
@@ -4,6 +4,150 @@ format: md
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.18.0
+
+Release 4.18.0 includes multiple important features, improvements, bug fixes and dependency/CVE updates.
+
+The technical details of this release are summarized below.
+
+### Breaking Changes
+
+* Require Java 17+ for building and running BookKeeper [PR #4446](https://github.com/apache/bookkeeper/pull/4446)
+* [improve][conf] Change the default value of `readOnlyModeOnAnyDiskFullEnabled` to true [PR #4520](https://github.com/apache/bookkeeper/pull/4520)
+* BP-69: Remove `bookkeeper-slogger` module [PR #4764](https://github.com/apache/bookkeeper/pull/4764)
+* Remove deprecated method `setAllocatorPoolingConcurrenncy` [PR #4431](https://github.com/apache/bookkeeper/pull/4431)
+* Remove deprecated class `MathUtils` [PR #4274](https://github.com/apache/bookkeeper/pull/4274)
+
+### Features
+
+* BP-69: Adopt slog for structured logging [PR #4751](https://github.com/apache/bookkeeper/pull/4751)
+* BP-69: Convert bookkeeper-common to slog (phase 1) [PR #4754](https://github.com/apache/bookkeeper/pull/4754)
+* BP-69: Convert stats and allocator modules to slog (phase 2) [PR #4755](https://github.com/apache/bookkeeper/pull/4755)
+* BP-69: Convert bookkeeper-server to slog (phase 3) [PR #4756](https://github.com/apache/bookkeeper/pull/4756)
+* BP-69: Convert stream/distributedlog modules to slog (phase 5) [PR #4757](https://github.com/apache/bookkeeper/pull/4757)
+* BP-69: Convert http, tools, benchmark and metadata-drivers to slog (phase 4+6) [PR #4758](https://github.com/apache/bookkeeper/pull/4758)
+* BP-69: Convert remaining SLF4J usages in non-test code to slog [PR #4765](https://github.com/apache/bookkeeper/pull/4765)
+* BP-69: Allow caller to pass a parent slog Logger to created/opened ledgers [PR #4766](https://github.com/apache/bookkeeper/pull/4766)
+* BP-69: Inherit LedgerHandle logger context in ledger operations [PR #4767](https://github.com/apache/bookkeeper/pull/4767)
+* BP-69: Print slog context attrs in log4j2; add OTel JSON example [PR #4770](https://github.com/apache/bookkeeper/pull/4770)
+* BP-68: Delete cookie as part of decommission API [PR #4500](https://github.com/apache/bookkeeper/pull/4500)
+* Delete cookie as part of decommission API [PR #4592](https://github.com/apache/bookkeeper/pull/4592)
+* BP-66: support throttling for zookeeper read during rereplication [PR #4258](https://github.com/apache/bookkeeper/pull/4258)
+* [BP-62] Expose `batchReadUnconfirmedAsync` to ReadHandle [PR #4739](https://github.com/apache/bookkeeper/pull/4739)
+* feat: migrate native-io implementation from C to Rust [PR #4738](https://github.com/apache/bookkeeper/pull/4738)
+* Migrate `BookkeeperProtocol` from protobuf-java to LightProto [PR #4780](https://github.com/apache/bookkeeper/pull/4780)
+* Migrate `DataFormats` from protobuf-java to LightProto [PR #4779](https://github.com/apache/bookkeeper/pull/4779)
+* Migrate stream non-gRPC protos to LightProto [PR #4781](https://github.com/apache/bookkeeper/pull/4781)
+* Migrate stream gRPC protos to LightProto [PR #4783](https://github.com/apache/bookkeeper/pull/4783)
+* Migrate from Yahoo DataSketches to Apache DataSketches 7.0.1 (KLL) [PR #4774](https://github.com/apache/bookkeeper/pull/4774)
+* Support bookie server config TCP keep-alive [PR #4762](https://github.com/apache/bookkeeper/pull/4762)
+* [client] new API to check if BookKeeper client is connected to metadata service [PR #4342](https://github.com/apache/bookkeeper/pull/4342)
+* feat: allow user config AsyncLogger in log4j2 [PR #4269](https://github.com/apache/bookkeeper/pull/4269)
+
+### Improvements
+
+#### Bookie
+
+* [improve] add metrics: `total_entry_log_space_bytes` [PR #4507](https://github.com/apache/bookkeeper/pull/4507)
+* improve: Enrich GC metrics to better analyze GC behavior and the time consumption of each phase [PR #4384](https://github.com/apache/bookkeeper/pull/4384)
+* add metric for rocksdb `getLastEntryInLedger` to help find out bottleneck [PR #4529](https://github.com/apache/bookkeeper/pull/4529)
+* Set ThreadFactory for Executor in EntryLoggerAllocator [PR #4562](https://github.com/apache/bookkeeper/pull/4562)
+* Add temp dir property for native library [PR #4533](https://github.com/apache/bookkeeper/pull/4533)
+* Apply WRITE_BUFFER_WATER_MARK setting to child channels in BookieNetty Server [PR #4337](https://github.com/apache/bookkeeper/pull/4337)
+* SingleDirectoryDbLedgerStorage skip optimistic cache put sometimes [PR #4306](https://github.com/apache/bookkeeper/pull/4306)
+* Log only overridden config in BookieServer startup [PR #4768](https://github.com/apache/bookkeeper/pull/4768)
+* Remove unused journaltime [PR #4006](https://github.com/apache/bookkeeper/pull/4006)
+
+#### Client
+
+* LedgerHandle: eliminate unnecessary synchronization on `LedgerHandle.getLength()` [PR #4516](https://github.com/apache/bookkeeper/pull/4516)
+* Optimize bounded batch reads by predicting entry count [PR #4741](https://github.com/apache/bookkeeper/pull/4741)
+* improve: Improve host address resolution logic for bookie id [PR #4588](https://github.com/apache/bookkeeper/pull/4588)
+* Rename the client high priority thread pool [PR #4496](https://github.com/apache/bookkeeper/pull/4496)
+
+#### Tools
+
+* [improve] Update readledger command to read all the entries from a bookie when first entry and last entry ids are not provided [PR #4692](https://github.com/apache/bookkeeper/pull/4692)
+* Optimize ListActiveLedgersCommand [PR #4602](https://github.com/apache/bookkeeper/pull/4602)
+* Optimize bookie usage information while using command line option `--help` [PR #4241](https://github.com/apache/bookkeeper/pull/4241)
+
+### Bugs
+
+#### Bookie
+
+* fix BookKeeper can't startup cause by 'IOException: Recovery log xxx is missing' [PR #4740](https://github.com/apache/bookkeeper/pull/4740)
+* Prevent double flush due to race in SingleDirectoryDbLedgerStorage [PR #4305](https://github.com/apache/bookkeeper/pull/4305)
+* Fix RocksDB configuration path handling on Windows [PR #4407](https://github.com/apache/bookkeeper/pull/4407)
+* Issue 4503: Added check into BufferedChannel's read to avoid endless loop [PR #4506](https://github.com/apache/bookkeeper/pull/4506)
+* [Fix] ConcurrentLongHashMap throw ArrayIndexOutOfBoundsException [PR #4771](https://github.com/apache/bookkeeper/pull/4771)
+* Add workaround for ZOOKEEPER-3825 related to numeric IPs and DNS names with multiple numeric IPs and support on Java 17 [PR #4719](https://github.com/apache/bookkeeper/pull/4719)
+* Fix async log appender not print error log when bookie starting exceptionally [PR #4475](https://github.com/apache/bookkeeper/pull/4475)
+* fix: throw reject when SingleThreadExecutor drainTo in progress and queue is empty [PR #4488](https://github.com/apache/bookkeeper/pull/4488)
+
+#### Client
+
+* Fix batch reads hanging after digest mismatch retries are ignored [PR #4789](https://github.com/apache/bookkeeper/pull/4789)
+* Fix WriteSet use-after-recycle in sequence reads [PR #4788](https://github.com/apache/bookkeeper/pull/4788)
+* Fix NPE in PendingAddOp.maybeTimeout() when clientCtx is null after recycling [PR #4760](https://github.com/apache/bookkeeper/pull/4760)
+* Fix race condition NPE in V3 response handling during timeout check [PR #4737](https://github.com/apache/bookkeeper/pull/4737)
+* [client][fix] Bookie WatchTask may be stuck [PR #4481](https://github.com/apache/bookkeeper/pull/4481)
+* Fix LedgerHandle batchReadUnconfirmedAsync: use slog log instead of LOG [PR #4782](https://github.com/apache/bookkeeper/pull/4782)
+* #4574: fix sanity check asyncBatchReadEntries [PR #4579](https://github.com/apache/bookkeeper/pull/4579)
+* fix: Add strict hostname resolution and loopback check for advertised address [PR #4595](https://github.com/apache/bookkeeper/pull/4595)
+* [fix] Change log level to debug when check parameters in BatchRead [PR #4485](https://github.com/apache/bookkeeper/pull/4485)
+
+#### Others
+
+* [FIX] Fix IllegalThreadStateException in ComponentStarter shutdown hook [PR #4733](https://github.com/apache/bookkeeper/pull/4733)
+* Fix potential jetcd-core shading problem [PR #4526](https://github.com/apache/bookkeeper/pull/4526)
+* Fix potential class conflict during jetcd-core-shaded shading process [PR #4532](https://github.com/apache/bookkeeper/pull/4532)
+* compatible fix wrong key for getHttpServerTrustStorePassword [PR #4301](https://github.com/apache/bookkeeper/pull/4301)
+* [fix] fix string format for exception in RocksdbKVStore [PR #4448](https://github.com/apache/bookkeeper/pull/4448)
+* fix: permission denied in the docker image [PR #4464](https://github.com/apache/bookkeeper/pull/4464)
+* [fix] Fix issue where options for sanity test command are ignored [PR #4691](https://github.com/apache/bookkeeper/pull/4691)
+* Fix duplicated call zkGetLogSegmentNames in getLogSegmentNames [PR #4050](https://github.com/apache/bookkeeper/pull/4050)
+* Fix the pid occupied check when use bookkeeper-daemon.sh start or stop [PR #3113](https://github.com/apache/bookkeeper/pull/3113)
+
+### Build, CI and Tests
+
+* Introduce /bkbot Command to Control CI Workflow Runs via PR Comments [PR #4673](https://github.com/apache/bookkeeper/pull/4673)
+* [Doc] Introduce CI Workflow Management with BookKeeper Bot [PR #4674](https://github.com/apache/bookkeeper/pull/4674)
+* [ci] Add /bkbot rerun-failure command for job-level failure rerun [PR #4746](https://github.com/apache/bookkeeper/pull/4746)
+* Upgrade website to Docusaurus 3 and use Node 24 to build [PR #4723](https://github.com/apache/bookkeeper/pull/4723)
+* ci: add java21(LTS) Compatibility Check [PR #4350](https://github.com/apache/bookkeeper/pull/4350)
+* build: add java21 and windows daily build [PR #4292](https://github.com/apache/bookkeeper/pull/4292)
+* ci: add typo ci check and fix typos [PR #4375](https://github.com/apache/bookkeeper/pull/4375)
+* Improve CI: add caching for BookKeeper old release downloads and improve maven caching and error logs [PR #4722](https://github.com/apache/bookkeeper/pull/4722)
+* Remove OWASP dependency check from CI [PR #4717](https://github.com/apache/bookkeeper/pull/4717)
+* fix: add javadoc support for pom-only shaded modules [PR #4787](https://github.com/apache/bookkeeper/pull/4787)
+
+### Dependency updates
+
+* Upgrade Netty to 4.2.14 [PR #4799](https://github.com/apache/bookkeeper/pull/4799)
+* Upgrade Netty to 4.2.13.Final to address CVEs [PR #4775](https://github.com/apache/bookkeeper/pull/4775)
+* Upgrade Netty to 4.2.12.Final [PR #4744](https://github.com/apache/bookkeeper/pull/4744)
+* Upgrade vert.x to 4.5.25 to address CVE-2026-6860 [PR #4790](https://github.com/apache/bookkeeper/pull/4790)
+* Upgrade OpenTelemetry libraries to 1.61.0 / 2.27.0 [PR #4773](https://github.com/apache/bookkeeper/pull/4773)
+* Upgrade to RocksDB 9.9.3 [PR #4580](https://github.com/apache/bookkeeper/pull/4580)
+* Upgrade Jetty from 9.4.57 to 12.1.7 [PR #4710](https://github.com/apache/bookkeeper/pull/4710)
+* Upgrade protobuf and grpc to latest versions [PR #4716](https://github.com/apache/bookkeeper/pull/4716)
+* Scope gRPC dependencies and rely on grpc-bom for single version [PR #4784](https://github.com/apache/bookkeeper/pull/4784)
+* Upgrade jctools to 4.0.6 (jctools-core-jdk11) [PR #4776](https://github.com/apache/bookkeeper/pull/4776)
+* Upgrade jctools version to 4.0.5 [PR #4656](https://github.com/apache/bookkeeper/pull/4656)
+* build(deps): bump org.apache.zookeeper:zookeeper from 3.9.4 to 3.9.5 [PR #4721](https://github.com/apache/bookkeeper/pull/4721)
+* build(deps): bump org.apache.zookeeper:zookeeper from 3.9.3 to 3.9.4 [PR #4667](https://github.com/apache/bookkeeper/pull/4667)
+* Upgrade Lombok to 1.18.32 for Java 22 support [PR #4267](https://github.com/apache/bookkeeper/pull/4267)
+* Bump bouncycastle version from 1.75 to 1.78 [PR #4295](https://github.com/apache/bookkeeper/pull/4295)
+* build(deps): bump org.bouncycastle:bc-fips from 1.0.2.4 to 1.0.2.5 [PR #4366](https://github.com/apache/bookkeeper/pull/4366)
+* build(deps): bump commons-io:commons-io from 2.7 to 2.17.0 [PR #4509](https://github.com/apache/bookkeeper/pull/4509)
+* Use slf4j-bom and log4j-bom in dependencyManagement [PR #4346](https://github.com/apache/bookkeeper/pull/4346)
+* Remove unused commons-lang dependency [PR #4654](https://github.com/apache/bookkeeper/pull/4654)
+* Upgrade os-maven-plugin to support RISC-V 64 [PR #4515](https://github.com/apache/bookkeeper/pull/4515)
+
+### Details
+
+https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.18.0+is%3Aclosed
+
 ## 4.17.3
 
 Release 4.17.3 includes multiple bug fixes and few dependency updates.