bookkeeper
bookkeeper copied to clipboard
Apache BookKeeper - a scalable, fault tolerant and low latency storage service optimized for append-only workloads
### Motivation 1. Incorrectly uses "Enumerator" when referring to the Java standard interface `java.util.Enumeration` 2. Uses invalid method names (`hasNextElement()` instead of `hasMoreElements()`, `entry.getId()` instead of `entry.getEntryId()`) **Impact** 1. Misleads...
In production, no need to review yet, I will refer to [4.17.1](https://github.com/apache/bookkeeper/pull/4389) and [4.16.6](https://github.com/apache/bookkeeper/pull/4388) to split into two PRs for submission
### Motivation **Background** - `ReadOnlyLedgerHandle` opened without `doRecovery`, in other words, it has not been closed yet, its metadata in memory will be updated once modified. - `ReadOnlyLedgerHandle` opened with...
### Motivation Keeping Netty up-to-date with bug fixes as well as addresses CVE-2025-58057 and CVE-2025-58056 in Netty. BookKeeper users aren't impacted, but we need to use dependencies that don't contain...
Descriptions of the changes in this PR: This PR modernizes the createTempDir method in IOUtils.java and eliminates a potential race condition/directory hijacking vulnerability by using a safer, atomic method Files.createTempDirectory()...
my enterpise uses BK for metadata sync, and needs high performance. however we found severe latency spikes during testing. we seeked for the reason and found out that the problem...
Descriptions of the changes in this PR: Optimize BookKeeper startup speed with multi-directory ledger configuration Main Issue: ### Motivation During production upgrades, BookKeeper instances with existing data typically take 3...
### Motivation The purpose of `extractMetaFromEntryLogs` is to extract metadata, not perform garbage collection. The logic for removing entry logs with no active ledgers is handled separately in `doGcEntryLogs()`. ###...
Implement the logic in [BP-68:](https://github.com/apache/bookkeeper/pull/4500) Delete cookie as part of decommission API.
Descriptions of the changes in this PR: When replicating a ledger with open fragment, ReplicationWorker.rereplicate(long ledgerIdToReplicate) method returns false. https://github.com/apache/bookkeeper/blob/25326dcf0e3c51bab4a3e82c1f6f90b064ef6783/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/ReplicationWorker.java#L495-L499 This will cause the replication worker to wait for rwRereplicateBackoffMs...