tag:github.com,2008:https://github.com/apache/bookkeeper/releasesRelease notes from bookkeeper2026-07-09T01:34:51Ztag:github.com,2008:Repository/1575956/v4.17.4-rc12026-07-09T01:34:51Zv4.17.4-rc1<p>[maven-release-plugin] copy for tag v4.17.4-rc1</p>StevenLuMTtag:github.com,2008:Repository/1575956/v4.17.4-rc02026-06-30T08:33:18Zv4.17.4-rc0<p>[maven-release-plugin] copy for tag v4.17.4-rc0</p>StevenLuMTtag:github.com,2008:Repository/1575956/release-4.18.02026-07-10T16:01:45ZRelease 4.18.0<p>Release 4.18.0 is a major feature release. It introduces structured logging across the whole<br>
code base (BP-69), migrates the wire protocol serialization to LightProto and the native I/O<br>
library to Rust, and raises the minimum required Java version to 17. It also includes many<br>
improvements, bug fixes and dependency/CVE updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.18.0. Please review the<br>
breaking changes and known issues below before upgrading.</p>
<h2>Highlights</h2>
<ul>
<li><strong>Structured logging (BP-69)</strong> — All BookKeeper logging has been converted from SLF4J<br>
format strings to <code>slog</code>, a structured logging API where each event carries typed key/value<br>
attributes (e.g. <code>ledgerId</code>, <code>entryId</code>). Logger context is propagated through client<br>
operations, so all events related to the same ledger are automatically tagged.<br>
Attributes are rendered by log4j2 in both plain-text and JSON output, with an example<br>
configuration for OpenTelemetry-compatible JSON logs.<br>
<a href="https://github.com/apache/bookkeeper/pull/4751" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4751/hovercard">PR #4751</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4754" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4754/hovercard">#4754</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4755" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4755/hovercard">#4755</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4756" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4756/hovercard">#4756</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4757" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4757/hovercard">#4757</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4758" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4758/hovercard">#4758</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4765" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4765/hovercard">#4765</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4766" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4766/hovercard">#4766</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4767" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4767/hovercard">#4767</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4770" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4770/hovercard">#4770</a></li>
<li><strong>LightProto serialization</strong> — The BookKeeper wire protocol, metadata formats and stream<br>
storage protos have been migrated from protobuf-java to LightProto, which parses and<br>
serializes directly on Netty buffers with no intermediate allocations, reducing GC pressure<br>
on the hot path. <a href="https://github.com/apache/bookkeeper/pull/4779" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4779/hovercard">PR #4779</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4780" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4780/hovercard">#4780</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4781" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4781/hovercard">#4781</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4783" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4783/hovercard">#4783</a></li>
<li><strong>Native I/O library rewritten in Rust</strong> — The <code>native-io</code> library used for direct I/O on<br>
the bookie has been migrated from C to Rust. <a href="https://github.com/apache/bookkeeper/pull/4738" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4738/hovercard">PR #4738</a></li>
<li><strong>Java 17 baseline</strong> — Java 17 or later is now required to build and run BookKeeper.<br>
<a href="https://github.com/apache/bookkeeper/pull/4446" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4446/hovercard">PR #4446</a></li>
<li><strong>Bookie decommission cleans up the cookie (BP-68)</strong> — The decommission admin API now<br>
deletes the bookie cookie from the metadata store, so a decommissioned bookie id can be<br>
reused without manual cleanup. <a href="https://github.com/apache/bookkeeper/pull/4500" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4500/hovercard">PR #4500</a>,<br>
<a href="https://github.com/apache/bookkeeper/pull/4592" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4592/hovercard">#4592</a></li>
<li><strong>ZooKeeper read throttling during re-replication (BP-66)</strong> — Re-replication can now<br>
throttle its ZooKeeper reads, protecting the metadata store from read storms when many<br>
ledgers are being recovered. <a href="https://github.com/apache/bookkeeper/pull/4258" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4258/hovercard">PR #4258</a></li>
<li><strong>Batch reads of unconfirmed entries (BP-62)</strong> — <code>batchReadUnconfirmedAsync</code> is now<br>
exposed on <code>ReadHandle</code>. <a href="https://github.com/apache/bookkeeper/pull/4739" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4739/hovercard">PR #4739</a></li>
</ul>
<h2>Breaking Changes</h2>
<ul>
<li>Java 17+ is required for building and running BookKeeper (previously Java 11)<br>
<a href="https://github.com/apache/bookkeeper/pull/4446" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4446/hovercard">PR #4446</a></li>
<li>The default value of <code>readOnlyModeOnAnyDiskFullEnabled</code> changed to <code>true</code>: a bookie now<br>
transitions to read-only as soon as any ledger disk is full, instead of only when all disks<br>
are full. Set it back to <code>false</code> to restore the previous behavior.<br>
<a href="https://github.com/apache/bookkeeper/pull/4520" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4520/hovercard">PR #4520</a></li>
<li>The <code>bookkeeper-slogger</code> module has been removed, superseded by the slog structured<br>
logging API (BP-69) <a href="https://github.com/apache/bookkeeper/pull/4764" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4764/hovercard">PR #4764</a></li>
<li>Removed the deprecated, misspelled method <code>setAllocatorPoolingConcurrenncy</code> — use<br>
<code>setAllocatorPoolingConcurrency</code> instead <a href="https://github.com/apache/bookkeeper/pull/4431" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4431/hovercard">PR #4431</a></li>
<li>Removed the deprecated class <code>MathUtils</code> <a href="https://github.com/apache/bookkeeper/pull/4274" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4274/hovercard">PR #4274</a></li>
</ul>
<h2>Known Issues</h2>
<ul>
<li><a href="https://github.com/apache/bookkeeper/pull/4730" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4730/hovercard">PR #4730</a> (read thread blocking fix in<br>
<code>sendResponseAndWait</code>), included in this release, was found to potentially cause a deadlock<br>
on the bookie read path. It has been reverted in<br>
<a href="https://github.com/apache/bookkeeper/pull/4830" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4830/hovercard">PR #4830</a>, which will be part of 4.18.1.</li>
</ul>
<h2>Features</h2>
<ul>
<li>Support TCP keep-alive configuration for the bookie server <a href="https://github.com/apache/bookkeeper/pull/4762" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4762/hovercard">PR #4762</a></li>
<li>New client API to check whether the BookKeeper client is connected to the metadata service <a href="https://github.com/apache/bookkeeper/pull/4342" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4342/hovercard">PR #4342</a></li>
<li>Migrate from Yahoo DataSketches to Apache DataSketches 7.0.1 (KLL) <a href="https://github.com/apache/bookkeeper/pull/4774" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4774/hovercard">PR #4774</a></li>
<li>Allow configuring log4j2 <code>AsyncLogger</code> <a href="https://github.com/apache/bookkeeper/pull/4269" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4269/hovercard">PR #4269</a></li>
</ul>
<h2>Improvements</h2>
<h4>Bookie</h4>
<ul>
<li>Add <code>total_entry_log_space_bytes</code> metric <a href="https://github.com/apache/bookkeeper/pull/4507" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4507/hovercard">PR #4507</a></li>
<li>Enrich GC metrics to better analyze GC behavior and the time spent in each phase <a href="https://github.com/apache/bookkeeper/pull/4384" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4384/hovercard">PR #4384</a></li>
<li>Add metric for RocksDB <code>getLastEntryInLedger</code> to help identify bottlenecks <a href="https://github.com/apache/bookkeeper/pull/4529" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4529/hovercard">PR #4529</a></li>
<li>Set ThreadFactory for the Executor in EntryLoggerAllocator <a href="https://github.com/apache/bookkeeper/pull/4562" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4562/hovercard">PR #4562</a></li>
<li>Add temp dir property for the native library <a href="https://github.com/apache/bookkeeper/pull/4533" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4533/hovercard">PR #4533</a></li>
<li>Apply the <code>WRITE_BUFFER_WATER_MARK</code> setting to child channels in the bookie Netty server <a href="https://github.com/apache/bookkeeper/pull/4337" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4337/hovercard">PR #4337</a></li>
<li>Skip wasted optimistic cache insertion in SingleDirectoryDbLedgerStorage when the write lock is held <a href="https://github.com/apache/bookkeeper/pull/4306" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4306/hovercard">PR #4306</a></li>
<li>Log only overridden configuration settings at BookieServer startup <a href="https://github.com/apache/bookkeeper/pull/4768" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4768/hovercard">PR #4768</a></li>
<li>Remove unused journal time tracking <a href="https://github.com/apache/bookkeeper/pull/4006" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4006/hovercard">PR #4006</a></li>
</ul>
<h4>Client</h4>
<ul>
<li>Eliminate unnecessary synchronization on <code>LedgerHandle.getLength()</code> <a href="https://github.com/apache/bookkeeper/pull/4516" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4516/hovercard">PR #4516</a></li>
<li>Optimize bounded batch reads by predicting the entry count <a href="https://github.com/apache/bookkeeper/pull/4741" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4741/hovercard">PR #4741</a></li>
<li>Improve host address resolution logic for bookie id <a href="https://github.com/apache/bookkeeper/pull/4588" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4588/hovercard">PR #4588</a></li>
<li>Rename the client high-priority thread pool <a href="https://github.com/apache/bookkeeper/pull/4496" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4496/hovercard">PR #4496</a></li>
</ul>
<h4>Tools</h4>
<ul>
<li><code>readledger</code> command reads all entries from a bookie when first and last entry ids are not provided <a href="https://github.com/apache/bookkeeper/pull/4692" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4692/hovercard">PR #4692</a></li>
<li>Optimize ListActiveLedgersCommand <a href="https://github.com/apache/bookkeeper/pull/4602" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4602/hovercard">PR #4602</a></li>
<li>Improve bookie CLI usage information for the <code>--help</code> option <a href="https://github.com/apache/bookkeeper/pull/4241" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4241/hovercard">PR #4241</a></li>
</ul>
<h2>Bug Fixes</h2>
<h4>Bookie</h4>
<ul>
<li>Fix bookie startup failure caused by <code>IOException: Recovery log <id> is missing</code> <a href="https://github.com/apache/bookkeeper/pull/4740" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4740/hovercard">PR #4740</a></li>
<li>Prevent double flush due to a race condition in SingleDirectoryDbLedgerStorage <a href="https://github.com/apache/bookkeeper/pull/4305" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4305/hovercard">PR #4305</a></li>
<li>Fix RocksDB configuration path handling on Windows <a href="https://github.com/apache/bookkeeper/pull/4407" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4407/hovercard">PR #4407</a></li>
<li>Fix endless loop in BufferedChannel read <a href="https://github.com/apache/bookkeeper/pull/4506" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4506/hovercard">PR #4506</a></li>
<li>Fix ArrayIndexOutOfBoundsException in ConcurrentLongHashMap <a href="https://github.com/apache/bookkeeper/pull/4771" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4771/hovercard">PR #4771</a></li>
<li>Add workaround for ZOOKEEPER-3825 (numeric IPs and DNS names resolving to multiple numeric IPs) with Java 17 support <a href="https://github.com/apache/bookkeeper/pull/4719" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4719/hovercard">PR #4719</a></li>
<li>Fix async log appender swallowing error logs when the bookie fails to start <a href="https://github.com/apache/bookkeeper/pull/4475" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4475/hovercard">PR #4475</a></li>
<li>Fix SingleThreadExecutor to reject new tasks while a <code>drainTo</code> is in progress and the queue is empty <a href="https://github.com/apache/bookkeeper/pull/4488" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4488/hovercard">PR #4488</a></li>
</ul>
<h4>Client</h4>
<ul>
<li>Fix batch reads hanging after digest mismatch retries are ignored <a href="https://github.com/apache/bookkeeper/pull/4789" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4789/hovercard">PR #4789</a></li>
<li>Fix WriteSet use-after-recycle in sequence reads <a href="https://github.com/apache/bookkeeper/pull/4788" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4788/hovercard">PR #4788</a></li>
<li>Fix NPE in <code>PendingAddOp.maybeTimeout()</code> when clientCtx is null after recycling <a href="https://github.com/apache/bookkeeper/pull/4760" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4760/hovercard">PR #4760</a></li>
<li>Fix race condition NPE in V3 response handling during timeout check <a href="https://github.com/apache/bookkeeper/pull/4737" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4737/hovercard">PR #4737</a></li>
<li>Fix bookie WatchTask getting stuck <a href="https://github.com/apache/bookkeeper/pull/4481" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4481/hovercard">PR #4481</a></li>
<li>Fix sanity check in <code>asyncBatchReadEntries</code> <a href="https://github.com/apache/bookkeeper/pull/4579" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4579/hovercard">PR #4579</a></li>
<li>Add strict hostname resolution and loopback check for the advertised address <a href="https://github.com/apache/bookkeeper/pull/4595" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4595/hovercard">PR #4595</a></li>
<li>Use the instance slog logger in <code>LedgerHandle.batchReadUnconfirmedAsync</code> <a href="https://github.com/apache/bookkeeper/pull/4782" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4782/hovercard">PR #4782</a></li>
<li>Change log level to debug for parameter checks in batch read <a href="https://github.com/apache/bookkeeper/pull/4485" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4485/hovercard">PR #4485</a></li>
</ul>
<h4>Others</h4>
<ul>
<li>Fix IllegalThreadStateException in ComponentStarter shutdown hook <a href="https://github.com/apache/bookkeeper/pull/4733" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4733/hovercard">PR #4733</a></li>
<li>Fix potential jetcd-core shading problem <a href="https://github.com/apache/bookkeeper/pull/4526" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4526/hovercard">PR #4526</a></li>
<li>Fix potential class conflict during the jetcd-core-shaded shading process <a href="https://github.com/apache/bookkeeper/pull/4532" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4532/hovercard">PR #4532</a></li>
<li>Fix wrong configuration key in <code>getHttpServerTrustStorePassword</code> <a href="https://github.com/apache/bookkeeper/pull/4301" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4301/hovercard">PR #4301</a></li>
<li>Fix exception message formatting in RocksdbKVStore <a href="https://github.com/apache/bookkeeper/pull/4448" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4448/hovercard">PR #4448</a></li>
<li>Fix permission denied error in the Docker image <a href="https://github.com/apache/bookkeeper/pull/4464" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4464/hovercard">PR #4464</a></li>
<li>Fix options for the sanity test command being ignored <a href="https://github.com/apache/bookkeeper/pull/4691" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4691/hovercard">PR #4691</a></li>
<li>Fix duplicated ZooKeeper call in DistributedLog <code>getLogSegmentNames</code> <a href="https://github.com/apache/bookkeeper/pull/4050" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4050/hovercard">PR #4050</a></li>
<li>Fix the pid check in <code>bookkeeper-daemon.sh</code> start/stop <a href="https://github.com/apache/bookkeeper/pull/3113" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3113/hovercard">PR #3113</a></li>
</ul>
<h2>Build, CI and Tests</h2>
<ul>
<li>Introduce <code>/bkbot</code> command to control CI workflow runs via PR comments <a href="https://github.com/apache/bookkeeper/pull/4673" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4673/hovercard">PR #4673</a>, <a href="https://github.com/apache/bookkeeper/pull/4674" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4674/hovercard">#4674</a>, <a href="https://github.com/apache/bookkeeper/pull/4746" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4746/hovercard">#4746</a></li>
<li>Upgrade website to Docusaurus 3, built with Node 24 <a href="https://github.com/apache/bookkeeper/pull/4723" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4723/hovercard">PR #4723</a></li>
<li>Add Java 21 (LTS) compatibility check and Java 21/Windows daily builds <a href="https://github.com/apache/bookkeeper/pull/4350" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4350/hovercard">PR #4350</a>, <a href="https://github.com/apache/bookkeeper/pull/4292" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4292/hovercard">#4292</a></li>
<li>Add typo check to CI and fix existing typos <a href="https://github.com/apache/bookkeeper/pull/4375" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4375/hovercard">PR #4375</a></li>
<li>Improve CI caching for old release downloads and Maven artifacts, improve error logs <a href="https://github.com/apache/bookkeeper/pull/4722" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4722/hovercard">PR #4722</a></li>
<li>Remove OWASP dependency check from CI <a href="https://github.com/apache/bookkeeper/pull/4717" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4717/hovercard">PR #4717</a></li>
<li>Add javadoc support for pom-only shaded modules <a href="https://github.com/apache/bookkeeper/pull/4787" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4787/hovercard">PR #4787</a></li>
</ul>
<h2>Dependency updates</h2>
<ul>
<li>Upgrade Netty to 4.2.14.Final, addressing CVEs <a href="https://github.com/apache/bookkeeper/pull/4744" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4744/hovercard">PR #4744</a>, <a href="https://github.com/apache/bookkeeper/pull/4775" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4775/hovercard">#4775</a>, <a href="https://github.com/apache/bookkeeper/pull/4799" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4799/hovercard">#4799</a></li>
<li>Upgrade Vert.x to 4.5.25 to address <a title="CVE-2026-6860" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-3g76-f9xq-8vp6/hovercard" href="https://github.com/advisories/GHSA-3g76-f9xq-8vp6">CVE-2026-6860</a> <a href="https://github.com/apache/bookkeeper/pull/4790" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4790/hovercard">PR #4790</a></li>
<li>Upgrade Jetty from 9.4.57 to 12.1.7 <a href="https://github.com/apache/bookkeeper/pull/4710" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4710/hovercard">PR #4710</a></li>
<li>Upgrade RocksDB to 9.9.3 <a href="https://github.com/apache/bookkeeper/pull/4580" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4580/hovercard">PR #4580</a></li>
<li>Upgrade ZooKeeper from 3.9.3 to 3.9.5 <a href="https://github.com/apache/bookkeeper/pull/4667" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4667/hovercard">PR #4667</a>, <a href="https://github.com/apache/bookkeeper/pull/4721" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4721/hovercard">#4721</a></li>
<li>Upgrade protobuf and gRPC to latest versions; scope gRPC dependencies via grpc-bom <a href="https://github.com/apache/bookkeeper/pull/4716" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4716/hovercard">PR #4716</a>, <a href="https://github.com/apache/bookkeeper/pull/4784" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4784/hovercard">#4784</a></li>
<li>Upgrade OpenTelemetry libraries to 1.61.0 / 2.27.0 <a href="https://github.com/apache/bookkeeper/pull/4773" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4773/hovercard">PR #4773</a></li>
<li>Upgrade jctools to 4.0.6 (jctools-core-jdk11) <a href="https://github.com/apache/bookkeeper/pull/4656" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4656/hovercard">PR #4656</a>, <a href="https://github.com/apache/bookkeeper/pull/4776" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4776/hovercard">#4776</a></li>
<li>Upgrade Lombok to 1.18.32 for Java 22 support <a href="https://github.com/apache/bookkeeper/pull/4267" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4267/hovercard">PR #4267</a></li>
<li>Upgrade BouncyCastle from 1.75 to 1.78, bc-fips from 1.0.2.4 to 1.0.2.5 <a href="https://github.com/apache/bookkeeper/pull/4295" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4295/hovercard">PR #4295</a>, <a href="https://github.com/apache/bookkeeper/pull/4366" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4366/hovercard">#4366</a></li>
<li>Upgrade commons-io from 2.7 to 2.17.0 <a href="https://github.com/apache/bookkeeper/pull/4509" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4509/hovercard">PR #4509</a></li>
<li>Use slf4j-bom and log4j-bom in dependencyManagement <a href="https://github.com/apache/bookkeeper/pull/4346" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4346/hovercard">PR #4346</a></li>
<li>Remove unused commons-lang dependency <a href="https://github.com/apache/bookkeeper/pull/4654" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4654/hovercard">PR #4654</a></li>
<li>Upgrade os-maven-plugin to support RISC-V 64 <a href="https://github.com/apache/bookkeeper/pull/4515" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4515/hovercard">PR #4515</a></li>
</ul>
<h2>Details</h2>
<p>Full list of changes: <a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.18.0+is%3Aclosed">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.18.0+is%3Aclosed</a></p>hangc0276tag:github.com,2008:Repository/1575956/release-4.17.32026-01-20T08:34:51ZRelease 4.17.3<h2>4.17.3</h2>
<p>Release 4.17.3 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.17.3 if you are using 4.17.x.<br>
The technical details of this release are summarized below.</p>
<h4>Bugs</h4>
<ul>
<li>Fix: Garbage collection stuck on corrupt entry log file <a href="https://github.com/apache/bookkeeper/pull/4544" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4544/hovercard">PR #4544</a></li>
<li>[fix] Failed read entries after multiple decommissioning <a href="https://github.com/apache/bookkeeper/pull/4613" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4613/hovercard">PR #4613</a></li>
<li>[fix]BK stays at read_only state even if the disk is empty <a href="https://github.com/apache/bookkeeper/pull/4640" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4640/hovercard">PR #4640</a></li>
<li>Bring back the old public method name which removed from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242300914" data-permission-text="Title is private" data-url="https://github.com/apache/bookkeeper/issues/4640" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4640/hovercard" href="https://github.com/apache/bookkeeper/pull/4640">#4640</a> <a href="https://github.com/apache/bookkeeper/pull/4682" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4682/hovercard">PR #4682</a></li>
<li>[fix]compile error of the file native_io_jni.c for the env jdk11 & windows <a href="https://github.com/apache/bookkeeper/pull/4665" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4665/hovercard">PR #4665</a></li>
<li>Only stop Gc for the fill disk for DbLedgerStorage <a href="https://github.com/apache/bookkeeper/pull/4661" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4661/hovercard">PR #4661</a></li>
<li>[fix]Wrong error code(-102) when opening a deleted ledger <a href="https://github.com/apache/bookkeeper/pull/4657" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4657/hovercard">PR #4657</a></li>
<li>Log all the error in the GarbageCollectorThread <a href="https://github.com/apache/bookkeeper/pull/4649" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4649/hovercard">PR #4649</a></li>
</ul>
<h4>Improvements</h4>
<ul>
<li>support <code>equalsAndHashcode</code> for BookieServerInfo <a href="https://github.com/apache/bookkeeper/pull/4686" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4686/hovercard">PR #4686</a></li>
<li>Supports configuring TCP Keepalive related parameters in Bookie Client. <a href="https://github.com/apache/bookkeeper/pull/4683" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4683/hovercard">PR #4683</a></li>
<li>add rate limit for zk read rate in gc. <a href="https://github.com/apache/bookkeeper/pull/4645" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4645/hovercard">PR #4645</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Upgrade netty to 4.1.130 Final <a href="https://github.com/apache/bookkeeper/pull/4699" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4699/hovercard">PR #4699</a></li>
<li>[security] Replace net.jpountz.lz4:lz4 with at.yawk.lz4:lz4-java <a href="https://github.com/apache/bookkeeper/pull/4696" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4696/hovercard">PR #4696</a></li>
<li>Upgrade OpenTelemetry to 1.56.0, Otel instrumentation to 2.21.0 and Otel semconv to 1.37.0 <a href="https://github.com/apache/bookkeeper/pull/4690" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4690/hovercard">PR #4690</a></li>
<li>Exclude commons-collections from dependencies <a href="https://github.com/apache/bookkeeper/pull/4689" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4689/hovercard">PR #4689</a></li>
<li>Remove commons-configuration2 and commons-beanutils from top level dependencies <a href="https://github.com/apache/bookkeeper/pull/4648" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4648/hovercard">PR #4648</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/apache/bookkeeper/compare/release-4.17.2...release-4.17.3"><tt>release-4.17.2...release-4.17.3</tt></a></p>zymaptag:github.com,2008:Repository/1575956/release-4.17.22025-07-05T22:23:01ZRelease 4.17.2<p>Release 4.17.2 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.17.2 if you are using 4.17.x.<br>
The technical details of this release are summarized below.</p>
<h3>Highlights</h3>
<h4>Bugs</h4>
<ul>
<li>Fix a NPE bug after refactor recycler of BookieClient <a href="https://github.com/apache/bookkeeper/pull/4610" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4610/hovercard">PR #4610</a></li>
<li>Fix Memory Leak In Netty Recycler of Bookie Client <a href="https://github.com/apache/bookkeeper/pull/4609" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4609/hovercard">PR #4609</a></li>
<li>Fix the data loss issue that caused by the wrong entry log header <a href="https://github.com/apache/bookkeeper/pull/4607" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4607/hovercard">PR #4607</a></li>
<li>Fix the coredump that occurs when calling KeyValueStorageRocksDB.count after rocksdb has been closed <a href="https://github.com/apache/bookkeeper/pull/4581" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4581/hovercard">PR #4581</a></li>
<li>Fix and improve locating RocksDB config files <a href="https://github.com/apache/bookkeeper/pull/4560" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4560/hovercard">PR #4560</a></li>
<li>[fix] Write stuck due to pending add callback by multiple threads <a href="https://github.com/apache/bookkeeper/pull/4557" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4557/hovercard">PR #4557</a></li>
<li>Fix SST files not being cleaned up in the locations folder <a href="https://github.com/apache/bookkeeper/pull/4555" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4555/hovercard">PR #4555</a></li>
<li>Fix tune-runner-vm action to run correctly on <code>ubuntu-24.04</code> image <a href="https://github.com/apache/bookkeeper/pull/4536" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4536/hovercard">PR #4536</a></li>
<li>[cli] Fix: recover command doesn't accept rate limit parameter <a href="https://github.com/apache/bookkeeper/pull/4535" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4535/hovercard">PR #4535</a></li>
<li>fix pendingDeletedLedgers do not remove ledger error <a href="https://github.com/apache/bookkeeper/pull/4525" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4525/hovercard">PR #4525</a></li>
<li>Fix region aware placement policy disk weight dose not update. <a href="https://github.com/apache/bookkeeper/pull/4522" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4522/hovercard">PR #4522</a></li>
<li>Fix check read failed entry memory leak issue. <a href="https://github.com/apache/bookkeeper/pull/4513" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4513/hovercard">PR #4513</a></li>
<li>[fix] remove in address2Region while bookie left to get correct rack info <a href="https://github.com/apache/bookkeeper/pull/4504" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4504/hovercard">PR #4504</a></li>
<li>fix: install netcat-openbsd instead of netcat in test image build <a href="https://github.com/apache/bookkeeper/pull/4476" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4476/hovercard">PR #4476</a></li>
<li>[fix][ci] Fix OWASP Dependency Check download by using NVD API key <a href="https://github.com/apache/bookkeeper/pull/4473" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4473/hovercard">PR #4473</a></li>
<li>Fix ReadOnlyLedgerHandle leak issue when checkAllLedgers. <a href="https://github.com/apache/bookkeeper/pull/4468" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4468/hovercard">PR #4468</a></li>
<li>fix[rocksdb]: fix error rocksdb default config for CFOptions <a href="https://github.com/apache/bookkeeper/pull/4466" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4466/hovercard">PR #4466</a></li>
<li>[fix] Fix data lost after when writing ledger and deleting legder execute concurrency <a href="https://github.com/apache/bookkeeper/pull/4462" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4462/hovercard">PR #4462</a></li>
<li>[BugFix] Fix to prevent resource leaks in 3 classes <a href="https://github.com/apache/bookkeeper/pull/4449" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4449/hovercard">PR #4449</a></li>
<li>Correct RackawareEnsemblePlacementPolicyImpl defaultRack when the bookie is not available. <a href="https://github.com/apache/bookkeeper/pull/4439" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4439/hovercard">PR #4439</a></li>
<li>Fix the completionObjects leak problem. <a href="https://github.com/apache/bookkeeper/pull/4285" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4285/hovercard">PR #4285</a></li>
<li>Issue 2161: set metrics endpoint content-type <a href="https://github.com/apache/bookkeeper/pull/4208" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4208/hovercard">PR #4208</a></li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Adjust DNS cache expiration in tests to reduce test timeout failures <a href="https://github.com/apache/bookkeeper/pull/4586" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4586/hovercard">PR #4586</a></li>
<li>Change the new ensemble log to info level <a href="https://github.com/apache/bookkeeper/pull/4566" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4566/hovercard">PR #4566</a></li>
<li>Add documentation to bk_server.conf about RocksDB config <a href="https://github.com/apache/bookkeeper/pull/4561" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4561/hovercard">PR #4561</a></li>
<li>Reduce metadataLock contention in LedgerHandle <a href="https://github.com/apache/bookkeeper/pull/4549" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4549/hovercard">PR #4549</a></li>
<li>[improve] when rackaware failed to choose a bookie, print out the list of ensemble. <a href="https://github.com/apache/bookkeeper/pull/4482" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4482/hovercard">PR #4482</a></li>
<li>Ensure that formatVersion is specified for all RocksDB databases <a href="https://github.com/apache/bookkeeper/pull/4559" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4559/hovercard">PR #4559</a></li>
<li>Set default format_version to 5 for RocksDB databases <a href="https://github.com/apache/bookkeeper/pull/4480" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4480/hovercard">PR #4480</a></li>
<li>[improve] Optimize reorderReadSequence to Check WriteSet <a href="https://github.com/apache/bookkeeper/pull/4478" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4478/hovercard">PR #4478</a></li>
<li>Update Release Script Instructions and Python Publishing Scripts <a href="https://github.com/apache/bookkeeper/pull/4458" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4458/hovercard">PR #4458</a></li>
<li>Enable ZooKeeper client to establish connection in read-only mode <a href="https://github.com/apache/bookkeeper/pull/4244" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4244/hovercard">PR #4244</a></li>
<li>Allocator support exitOnOutOfMemory config. <a href="https://github.com/apache/bookkeeper/pull/3984" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3984/hovercard">PR #3984</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Upgrade commons-beanutils to 1.11.0 to address <a title="CVE-2025-48734" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-wxr5-93ph-8wr9/hovercard" href="https://github.com/advisories/GHSA-wxr5-93ph-8wr9">CVE-2025-48734</a> <a href="https://github.com/apache/bookkeeper/pull/4608" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4608/hovercard">PR #4608</a></li>
<li>Migrate deprecated commons-configuration 1.x to commons-configuration 2.x <a href="https://github.com/apache/bookkeeper/pull/4604" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4604/hovercard">PR #4604</a></li>
<li>Upgrade Jetty to 9.4.57.v20241219 to mitigate <a title="CVE-2024-6763" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-qh8g-58pp-2wxh/hovercard" href="https://github.com/advisories/GHSA-qh8g-58pp-2wxh">CVE-2024-6763</a> <a href="https://github.com/apache/bookkeeper/pull/4600" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4600/hovercard">PR #4600</a></li>
<li>Upgrade Netty to 4.1.121.Final <a href="https://github.com/apache/bookkeeper/pull/4597" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4597/hovercard">PR #4597</a></li>
<li>Upgrade to grpc 1.72.0 <a href="https://github.com/apache/bookkeeper/pull/4591" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4591/hovercard">PR #4591</a></li>
<li>Upgrade OpenTelemetry version and align versions using BOMs <a href="https://github.com/apache/bookkeeper/pull/4589" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4589/hovercard">PR #4589</a></li>
<li>Upgrade Netty to 4.1.119, tcnative to 2.0.70 and io_uring to 0.0.26 <a href="https://github.com/apache/bookkeeper/pull/4584" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4584/hovercard">PR #4584</a></li>
<li>Upgrade Apache Commons libraries to compatible versions <a href="https://github.com/apache/bookkeeper/pull/4582" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4582/hovercard">PR #4582</a></li>
<li>Bump vertx.version from 4.5.7 to 4.5.11 to address <a title="CVE-2024-8391" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-g76f-gjfx-4rpr/hovercard" href="https://github.com/advisories/GHSA-g76f-gjfx-4rpr">CVE-2024-8391</a> <a href="https://github.com/apache/bookkeeper/pull/4545" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4545/hovercard">PR #4545</a></li>
<li>Upgrade to Netty 4.1.115.Final to address <a title="CVE-2024-47535" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xq3w-v528-46rv/hovercard" href="https://github.com/advisories/GHSA-xq3w-v528-46rv">CVE-2024-47535</a> <a href="https://github.com/apache/bookkeeper/pull/4524" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4524/hovercard">PR #4524</a></li>
<li>Upgrade Zookeeper to 3.9.3 to address <a title="CVE-2024-51504" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-g93m-8x6h-g5gv/hovercard" href="https://github.com/advisories/GHSA-g93m-8x6h-g5gv">CVE-2024-51504</a> <a href="https://github.com/apache/bookkeeper/pull/4523" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4523/hovercard">PR #4523</a></li>
<li>Upgrade gRPC to 1.70.0 <a href="https://github.com/apache/bookkeeper/pull/4512" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4512/hovercard">PR #4512</a></li>
<li>Upgrade protobuf to 3.25.5 to address <a title="CVE-2024-7254" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-735f-pc8j-v9w8/hovercard" href="https://github.com/advisories/GHSA-735f-pc8j-v9w8">CVE-2024-7254</a> <a href="https://github.com/apache/bookkeeper/pull/4508" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4508/hovercard">PR #4508</a></li>
<li>Upgrade to Netty 4.1.113.Final and netty-tcnative 2.0.66.Final <a href="https://github.com/apache/bookkeeper/pull/4502" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4502/hovercard">PR #4502</a></li>
<li>Bump grpc from 1.56.0 to 1.64.0 to address CVE list <a href="https://github.com/apache/bookkeeper/pull/4344" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4344/hovercard">PR #4344</a></li>
</ul>
<h4>Details</h4>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.2+is%3Amerged+">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.2+is%3Amerged+</a></p>StevenLuMTtag:github.com,2008:Repository/1575956/release-4.16.72025-07-03T09:19:05ZRelease 4.16.7<p>Release 4.16.7 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.16.7 if you are using 4.16.x.<br>
The technical details of this release are summarized below.</p>
<h3>Highlights</h3>
<h4>Bugs</h4>
<ul>
<li>Fix the data loss issue that caused by the wrong entry log header <a href="https://github.com/apache/bookkeeper/pull/4607" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4607/hovercard">PR #4607</a></li>
<li>Fix the coredump that occurs when calling KeyValueStorageRocksDB.count after rocksdb has been closed <a href="https://github.com/apache/bookkeeper/pull/4581" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4581/hovercard">PR #4581</a></li>
<li>Fix and improve locating RocksDB config files <a href="https://github.com/apache/bookkeeper/pull/4560" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4560/hovercard">PR #4560</a></li>
<li>[fix] Write stuck due to pending add callback by multiple threads <a href="https://github.com/apache/bookkeeper/pull/4557" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4557/hovercard">PR #4557</a></li>
<li>Fix SST files not being cleaned up in the locations folder <a href="https://github.com/apache/bookkeeper/pull/4555" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4555/hovercard">PR #4555</a></li>
<li>Fix tune-runner-vm action to run correctly on <code>ubuntu-24.04</code> image <a href="https://github.com/apache/bookkeeper/pull/4536" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4536/hovercard">PR #4536</a></li>
<li>[cli] Fix: recover command doesn't accept rate limit parameter <a href="https://github.com/apache/bookkeeper/pull/4535" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4535/hovercard">PR #4535</a></li>
<li>fix pendingDeletedLedgers do not remove ledger error <a href="https://github.com/apache/bookkeeper/pull/4525" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4525/hovercard">PR #4525</a></li>
<li>Fix region aware placement policy disk weight dose not update. <a href="https://github.com/apache/bookkeeper/pull/4522" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4522/hovercard">PR #4522</a></li>
<li>Fix check read failed entry memory leak issue. <a href="https://github.com/apache/bookkeeper/pull/4513" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4513/hovercard">PR #4513</a></li>
<li>[fix] remove in address2Region while bookie left to get correct rack info <a href="https://github.com/apache/bookkeeper/pull/4504" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4504/hovercard">PR #4504</a></li>
<li>fix: install netcat-openbsd instead of netcat in test image build <a href="https://github.com/apache/bookkeeper/pull/4476" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4476/hovercard">PR #4476</a></li>
<li>[fix][ci] Fix OWASP Dependency Check download by using NVD API key <a href="https://github.com/apache/bookkeeper/pull/4473" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4473/hovercard">PR #4473</a></li>
<li>fix[rocksdb]: fix error rocksdb default config for CFOptions <a href="https://github.com/apache/bookkeeper/pull/4466" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4466/hovercard">PR #4466</a></li>
<li>[fix] Fix data lost after when writing ledger and deleting legder execute concurrency <a href="https://github.com/apache/bookkeeper/pull/4462" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4462/hovercard">PR #4462</a></li>
<li>[BugFix] Fix to prevent resource leaks in 3 classes <a href="https://github.com/apache/bookkeeper/pull/4449" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4449/hovercard">PR #4449</a></li>
<li>Correct RackawareEnsemblePlacementPolicyImpl defaultRack when the bookie is not available. <a href="https://github.com/apache/bookkeeper/pull/4439" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4439/hovercard">PR #4439</a></li>
<li>Fix the completionObjects leak problem. <a href="https://github.com/apache/bookkeeper/pull/4285" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4285/hovercard">PR #4285</a></li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Adjust DNS cache expiration in tests to reduce test timeout failures <a href="https://github.com/apache/bookkeeper/pull/4586" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4586/hovercard">PR #4586</a></li>
<li>Change the new ensemble log to info level <a href="https://github.com/apache/bookkeeper/pull/4566" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4566/hovercard">PR #4566</a></li>
<li>Add documentation to bk_server.conf about RocksDB config <a href="https://github.com/apache/bookkeeper/pull/4561" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4561/hovercard">PR #4561</a></li>
<li>Reduce metadataLock contention in LedgerHandle <a href="https://github.com/apache/bookkeeper/pull/4549" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4549/hovercard">PR #4549</a></li>
<li>[improve] when rackaware failed to choose a bookie, print out the list of ensemble. <a href="https://github.com/apache/bookkeeper/pull/4482" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4482/hovercard">PR #4482</a></li>
<li>Ensure that formatVersion is specified for all RocksDB databases <a href="https://github.com/apache/bookkeeper/pull/4559" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4559/hovercard">PR #4559</a></li>
<li>Set default format_version to 5 for RocksDB databases <a href="https://github.com/apache/bookkeeper/pull/4480" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4480/hovercard">PR #4480</a></li>
<li>[improve] Optimize reorderReadSequence to Check WriteSet <a href="https://github.com/apache/bookkeeper/pull/4478" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4478/hovercard">PR #4478</a></li>
<li>Update Release Script Instructions and Python Publishing Scripts <a href="https://github.com/apache/bookkeeper/pull/4458" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4458/hovercard">PR #4458</a></li>
<li>Enable ZooKeeper client to establish connection in read-only mode <a href="https://github.com/apache/bookkeeper/pull/4244" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4244/hovercard">PR #4244</a></li>
<li>Improve auto-recovery noise log when some bookie down. <a href="https://github.com/apache/bookkeeper/pull/4118" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4118/hovercard">PR #4118</a></li>
<li>Allocator support exitOnOutOfMemory config. <a href="https://github.com/apache/bookkeeper/pull/3984" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3984/hovercard">PR #3984</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Upgrade Jetty to 9.4.57.v20241219 to mitigate <a title="CVE-2024-6763" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-qh8g-58pp-2wxh/hovercard" href="https://github.com/advisories/GHSA-qh8g-58pp-2wxh">CVE-2024-6763</a> <a href="https://github.com/apache/bookkeeper/pull/4600" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4600/hovercard">PR #4600</a></li>
<li>Upgrade Netty to 4.1.121.Final <a href="https://github.com/apache/bookkeeper/pull/4597" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4597/hovercard">PR #4597</a></li>
<li>Upgrade Netty to 4.1.119, tcnative to 2.0.70 and io_uring to 0.0.26 <a href="https://github.com/apache/bookkeeper/pull/4584" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4584/hovercard">PR #4584</a></li>
<li>Upgrade Apache Commons libraries to compatible versions <a href="https://github.com/apache/bookkeeper/pull/4582" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4582/hovercard">PR #4582</a></li>
<li>Bump vertx.version from 4.5.7 to 4.5.11 to address <a title="CVE-2024-8391" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-g76f-gjfx-4rpr/hovercard" href="https://github.com/advisories/GHSA-g76f-gjfx-4rpr">CVE-2024-8391</a> <a href="https://github.com/apache/bookkeeper/pull/4545" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4545/hovercard">PR #4545</a></li>
<li>Upgrade to Netty 4.1.115.Final to address <a title="CVE-2024-47535" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-xq3w-v528-46rv/hovercard" href="https://github.com/advisories/GHSA-xq3w-v528-46rv">CVE-2024-47535</a> <a href="https://github.com/apache/bookkeeper/pull/4524" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4524/hovercard">PR #4524</a></li>
<li>Upgrade Zookeeper to 3.9.3 to address <a title="CVE-2024-51504" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-g93m-8x6h-g5gv/hovercard" href="https://github.com/advisories/GHSA-g93m-8x6h-g5gv">CVE-2024-51504</a> <a href="https://github.com/apache/bookkeeper/pull/4523" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4523/hovercard">PR #4523</a></li>
<li>Upgrade protobuf to 3.25.5 to address <a title="CVE-2024-7254" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-735f-pc8j-v9w8/hovercard" href="https://github.com/advisories/GHSA-735f-pc8j-v9w8">CVE-2024-7254</a> <a href="https://github.com/apache/bookkeeper/pull/4508" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4508/hovercard">PR #4508</a></li>
<li>Upgrade to Netty 4.1.113.Final and netty-tcnative 2.0.66.Final <a href="https://github.com/apache/bookkeeper/pull/4502" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4502/hovercard">PR #4502</a></li>
</ul>
<h4>Details</h4>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.7+is%3Amerged+">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.7+is%3Amerged+</a></p>StevenLuMTtag:github.com,2008:Repository/1575956/release-4.17.12024-06-26T13:44:50ZRelease 4.17.1<p>Release 4.17.1 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.17.1 if you are using 4.17.x.<br>
The technical details of this release are summarized below.</p>
<h3>Highlights</h3>
<h4>Bugs</h4>
<ul>
<li>Fix TimedRunnable log NPE <a href="https://github.com/apache/bookkeeper/pull/4425" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4425/hovercard">PR #4425</a></li>
<li>Fix Auditor ignoring bookies shut down before Auditor start <a href="https://github.com/apache/bookkeeper/pull/4419" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4419/hovercard">PR #4419</a></li>
<li>Fix lost prometheus metric in OrderedExecutor <a href="https://github.com/apache/bookkeeper/pull/4374" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4374/hovercard">PR #4374</a></li>
<li>Fix: resource leak when JournalChannel is not fully initialized <a href="https://github.com/apache/bookkeeper/pull/4340" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4340/hovercard">PR #4340</a></li>
<li>Fix: bookie http endpoint info always return 0.0.0.0 <a href="https://github.com/apache/bookkeeper/pull/4325" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4325/hovercard">PR #4325</a></li>
<li>Fix disk weight ensemble infinite loop bug <a href="https://github.com/apache/bookkeeper/pull/4324" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4324/hovercard">PR #4324</a></li>
<li>Fix guava shade error in distributedlog <a href="https://github.com/apache/bookkeeper/pull/4319" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4319/hovercard">PR #4319</a></li>
<li>Fix ThreadRegistry#register behavior to ensure correct Prom metrics <a href="https://github.com/apache/bookkeeper/pull/4300" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4300/hovercard">PR #4300</a></li>
<li>Fix: reference counting (retain/release) in PerChannelBookieClient <a href="https://github.com/apache/bookkeeper/pull/4293" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4293/hovercard">PR #4293</a></li>
<li>Fix ByteBuf release/retain in PerChannelBookClient <a href="https://github.com/apache/bookkeeper/pull/4289" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4289/hovercard">PR #4289</a></li>
<li>Tests: miss test log in prometheus-metrics-provider module <a href="https://github.com/apache/bookkeeper/pull/4279" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4279/hovercard">PR #4279</a></li>
<li>Fixed creation of temporary dir in NativeUtils <a href="https://github.com/apache/bookkeeper/pull/4262" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4262/hovercard">PR #4262</a></li>
<li>Fix ArrayIndexOutOfBoundsException caused by optimistic lock <a href="https://github.com/apache/bookkeeper/pull/4066" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4066/hovercard">PR #4066</a></li>
<li>Prevent bookie shutdown due to rest api when bookie prohibits readOnlyMode <a href="https://github.com/apache/bookkeeper/pull/3972" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3972/hovercard">PR #3972</a></li>
<li>Fix wrong implementation for percentile in bookkeeper-benchmark <a href="https://github.com/apache/bookkeeper/pull/3864" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3864/hovercard">PR #3864</a></li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Adjust Log Level for LedgerFencedException in WriteEntryProcessor <a href="https://github.com/apache/bookkeeper/pull/4327" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4327/hovercard">PR #4327</a></li>
<li>Improve: change scheduleAtFixedRate to scheduleWithFixedDelay in GarbageCollectorThread <a href="https://github.com/apache/bookkeeper/pull/4296" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4296/hovercard">PR #4296</a></li>
<li>Remove unused code from ByteBufVisitor <a href="https://github.com/apache/bookkeeper/pull/4383" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4383/hovercard">PR #4383</a></li>
<li>Use vertx blockingHandlers to run Bookkeeper http handlers which could be blocking <a href="https://github.com/apache/bookkeeper/pull/4266" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4266/hovercard">PR #4266</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Bump jetcd from 0.5.0 to 0.7.7 <a href="https://github.com/apache/bookkeeper/pull/3849" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3849/hovercard">PR #3849</a></li>
<li>Bump netty from 4.1.107.Final to 4.1.108.Final to address CVE list <a href="https://github.com/apache/bookkeeper/pull/4426" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4426/hovercard">PR #4426</a></li>
<li>Bump jackson from 2.13.4.20221013 to 2.17.1 to address CVE list <a href="https://github.com/apache/bookkeeper/pull/4345" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4345/hovercard">PR #4345</a></li>
<li>Upgrade vertx-core to 4.5.7 to address <a title="CVE-2024-1300" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-9ph3-v2vh-3qx7/hovercard" href="https://github.com/advisories/GHSA-9ph3-v2vh-3qx7">CVE-2024-1300</a> <a href="https://github.com/apache/bookkeeper/pull/4265" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4265/hovercard">PR #4265</a></li>
</ul>
<h4>Details</h4>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged+">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.17.1+is%3Amerged+</a></p>hezhangjiantag:github.com,2008:Repository/1575956/release-4.16.62024-06-26T13:44:09ZRelease 4.16.6<p>Release 4.16.6 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.16.6 if you are using 4.16.x.<br>
The technical details of this release are summarized below.</p>
<h3>Highlights</h3>
<h4>Bugs</h4>
<ul>
<li>Fix TimedRunnable log NPE <a href="https://github.com/apache/bookkeeper/pull/4425" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4425/hovercard">PR #4425</a></li>
<li>Fix Auditor ignoring bookies shut down before Auditor start <a href="https://github.com/apache/bookkeeper/pull/4419" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4419/hovercard">PR #4419</a></li>
<li>Fix lost prometheus metric in OrderedExecutor <a href="https://github.com/apache/bookkeeper/pull/4374" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4374/hovercard">PR #4374</a></li>
<li>Fix: resource leak when JournalChannel is not fully initialized <a href="https://github.com/apache/bookkeeper/pull/4340" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4340/hovercard">PR #4340</a></li>
<li>Fix: bookie http endpoint info always return 0.0.0.0 <a href="https://github.com/apache/bookkeeper/pull/4325" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4325/hovercard">PR #4325</a></li>
<li>Fix disk weight ensemble infinite loop bug <a href="https://github.com/apache/bookkeeper/pull/4324" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4324/hovercard">PR #4324</a></li>
<li>Fix guava shade error in distributedlog <a href="https://github.com/apache/bookkeeper/pull/4319" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4319/hovercard">PR #4319</a></li>
<li>Fix ThreadRegistry#register behavior to ensure correct Prom metrics <a href="https://github.com/apache/bookkeeper/pull/4300" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4300/hovercard">PR #4300</a></li>
<li>Fix: reference counting (retain/release) in PerChannelBookieClient <a href="https://github.com/apache/bookkeeper/pull/4293" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4293/hovercard">PR #4293</a></li>
<li>Fix ByteBuf release/retain in PerChannelBookClient <a href="https://github.com/apache/bookkeeper/pull/4289" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4289/hovercard">PR #4289</a></li>
<li>Tests: miss test log in prometheus-metrics-provider module <a href="https://github.com/apache/bookkeeper/pull/4279" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4279/hovercard">PR #4279</a></li>
<li>Fix ArrayIndexOutOfBoundsException caused by optimistic lock <a href="https://github.com/apache/bookkeeper/pull/4066" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4066/hovercard">PR #4066</a></li>
<li>Prevent bookie shutdown due to rest api when bookie prohibits readOnlyMode <a href="https://github.com/apache/bookkeeper/pull/3972" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3972/hovercard">PR #3972</a></li>
<li>Fix wrong implementation for percentile in bookkeeper-benchmark <a href="https://github.com/apache/bookkeeper/pull/3864" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3864/hovercard">PR #3864</a></li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Adjust Log Level for LedgerFencedException in WriteEntryProcessor <a href="https://github.com/apache/bookkeeper/pull/4327" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4327/hovercard">PR #4327</a></li>
<li>Improve: change scheduleAtFixedRate to scheduleWithFixedDelay in GarbageCollectorThread <a href="https://github.com/apache/bookkeeper/pull/4296" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4296/hovercard">PR #4296</a></li>
<li>Remove unused code from ByteBufVisitor <a href="https://github.com/apache/bookkeeper/pull/4383" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4383/hovercard">PR #4383</a></li>
<li>Use vertx blockingHandlers to run Bookkeeper http handlers which could be blocking <a href="https://github.com/apache/bookkeeper/pull/4266" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4266/hovercard">PR #4266</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Bump jetcd from 0.5.0 to 0.7.7 <a href="https://github.com/apache/bookkeeper/pull/3849" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3849/hovercard">PR #3849</a></li>
<li>Bump netty from 4.1.94.Final to 4.1.108.Final to address CVE list <a href="https://github.com/apache/bookkeeper/pull/4426" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4426/hovercard">PR #4426</a></li>
<li>Bump jackson from 2.13.4.20221013 to 2.17.1 to address CVE list <a href="https://github.com/apache/bookkeeper/pull/4345" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4345/hovercard">PR #4345</a></li>
<li>Upgrade vertx-core to 4.5.7 to address <a title="CVE-2024-1300" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-9ph3-v2vh-3qx7/hovercard" href="https://github.com/advisories/GHSA-9ph3-v2vh-3qx7">CVE-2024-1300</a> <a href="https://github.com/apache/bookkeeper/pull/4265" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4265/hovercard">PR #4265</a></li>
</ul>
<h4>Details</h4>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged+">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.6+is%3Amerged+</a></p>hezhangjiantag:github.com,2008:Repository/1575956/release-4.17.02024-06-18T16:20:01ZRelease 4.17.0<p>Release 4.17.0 includes multiple important features, improvements, bug fixes and some dependencies CVE fixes.</p>
<p>The technical details of this release are summarized below.</p>
<h3>Breaking Changes</h3>
<p>No breaking changes. Some defaults are different, but overall there are no compatibility concerns.</p>
<h3>Features</h3>
<ul>
<li>BP-62 Batch Read API</li>
</ul>
<h3>Notable changes</h3>
<ul>
<li>Enable reorder read sequence for bk client by default <a href="https://github.com/apache/bookkeeper/pull/4139" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4139/hovercard">PR #4139</a></li>
<li>Fix some metrics generated by prometheus client without type info <a href="https://github.com/apache/bookkeeper/pull/3927" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3927/hovercard">PR #3927</a></li>
<li>Fix arbitrary file upload vulnerability with httpServerEnabled <a href="https://github.com/apache/bookkeeper/pull/3982" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3982/hovercard">PR #3982</a></li>
<li>Enable kv logs in log4j configuration <a href="https://github.com/apache/bookkeeper/pull/3986" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3986/hovercard">PR #3986</a></li>
<li>Make compatible between DefaultEntryLogger and DirectEntryLogger <a href="https://github.com/apache/bookkeeper/pull/4041" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4041/hovercard">PR #4041</a></li>
</ul>
<h4>Bookie</h4>
<ul>
<li>Fix bug of negative JournalQueueSize <a href="https://github.com/apache/bookkeeper/pull/4077" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4077/hovercard">PR #4077</a></li>
<li>Fix compaction throttle imprecise <a href="https://github.com/apache/bookkeeper/pull/3192" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3192/hovercard">PR #3192</a></li>
<li>Fix data lost when configured multiple ledger directories <a href="https://github.com/apache/bookkeeper/pull/3329" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3329/hovercard">PR #3329</a></li>
<li>Try to use jdk api to create hardlink when rename file when compaction. <a href="https://github.com/apache/bookkeeper/pull/3876" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3876/hovercard">PR #3876</a></li>
<li>[feature] [server] add dbStorage_readAheadCacheBatchBytesSize properties when read ahead entries <a href="https://github.com/apache/bookkeeper/pull/3895" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3895/hovercard">PR #3895</a></li>
<li>Fix keys leak in EntryLocationIndex when ledgersToDelete is empty <a href="https://github.com/apache/bookkeeper/pull/3903" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3903/hovercard">PR #3903</a></li>
<li>Fix garbage collection blocked by runtime exception <a href="https://github.com/apache/bookkeeper/pull/3901" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3901/hovercard">PR #3901</a></li>
<li>Skip sync the RocksDB when no changes <a href="https://github.com/apache/bookkeeper/pull/3904" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3904/hovercard">PR #3904</a></li>
<li>Enable PCBC completionObjects autoShrink to reduce memory usage and gc <a href="https://github.com/apache/bookkeeper/pull/3913" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3913/hovercard">PR #3913</a></li>
<li>[Fix] Recycle dropping read-write requests when various exceptions happened <a href="https://github.com/apache/bookkeeper/pull/3912" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3912/hovercard">PR #3912</a></li>
<li>Fix ledger replicated failed blocks bookie decommission process <a href="https://github.com/apache/bookkeeper/pull/3917" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3917/hovercard">PR #3917</a></li>
<li>Support skip invalid journal record in replying journal stage <a href="https://github.com/apache/bookkeeper/pull/3956" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3956/hovercard">PR #3956</a></li>
<li>Avoid compaction to trigger extra flushes DbLedgerStorage <a href="https://github.com/apache/bookkeeper/pull/3959" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3959/hovercard">PR #3959</a></li>
<li>Fix memory leak of direct memory in direct memory entry logger. <a href="https://github.com/apache/bookkeeper/pull/3983" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3983/hovercard">PR #3983</a></li>
<li>Unify ByteBufAllocator for the DirectIO component <a href="https://github.com/apache/bookkeeper/pull/3985" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3985/hovercard">PR #3985</a></li>
<li>Print compaction progress <a href="https://github.com/apache/bookkeeper/pull/4071" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4071/hovercard">PR #4071</a></li>
<li>Optimize bookie decommission check wait interval <a href="https://github.com/apache/bookkeeper/pull/4070" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4070/hovercard">PR #4070</a></li>
<li>Fix trigger GC not work <a href="https://github.com/apache/bookkeeper/pull/3998" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3998/hovercard">PR #3998</a></li>
<li>Allow to set max operation numbers in a single rocksdb batch <a href="https://github.com/apache/bookkeeper/pull/4044" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4044/hovercard">PR #4044</a></li>
<li>Add read failed log for ledger checker. <a href="https://github.com/apache/bookkeeper/pull/4010" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4010/hovercard">PR #4010</a></li>
<li>Fix read write request leak when executor throw <code>RejectedExecutionException</code> <a href="https://github.com/apache/bookkeeper/pull/4024" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4024/hovercard">PR #4024</a></li>
<li>Improve DefaultEntryLogger read performance. <a href="https://github.com/apache/bookkeeper/pull/4038" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4038/hovercard">PR #4038</a></li>
</ul>
<h4>Client</h4>
<ul>
<li>[Bug] Always one orphan ledger is created <a href="https://github.com/apache/bookkeeper/pull/3813" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3813/hovercard">PR #3813</a></li>
<li>Fix checksum calculation bug when the payload is a CompositeByteBuf with readerIndex > 0 <a href="https://github.com/apache/bookkeeper/pull/4196" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4196/hovercard">PR #4196</a></li>
<li>Fix no known bookies after reset racks for all BKs <a href="https://github.com/apache/bookkeeper/pull/4128" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4128/hovercard">PR #4128</a></li>
<li>Fix issue with binary compatibility with older grpc versions at runtime in the client <a href="https://github.com/apache/bookkeeper/pull/3997" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3997/hovercard">PR #3997</a></li>
<li>Entry write support local node region aware placement policy <a href="https://github.com/apache/bookkeeper/pull/4063" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4063/hovercard">PR #4063</a></li>
<li>Rackaware placement policy support local node awareness by hostname <a href="https://github.com/apache/bookkeeper/pull/4057" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4057/hovercard">PR #4057</a></li>
<li>Use netty-bom for aligning netty library versions, add epoll for linux-aarch_64 <a href="https://github.com/apache/bookkeeper/pull/4204" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4204/hovercard">PR #4204</a></li>
</ul>
<h4>AutoRecovery</h4>
<ul>
<li>Make AutoRecovery enable stickyReadS as default. <a href="https://github.com/apache/bookkeeper/pull/4125" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4125/hovercard">PR #4125</a></li>
<li>Support retry logic for auto recovery <a href="https://github.com/apache/bookkeeper/pull/3799" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3799/hovercard">PR #3799</a> 0</li>
<li>Fix auditor elector executor block problem. <a href="https://github.com/apache/bookkeeper/pull/4165" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4165/hovercard">PR #4165</a></li>
<li>Fix the autorecovery failed replicate by add entry fenced error <a href="https://github.com/apache/bookkeeper/pull/4163" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4163/hovercard">PR #4163</a></li>
<li>Fix auditor thread leak problem. <a href="https://github.com/apache/bookkeeper/pull/4162" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4162/hovercard">PR #4162</a></li>
<li>AutoRecovery supports batch read <a href="https://github.com/apache/bookkeeper/pull/4211" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4211/hovercard">PR #4211</a></li>
</ul>
<h4>Others</h4>
<ul>
<li>Added CLI command to start state store service without a bookie <a href="https://github.com/apache/bookkeeper/pull/2648" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/2648/hovercard">PR #2648</a></li>
<li>Add ensemble relocation command which adheres to placement policy <a href="https://github.com/apache/bookkeeper/pull/2931" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/2931/hovercard">PR #2931</a></li>
<li>Tuning pool concurrency <a href="https://github.com/apache/bookkeeper/pull/3432" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3432/hovercard">PR #3432</a></li>
<li>Issue 4136: Fix logging configurations are broken in docker image <a href="https://github.com/apache/bookkeeper/pull/4137" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4137/hovercard">PR #4137</a></li>
<li>[release] Force to use linux/amd64 to build release <a href="https://github.com/apache/bookkeeper/pull/4060" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4060/hovercard">PR #4060</a></li>
</ul>
<h3>Dependency changes</h3>
<p>Upgraded notable dependencies and address CVEs, including:</p>
<ul>
<li>Upgrade snappy-java to address multiple CVEs <a href="https://github.com/apache/bookkeeper/pull/3993" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3993/hovercard">PR #3993</a></li>
<li>Upgrade grpc and protobuf to address <a title="CVE-2023-32732" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-9hxf-ppjv-w6rq/hovercard" href="https://github.com/advisories/GHSA-9hxf-ppjv-w6rq">CVE-2023-32732</a> <a href="https://github.com/apache/bookkeeper/pull/3992" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3992/hovercard">PR #3992</a></li>
<li>Upgrade Zookeeper to 3.8.3 to address <a title="CVE-2023-44981" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-7286-pgfv-vxvh/hovercard" href="https://github.com/advisories/GHSA-7286-pgfv-vxvh">CVE-2023-44981</a> <a href="https://github.com/apache/bookkeeper/pull/4112" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4112/hovercard">PR #4112</a></li>
<li>Upgrade Netty to 4.1.107.Final and io_uring to 0.0.25.Final <a href="https://github.com/apache/bookkeeper/pull/4224" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4224/hovercard">PR #4224</a></li>
<li>Bump org.apache.commons:commons-compress from 1.21 to 1.26.0 <a href="https://github.com/apache/bookkeeper/pull/4214" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4214/hovercard">PR #4214</a></li>
<li>Update datasketches version from 0.8.3 to 3.2.0 <a href="https://github.com/apache/bookkeeper/pull/3264" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3264/hovercard">PR #3264</a></li>
<li>Issue 3567: Upgrade rocksdb version to avoid checksum mismatch error <a href="https://github.com/apache/bookkeeper/pull/3568" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3568/hovercard">PR #3568</a></li>
<li>fix(sec): upgrade commons-codec to 1.13 <a href="https://github.com/apache/bookkeeper/pull/3508" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3508/hovercard">PR #3508</a></li>
<li>Remove avro, hadoop-auth and jersey-json dependencies from hadoop-common to resolve <a title="CVE-2019-10202" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-c27h-mcmw-48hv/hovercard" href="https://github.com/advisories/GHSA-c27h-mcmw-48hv">CVE-2019-10202</a>, <a title="CVE-2023-1370" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-493p-pfq6-5258/hovercard" href="https://github.com/advisories/GHSA-493p-pfq6-5258">CVE-2023-1370</a> and <a title="CVE-2022-45685" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-7rf3-mqpx-h7xg/hovercard" href="https://github.com/advisories/GHSA-7rf3-mqpx-h7xg">CVE-2022-45685</a> <a href="https://github.com/apache/bookkeeper/pull/3911" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3911/hovercard">PR #3911</a></li>
<li>Upgrade docker base image to resolve <a title="CVE-2023-0286" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-x4qr-2fvf-3mr5/hovercard" href="https://github.com/advisories/GHSA-x4qr-2fvf-3mr5">CVE-2023-0286</a> <a href="https://github.com/apache/bookkeeper/pull/3916" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3916/hovercard">PR #3916</a></li>
<li>Upgrade bc-fips to 1.0.2.4 to fix <a title="CVE-2022-45146" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-68m8-v89j-7j2p/hovercard" href="https://github.com/advisories/GHSA-68m8-v89j-7j2p">CVE-2022-45146</a> <a href="https://github.com/apache/bookkeeper/pull/3915" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3915/hovercard">PR #3915</a></li>
<li>Upgrade jetty version to 9.4.51.v20230217 <a href="https://github.com/apache/bookkeeper/pull/3937" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/3937/hovercard">PR #3937</a></li>
<li>Bump guava version from 31.0.1-jre to 32.0.1-jre <a href="https://github.com/apache/bookkeeper/pull/4008" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4008/hovercard">PR #4008</a></li>
</ul>
<h3>Details</h3>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.17.0+is%3Aclosed">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.17.0+is%3Aclosed</a></p>hezhangjiantag:github.com,2008:Repository/1575956/release-4.16.52024-04-11T13:47:00ZRelease 4.16.5<p>Release 4.16.5 includes multiple bug fixes and few dependency updates.</p>
<p>Apache BookKeeper users are encouraged to upgrade to 4.16.5 if you are using 4.16.x.<br>
The technical details of this release are summarized below.</p>
<h3>Highlights</h3>
<h4>Bugs</h4>
<ul>
<li>Fixed creation of temporary dir in NativeUtils <a href="https://github.com/apache/bookkeeper/pull/4262" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4262/hovercard">PR #4262</a></li>
<li>Fix error stack track may expose to external user <a href="https://github.com/apache/bookkeeper/pull/4223" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4223/hovercard">PR #4223</a></li>
<li>Add filename check for unTar <a href="https://github.com/apache/bookkeeper/pull/4222" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4222/hovercard">PR #4222</a></li>
<li>Fix uncontrolled data used in path expression <a href="https://github.com/apache/bookkeeper/pull/4221" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4221/hovercard">PR #4221</a></li>
<li>Set metrics endpoint content-type <a href="https://github.com/apache/bookkeeper/pull/4208" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4208/hovercard">PR #4208</a></li>
<li>Fix checksum calculation bug when the payload is a CompositeByteBuf with readerIndex > 0 <a href="https://github.com/apache/bookkeeper/pull/4205" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4205/hovercard">PR #4205</a></li>
<li>Fix yaml and dockerfile <a href="https://github.com/apache/bookkeeper/pull/4186" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4186/hovercard">PR #4186</a></li>
</ul>
<h4>Dependency updates</h4>
<ul>
<li>Bump org.apache.commons:commons-compress from 1.21 to 1.26.0 <a href="https://github.com/apache/bookkeeper/pull/4214" data-hovercard-type="pull_request" data-hovercard-url="/apache/bookkeeper/pull/4214/hovercard">PR #4214</a></li>
</ul>
<h4>Details</h4>
<p><a href="https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.5+is%3Amerged+">https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.5+is%3Amerged+</a></p>nicoloboschi