You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by "dlg99 (via GitHub)" <gi...@apache.org> on 2023/03/30 18:16:15 UTC

[GitHub] [bookkeeper] dlg99 commented on a diff in pull request #3882: Generate 4.16.0 release note

dlg99 commented on code in PR #3882:
URL: https://github.com/apache/bookkeeper/pull/3882#discussion_r1153611939


##########
site3/website/src/pages/release-notes.md:
##########
@@ -1,6 +1,388 @@
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.16.0
+
+Release 4.16.0 includes multiple bug fixes and some dependencies CVE fixes.
+
+Apache BookKeeper users are encouraged to upgrade to 4.16.0.
+The technical details of this release are summarized below.
+
+### Highlights
+
+#### Configuration
+* BP-60:Change PCBC limitStatsLogging default value to true [PR #3719](https://github.com/apache/bookkeeper/pull/3719)
+
+#### Features
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3714](https://github.com/apache/bookkeeper/pull/3714)
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3713](https://github.com/apache/bookkeeper/pull/3713)
+* [feature] Added api/v1/bookie/cluster_info REST API [PR #3710](https://github.com/apache/bookkeeper/pull/3710)

Review Comment:
   three times? two of these are cherry-picks to older branches



##########
site3/website/src/pages/release-notes.md:
##########
@@ -1,6 +1,388 @@
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.16.0
+
+Release 4.16.0 includes multiple bug fixes and some dependencies CVE fixes.
+
+Apache BookKeeper users are encouraged to upgrade to 4.16.0.
+The technical details of this release are summarized below.
+
+### Highlights
+
+#### Configuration
+* BP-60:Change PCBC limitStatsLogging default value to true [PR #3719](https://github.com/apache/bookkeeper/pull/3719)
+
+#### Features
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3714](https://github.com/apache/bookkeeper/pull/3714)
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3713](https://github.com/apache/bookkeeper/pull/3713)
+* [feature] Added api/v1/bookie/cluster_info REST API [PR #3710](https://github.com/apache/bookkeeper/pull/3710)
+* Add new api resumeCompaction and suspendCompaction [PR #3509](https://github.com/apache/bookkeeper/pull/3509)
+* BP-58: Change the API for org.apache.bookkeeper.stats.Counter [PR #3501](https://github.com/apache/bookkeeper/pull/3501)
+* Feature: auto recover support repaired not adhering placement ledger [PR #3359](https://github.com/apache/bookkeeper/pull/3359)
+* BP-50: Add reuse journal file feature to support Intel PMem disk [PR #3194](https://github.com/apache/bookkeeper/pull/3194)
+* BP-47 (task1): Add native IO library support [PR #3189](https://github.com/apache/bookkeeper/pull/3189)
+* BP-47 (task4): Aligned native buffer wrapper [PR #3253](https://github.com/apache/bookkeeper/pull/3253)
+* BP-47 (task6): Direct I/O entrylogger support [PR #3263](https://github.com/apache/bookkeeper/pull/3263)
+* BP-47 (task5): Garbage collection support direct IO entrylogger [PR #3256](https://github.com/apache/bookkeeper/pull/3256)
+* BP-47 (task7): DbLedgerStorage add direct entry logger support [PR #3366](https://github.com/apache/bookkeeper/pull/3366)

Review Comment:
   Please summarize this as a single line/one feature, list PR numbers or the master issue number. Otherwise it is too noisy and unclear



##########
site3/website/src/pages/release-notes.md:
##########
@@ -1,6 +1,388 @@
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.16.0
+
+Release 4.16.0 includes multiple bug fixes and some dependencies CVE fixes.
+
+Apache BookKeeper users are encouraged to upgrade to 4.16.0.
+The technical details of this release are summarized below.
+
+### Highlights
+
+#### Configuration
+* BP-60:Change PCBC limitStatsLogging default value to true [PR #3719](https://github.com/apache/bookkeeper/pull/3719)
+
+#### Features
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3714](https://github.com/apache/bookkeeper/pull/3714)
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3713](https://github.com/apache/bookkeeper/pull/3713)
+* [feature] Added api/v1/bookie/cluster_info REST API [PR #3710](https://github.com/apache/bookkeeper/pull/3710)
+* Add new api resumeCompaction and suspendCompaction [PR #3509](https://github.com/apache/bookkeeper/pull/3509)
+* BP-58: Change the API for org.apache.bookkeeper.stats.Counter [PR #3501](https://github.com/apache/bookkeeper/pull/3501)
+* Feature: auto recover support repaired not adhering placement ledger [PR #3359](https://github.com/apache/bookkeeper/pull/3359)
+* BP-50: Add reuse journal file feature to support Intel PMem disk [PR #3194](https://github.com/apache/bookkeeper/pull/3194)
+* BP-47 (task1): Add native IO library support [PR #3189](https://github.com/apache/bookkeeper/pull/3189)
+* BP-47 (task4): Aligned native buffer wrapper [PR #3253](https://github.com/apache/bookkeeper/pull/3253)
+* BP-47 (task6): Direct I/O entrylogger support [PR #3263](https://github.com/apache/bookkeeper/pull/3263)
+* BP-47 (task5): Garbage collection support direct IO entrylogger [PR #3256](https://github.com/apache/bookkeeper/pull/3256)
+* BP-47 (task7): DbLedgerStorage add direct entry logger support [PR #3366](https://github.com/apache/bookkeeper/pull/3366)
+* BP-41 Add flag to enable/disable BookieAddressResolver [PR #3356](https://github.com/apache/bookkeeper/pull/3356)
+
+#### Improvements
+* Improve group and flush add-responses after journal sync [PR #3848](https://github.com/apache/bookkeeper/pull/3848)
+* Added BatchedArrayBlockingQueue [PR #3838](https://github.com/apache/bookkeeper/pull/3838)
+* Group and flush add-responses after journal sync [PR #3837](https://github.com/apache/bookkeeper/pull/3837)
+* Avoid using thread-local WriteSet when possible [PR #3829](https://github.com/apache/bookkeeper/pull/3829)
+* Remove callback threadpool for sending add responses [PR #3825](https://github.com/apache/bookkeeper/pull/3825)
+* Use JNI directly for posix_fadvise [PR #3824](https://github.com/apache/bookkeeper/pull/3824)
+* Improvements in ArrayGroupSort [PR #3807](https://github.com/apache/bookkeeper/pull/3807)
+* Single buffer for small add requests [PR #3783](https://github.com/apache/bookkeeper/pull/3783)
+* Use BatchedArrayBlockingQueue in Journal [PR #3843](https://github.com/apache/bookkeeper/pull/3843)
+
+#### Bookie
+* [Bugfix] make metadataDriver initialization more robust [PR #3873](https://github.com/apache/bookkeeper/pull/3873)
+* Add log for entry log file delete. [PR #3872](https://github.com/apache/bookkeeper/pull/3872)
+* Fix compaction threshold default value precision problem. [PR #3871](https://github.com/apache/bookkeeper/pull/3871)
+* [fix][gc] Change order of doGcLedgers and extractMetaFromEntryLogs [PR #3869](https://github.com/apache/bookkeeper/pull/3869)
+* Modify incorrect rocksDB config level_compaction_dynamic_level_bytes to CFOptions [PR #3860](https://github.com/apache/bookkeeper/pull/3860)
+* Avoid unnecessary force write. [PR #3847](https://github.com/apache/bookkeeper/pull/3847)
+* Fix memory leak issue of reading small entries [PR #3844](https://github.com/apache/bookkeeper/pull/3844)
+* Make read entry request recyclable [PR #3842](https://github.com/apache/bookkeeper/pull/3842)
+* Pass BookieRequestHandler instead of Channel to the request processors [PR #3835](https://github.com/apache/bookkeeper/pull/3835)
+* Simplified the logic for ForceWriteThread after we introduced queue.drainTo() [PR #3830](https://github.com/apache/bookkeeper/pull/3830)
+* Fixed back API of Crc32cIntChecksum [PR #3826](https://github.com/apache/bookkeeper/pull/3826)
+* Fix: typo for ledger-metadata param: restorefromfile [PR #3823](https://github.com/apache/bookkeeper/pull/3823)
+* Avoid thread-local state when computing CRCs [PR #3811](https://github.com/apache/bookkeeper/pull/3811)
+* Improved efficiency in DigestManager.verify() [PR #3810](https://github.com/apache/bookkeeper/pull/3810)
+* Fixed locking of PendingAddOp [PR #3806](https://github.com/apache/bookkeeper/pull/3806)
+* Add trigger entry location index rocksDB compact REST API  [PR #3802](https://github.com/apache/bookkeeper/pull/3802)
+* Fixed the pivot selection in the group quick-sort [PR #3800](https://github.com/apache/bookkeeper/pull/3800)
+* BP61: revert BP-59 to release ByteBuf using ReferenceCountUtil.release() instead of ReferenceCountUtil.safeRelease() [PR #3796](https://github.com/apache/bookkeeper/pull/3796)
+* Pick the higher leak detection level between netty and bookkeeper. [PR #3794](https://github.com/apache/bookkeeper/pull/3794)
+* Make RrocksDB checksum type configurable [PR #3793](https://github.com/apache/bookkeeper/pull/3793)
+* Change directIO configuration names to avoid confusing [PR #3791](https://github.com/apache/bookkeeper/pull/3791)
+* Add directIO entry logger settings documents [PR #3789](https://github.com/apache/bookkeeper/pull/3789)
+* DirectWriter only acquire buffer when need write. [PR #3786](https://github.com/apache/bookkeeper/pull/3786)
+* Made PendingAddOp thread safe [PR #3784](https://github.com/apache/bookkeeper/pull/3784)
+* Add logs for ensemble select failed [PR #3779](https://github.com/apache/bookkeeper/pull/3779)
+* [improve] Fix indexDirs upgrade failed [PR #3762](https://github.com/apache/bookkeeper/pull/3762)
+* Fix ReadEntryProcessor v2 SchedulingDelayStats [PR #3758](https://github.com/apache/bookkeeper/pull/3758)
+* Fix the duplicated JournalQueueStats [PR #3753](https://github.com/apache/bookkeeper/pull/3753)
+* Remove unnecessary hasExplicitLac check [PR #3748](https://github.com/apache/bookkeeper/pull/3748)
+* Fix QueueEntry recycle problem. [PR #3747](https://github.com/apache/bookkeeper/pull/3747)
+* [bookie] Fix memory leak when the Bookie is in read only mode [PR #3746](https://github.com/apache/bookkeeper/pull/3746)
+* [improve] Optimize masterKeyCache StorageNotificationListener [PR #3736](https://github.com/apache/bookkeeper/pull/3736)
+* [fix] Recycle LongPairWrapper after use [PR #3728](https://github.com/apache/bookkeeper/pull/3728)
+* Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. [PR #3725](https://github.com/apache/bookkeeper/pull/3725)
+* Expose registrationClient in DefaultBookieAddressResolver. [PR #3724](https://github.com/apache/bookkeeper/pull/3724)
+* New ensemble choose different rack first. [PR #3721](https://github.com/apache/bookkeeper/pull/3721)
+* Not wrap IOException twice form checkpoint [PR #3683](https://github.com/apache/bookkeeper/pull/3683)
+* [fix][server]fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery [PR #3672](https://github.com/apache/bookkeeper/pull/3672)
+* [fix][server] When dbStorage_directIOEntryLogger=true, EntryLogIdsImpl only takes effect for a single ledger directory [PR #3680](https://github.com/apache/bookkeeper/pull/3680)
+* Bring back deleteRange for RocksDB to improve location delete performance [PR #3653](https://github.com/apache/bookkeeper/pull/3653)
+* Make RocksDB delete entries batch size configurable [PR #3646](https://github.com/apache/bookkeeper/pull/3646)
+* Add small files check in garbage collection [PR #3631](https://github.com/apache/bookkeeper/pull/3631)
+* Allow to use IO uring instead of epoll [PR #3595](https://github.com/apache/bookkeeper/pull/3595)
+* Show result of isFenced in log [PR #3678](https://github.com/apache/bookkeeper/pull/3678)
+* Fix RegionAwareEnsemblePlacementPolicy update rack info problem. [PR #3666](https://github.com/apache/bookkeeper/pull/3666)
+* Dont validate CompactionInterval when compaction is disabled [PR #3664](https://github.com/apache/bookkeeper/pull/3664)
+* [fix][server]fix memory leak when operating ledger metadata [PR #3662](https://github.com/apache/bookkeeper/pull/3662)
+* Fix numLedgersReplicated metric [PR #3654](https://github.com/apache/bookkeeper/pull/3654)
+* [improve] Add num not adhering placement ledgers replicated metric for ReplicationWorker [PR #3652](https://github.com/apache/bookkeeper/pull/3652)
+* Add Http-service to check bookie sanity state [PR #3630](https://github.com/apache/bookkeeper/pull/3630)
+* [log] Add journal file path that caused failure in multi-journal config [PR #3623](https://github.com/apache/bookkeeper/pull/3623)
+* Fix GetBookieInfo failed event stats [PR #3622](https://github.com/apache/bookkeeper/pull/3622)
+* Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv [PR #3621](https://github.com/apache/bookkeeper/pull/3621)
+* BookieImpl remove wait until journal quits [PR #3603](https://github.com/apache/bookkeeper/pull/3603)
+* Optimize ReadResponse for small entry sizes [PR #3597](https://github.com/apache/bookkeeper/pull/3597)
+* Optimized debug log enable [PR #3596](https://github.com/apache/bookkeeper/pull/3596)
+* Removed the necessity of SafeRunnable [PR #3593](https://github.com/apache/bookkeeper/pull/3593)
+* Fix memtable getEntryStats typo [PR #3592](https://github.com/apache/bookkeeper/pull/3592)
+* Fix readEntryStats typo [PR #3591](https://github.com/apache/bookkeeper/pull/3591)
+* Fix typo issue when Header.assertFingerPrint throws IOException [PR #3590](https://github.com/apache/bookkeeper/pull/3590)
+* Issue 3588: write meta to log header before fsync in DirectIO mode [PR #3589](https://github.com/apache/bookkeeper/pull/3589)
+* Fix ByteBuf memory leak problem when setExplicitLac [PR #3577](https://github.com/apache/bookkeeper/pull/3577)
+* Single thread executor should not have max capacity by default [PR #3575](https://github.com/apache/bookkeeper/pull/3575)
+* Flush time started moved to after lock [PR #3570](https://github.com/apache/bookkeeper/pull/3570)
+* When call openLedgerOp, make the timeout ex is a separate error code [PR #3562](https://github.com/apache/bookkeeper/pull/3562)
+* Avoid extra buffer to prepend frame size [PR #3560](https://github.com/apache/bookkeeper/pull/3560)
+* Using a separate thread pool to execute openWithMetadata [PR #3548](https://github.com/apache/bookkeeper/pull/3548)
+* Use SingleThreadExecutor for OrderedExecutor and drainTo() tasks into local array [PR #3546](https://github.com/apache/bookkeeper/pull/3546)
+* Use BlockingQueue.drainTo() in JournalForceWrite thread [PR #3545](https://github.com/apache/bookkeeper/pull/3545)
+* Use BlockingQueue.drainTo() in Journal thread [PR #3544](https://github.com/apache/bookkeeper/pull/3544)
+* Fix memory leak when reading entry but the connection disconnected. [PR #3528](https://github.com/apache/bookkeeper/pull/3528)
+* Fix byteBuf potential memory leak problem. [PR #3525](https://github.com/apache/bookkeeper/pull/3525)
+* Make the rocksDB configuration compatible with previous versions [PR #3523](https://github.com/apache/bookkeeper/pull/3523)
+* Change masterKeyCache to dynamic size [PR #3522](https://github.com/apache/bookkeeper/pull/3522)
+* Issue #3488 Create an EmbeddedSever extracting code from Main class and adding a builder pattern [PR #3489](https://github.com/apache/bookkeeper/pull/3489)
+* Check if channel closed before processing read request [PR #3486](https://github.com/apache/bookkeeper/pull/3486)
+* Add missed call to onReadRequestFinish() when read request rejected [PR #3482](https://github.com/apache/bookkeeper/pull/3482)
+* Fix the deadlock when only using io thread to handle request [PR #3480](https://github.com/apache/bookkeeper/pull/3480)
+* Fix group ForceWrite not take effect with forceWriteMarkerSent in while loop of ForceWriteThread [PR #3454](https://github.com/apache/bookkeeper/pull/3454)
+* WriteLacResponse should be processed in the same thread as other requests [PR #3452](https://github.com/apache/bookkeeper/pull/3452)
+* Fix wrong stats name [PR #3450](https://github.com/apache/bookkeeper/pull/3450)
+* Add latency stats for entry location index lookup so that possible RocksDB bottleneck can be detected [PR #3444](https://github.com/apache/bookkeeper/pull/3444)
+* indexDir compatible fix for issue #3430 [PR #3433](https://github.com/apache/bookkeeper/pull/3433)
+* add metric cbThreadPoolQueueSize [PR #3424](https://github.com/apache/bookkeeper/pull/3424)
+* Optimize concurrent collection's shrink logic [PR #3417](https://github.com/apache/bookkeeper/pull/3417)
+* Rename bookkeeper metrics to specify OpenMetrics [PR #3406](https://github.com/apache/bookkeeper/pull/3406)
+* stage 10: bugfix indexDirs for ConvertToInterleavedStorageCommand [PR #3409](https://github.com/apache/bookkeeper/pull/3409)
+* stage 9: bugfix indexDirs for LedgersIndexRebuildOp [PR #3403](https://github.com/apache/bookkeeper/pull/3403)
+* stage 8: bugfix indexDirs for LedgersIndexCheckOp [PR #3402](https://github.com/apache/bookkeeper/pull/3402)
+* stage 7: print indexDirs's info when start bookie [PR #3401](https://github.com/apache/bookkeeper/pull/3401)
+* stage 6: bugfix indexDirs for LocationsIndexRebuildOp [PR #3399](https://github.com/apache/bookkeeper/pull/3399)
+* stage 5: bugfix indexDirs for readLedgerIndexEntries [PR #3398](https://github.com/apache/bookkeeper/pull/3398)
+* Stage 3~4 : Add indexDirs in statsLogger, add indexDirs's Listener.  [PR #3397](https://github.com/apache/bookkeeper/pull/3397)
+* Make BookieFileChannel interface public [PR #3396](https://github.com/apache/bookkeeper/pull/3396)
+* [Issue 3389] Prioritize compaction of entry logs with the lowest amount of remaining usable data [PR #3390](https://github.com/apache/bookkeeper/pull/3390)
+* Add static declaration for useFallocate in DirectWriter [PR #3388](https://github.com/apache/bookkeeper/pull/3388)
+* Switch back ordered executor to LinkedBlockingQueue [PR #3384](https://github.com/apache/bookkeeper/pull/3384)
+* Consolidate Netty channel flushes to mitigate syscall overhead [PR #3383](https://github.com/apache/bookkeeper/pull/3383)
+* Add a param in cookie_generate for updating indexDirs [PR #3380](https://github.com/apache/bookkeeper/pull/3380)
+* clean code: remove unused JOURNAL_NUM_FORCE_WRITES [PR #3379](https://github.com/apache/bookkeeper/pull/3379)
+* Use estimateMaxDirectMemory instead of maxDirectMemory [PR #3375](https://github.com/apache/bookkeeper/pull/3375)
+* add and check indexDirs in Cookie meta [PR #3372](https://github.com/apache/bookkeeper/pull/3372)
+* If ensembleList is empty, return PlacementPolicyAdherence.FAIL. [PR #3369](https://github.com/apache/bookkeeper/pull/3369)
+* add journalCbQueueLatency [PR #3364](https://github.com/apache/bookkeeper/pull/3364)
+* add writeThreadQueuedLatency [PR #3363](https://github.com/apache/bookkeeper/pull/3363)
+* Basic function: directories to store index files [PR #3352](https://github.com/apache/bookkeeper/pull/3352)
+* reduce unnecessary checkpoints [PR #3341](https://github.com/apache/bookkeeper/pull/3341)
+* Enhance future sync wait. [PR #3336](https://github.com/apache/bookkeeper/pull/3336)
+* Pre break loop when self create layoutZNode succeed. [PR #3335](https://github.com/apache/bookkeeper/pull/3335)
+* Apply the backpressure changes on the V2 requests [PR #3324](https://github.com/apache/bookkeeper/pull/3324)
+* Issue 3306: Bookie can't start after rebooting due the cookie mistmatch [PR #3308](https://github.com/apache/bookkeeper/pull/3308)
+* validate diskUsageThreshold and diskUsageLwmThreshold [PR #3285](https://github.com/apache/bookkeeper/pull/3285)
+* [minor] [optimize] Remove redundant toString call [PR #3254](https://github.com/apache/bookkeeper/pull/3254)
+* Move bookkeeper-stats and bookkeeper-stats-providers as submodules of stats [PR #3246](https://github.com/apache/bookkeeper/pull/3246)
+* Enable Netty and BookKeeper IO optimizations on jdk17 [PR #3234](https://github.com/apache/bookkeeper/pull/3234)
+* Added flag to control whether to transition to read-only mode when any disks full [PR #3212](https://github.com/apache/bookkeeper/pull/3212)
+* Remove useless and duplicated ledger directory metrics [PR #3156](https://github.com/apache/bookkeeper/pull/3156)
+* Make netty acceptor threadPool size configurable [PR #3153](https://github.com/apache/bookkeeper/pull/3153)
+* add stats for throttled-write [PR #3102](https://github.com/apache/bookkeeper/pull/3102)
+* update default value of allocatorPoolingConcurrency [PR #3001](https://github.com/apache/bookkeeper/pull/3001)
+* Use netty maxDirectMemory instead of DirectMemoryUtils [PR #2989](https://github.com/apache/bookkeeper/pull/2989)
+* Fix the infinite waiting for shutdown due to throttler limit [PR #2942](https://github.com/apache/bookkeeper/pull/2942)
+* Issue #2908: Replace unsafe NoEntryException with IOException [PR #2909](https://github.com/apache/bookkeeper/pull/2909)
+* issue #2879 : let bookie quit if journal thread exit [PR #2887](https://github.com/apache/bookkeeper/pull/2887)
+* Ledger replicate supports throttle [PR #2778](https://github.com/apache/bookkeeper/pull/2778)
+
+#### Client
+* Check client if closed when complete callback. [PR #3661](https://github.com/apache/bookkeeper/pull/3661)
+* LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread [PR #3516](https://github.com/apache/bookkeeper/pull/3516)
+* LedgerOpenOp: Do not call blocking close() in the callback [PR #3513](https://github.com/apache/bookkeeper/pull/3513)
+* Rename success with writableResult and update final writableResult about wait writeSet [PR #3505](https://github.com/apache/bookkeeper/pull/3505)
+* Optimize log for failed to write entry [PR #3463](https://github.com/apache/bookkeeper/pull/3463)
+* [improve][client] release the bookie from QuarantinedBookies when health check is disabled [PR #3349](https://github.com/apache/bookkeeper/pull/3349)
+* Tuing PendingReadOp.java seq [PR #3330](https://github.com/apache/bookkeeper/pull/3330)
+* Avoid init WriteSet when waitForWriteSetMs < 0. [PR #3325](https://github.com/apache/bookkeeper/pull/3325)
+* Fix the V2 AddRequest object leak issue [PR #3323](https://github.com/apache/bookkeeper/pull/3323)
+* Fix the PendingAddOp is not recycled when LedgerHandler closed [PR #3321](https://github.com/apache/bookkeeper/pull/3321)
+* [Client] Deduplicate error log for SSLException [PR #3320](https://github.com/apache/bookkeeper/pull/3320)
+* [Client] Switch to rely on SslEngine for Hostname Verification [PR #3310](https://github.com/apache/bookkeeper/pull/3310)
+* Make sure the LedgerHandle close callback can be completed when encounter exception [PR #2913](https://github.com/apache/bookkeeper/pull/2913)
+
+#### AutoRecovery
+* [improvement] Delay all audit task when have a already delayed bookie check task [PR #3818](https://github.com/apache/bookkeeper/pull/3818)
+* Issue 3070: Fix issue where checkAllLedgers could get stuck when read throttling is enabled [PR #3655](https://github.com/apache/bookkeeper/pull/3655)
+* [improvement] Refactor Auditor to simplify the readability [PR #3637](https://github.com/apache/bookkeeper/pull/3637)
+* Skip replicasCheck when replication disabled [PR #3563](https://github.com/apache/bookkeeper/pull/3563)
+* Skipping placementPolicyCheck when ledger replication disabled [PR #3561](https://github.com/apache/bookkeeper/pull/3561)
+* fix close ledgerAuditorManager repeatedly [PR #3503](https://github.com/apache/bookkeeper/pull/3503)
+* ledgerFragment check and results keep order [PR #3504](https://github.com/apache/bookkeeper/pull/3504)
+* Issue #3498  Fix bookkeeper command path in decommission doc [PR #3499](https://github.com/apache/bookkeeper/pull/3499)
+* AutoRecovery - Do not call shutdown() on the main ZookKeeper client thread [PR #3487](https://github.com/apache/bookkeeper/pull/3487)
+* [Issue #3459]fix queryautorecoverystatus command [PR #3460](https://github.com/apache/bookkeeper/pull/3460)
+* Shut down ReplicationWorker and Auditor on non-recoverable ZK error [PR #3374](https://github.com/apache/bookkeeper/pull/3374)
+* Fix autoRecovery memory leak. [PR #3361](https://github.com/apache/bookkeeper/pull/3361)
+* Fix: NPE in RackawareEnsemblePlacementPolicyImpl logged by AutoRecovery [PR #3350](https://github.com/apache/bookkeeper/pull/3350)
+* Fix underReplicatedLedgerTotalSize calculate problem. [PR #3337](https://github.com/apache/bookkeeper/pull/3337)
+* ISSUE 3220: Autorecovery does not process underreplicated empty ledgers [PR #3239](https://github.com/apache/bookkeeper/pull/3239)
+* Issue 3070: Fix bug where checkAllLedgers gets stuck when read throttling is enabled [PR #3214](https://github.com/apache/bookkeeper/pull/3214)
+
+#### Others
+* Add V2 protocol support for BenchReadThroughputLatency [PR #3878](https://github.com/apache/bookkeeper/pull/3878)
+* Enable CI for the streamstorage python client [PR #3875](https://github.com/apache/bookkeeper/pull/3875)
+* Correct the running job flag for the test group. [PR #3865](https://github.com/apache/bookkeeper/pull/3865)
+* Disable code coverage and Codecov report [PR #3863](https://github.com/apache/bookkeeper/pull/3863)
+* Fix NPE in BenchThroughputLatency [PR #3859](https://github.com/apache/bookkeeper/pull/3859)
+* Fix bkperf log directory not found [PR #3858](https://github.com/apache/bookkeeper/pull/3858)
+* [Flaky] Fix flaky test in testRaceGuavaEvictAndReleaseBeforeRetain [PR #3857](https://github.com/apache/bookkeeper/pull/3857)
+* Add V2 protocol and warmupMessages support for benchMark [PR #3856](https://github.com/apache/bookkeeper/pull/3856)
+* [Flaky Test] Add timeout for two flaky timeout tests [PR #3855](https://github.com/apache/bookkeeper/pull/3855)
+* Disable trimStackTrack for code-coverage profile [PR #3854](https://github.com/apache/bookkeeper/pull/3854)
+* Correct the running job name for the test group [PR #3851](https://github.com/apache/bookkeeper/pull/3851)
+* Fix website deploy build failed [PR #3841](https://github.com/apache/bookkeeper/pull/3841)
+* Fix Spotbugs check failed [PR #3836](https://github.com/apache/bookkeeper/pull/3836)
+* Support build in the aarch64 linux platform [PR #3828](https://github.com/apache/bookkeeper/pull/3828)
+* clean code: remove unused comment [PR #3827](https://github.com/apache/bookkeeper/pull/3827)
+* Fix: bookie-shell ledger-metadata usage with correct param [PR #3822](https://github.com/apache/bookkeeper/pull/3822)
+* Support update ledger metadata option bk-cli [PR #3821](https://github.com/apache/bookkeeper/pull/3821)
+* Remove compiling with `-Werror` to support Java 19 [PR #3820](https://github.com/apache/bookkeeper/pull/3820)
+* Speed up shutdown in test cases [PR #3809](https://github.com/apache/bookkeeper/pull/3809)
+* fix mailing-lists dead links [PR #3804](https://github.com/apache/bookkeeper/pull/3804)
+* Fix CI is not failed when test have errors [PR #3790](https://github.com/apache/bookkeeper/pull/3790)
+* Generate 4.14.7 website docs [PR #3787](https://github.com/apache/bookkeeper/pull/3787)
+* Make profile `code-coverage` and `dev-debug` tests using `-Dio.netty.leakDetection.level=paranoid` [PR #3785](https://github.com/apache/bookkeeper/pull/3785)
+* Update copy right year from 2022 to 2023 [PR #3742](https://github.com/apache/bookkeeper/pull/3742)
+* Fix missing blank in log text [PR #3781](https://github.com/apache/bookkeeper/pull/3781)
+* fix admin rest api typo [PR #3776](https://github.com/apache/bookkeeper/pull/3776)
+* Add push trigger condition for CI [PR #3760](https://github.com/apache/bookkeeper/pull/3760)
+* unify SLASHSTAR_STYLE for licenses in Java files [PR #3741](https://github.com/apache/bookkeeper/pull/3741)
+* CI: move all tests in a single workflow  [PR #3735](https://github.com/apache/bookkeeper/pull/3735)
+* unify SLASHSTAR_STYLE for licenses in Java files [PR #3717](https://github.com/apache/bookkeeper/pull/3717)
+* [improve][doc] improve bk_server.conf docs [PR #3715](https://github.com/apache/bookkeeper/pull/3715)
+* Added new way to self-invite to BK Slack [PR #3712](https://github.com/apache/bookkeeper/pull/3712)
+* Fix Flaky Tests [PR #3702](https://github.com/apache/bookkeeper/pull/3702)
+* [clean] remove unused variable attempts [PR #3685](https://github.com/apache/bookkeeper/pull/3685)
+* clean code: remove unused gcExecutor [PR #3682](https://github.com/apache/bookkeeper/pull/3682)
+* Make `jvm_memory_direct_bytes_used` metrics compatible with jdk8. [PR #3677](https://github.com/apache/bookkeeper/pull/3677)
+* Add an argument to decide expose the default JVM metrics [PR #3676](https://github.com/apache/bookkeeper/pull/3676)
+* Enhance simple test [PR #3675](https://github.com/apache/bookkeeper/pull/3675)
+* Run CI when a pull request contains doc changes [PR #3671](https://github.com/apache/bookkeeper/pull/3671)
+* Exit bookkeeper shell correctly even if fails to run for some reason [PR #3663](https://github.com/apache/bookkeeper/pull/3663)
+* Fix docker compose deployment [PR #3660](https://github.com/apache/bookkeeper/pull/3660)
+* bookkeeper-daemon script supports restart command [PR #3649](https://github.com/apache/bookkeeper/pull/3649)
+* Include bkperf into bk all package [PR #3632](https://github.com/apache/bookkeeper/pull/3632)
+* fix Flaky-test: testWriteLac [PR #3627](https://github.com/apache/bookkeeper/pull/3627)
+* Sync dependency version with source version in license [PR #3633](https://github.com/apache/bookkeeper/pull/3633)
+* Add ByteBuf refCnt test for AddEntry and use pooled ByteBuf reduce heap usage [PR #3598](https://github.com/apache/bookkeeper/pull/3598)
+* Correct link class name [PR #3594](https://github.com/apache/bookkeeper/pull/3594)
+* Use READ_ENTRY_SCHEDULING_DELAY to stable stickyReadsWithFailures [PR #3628](https://github.com/apache/bookkeeper/pull/3628)
+* Include com.google.guava:failureaccess in shaded package [PR #3624](https://github.com/apache/bookkeeper/pull/3624)
+* Issue 3549: migrate apply-config-from-env.py from python2 to python3 [PR #3614](https://github.com/apache/bookkeeper/pull/3614)
+* Update doc about flushInterval config [PR #3601](https://github.com/apache/bookkeeper/pull/3601)
+* Add javadoc comments for test classes [PR #3587](https://github.com/apache/bookkeeper/pull/3587)
+* Add code coverage report and upload to Codecov [PR #3586](https://github.com/apache/bookkeeper/pull/3586)
+* Replace sleep with await to avoid flaky test in SlowBookieTest [PR #3581](https://github.com/apache/bookkeeper/pull/3581)
+* Add example for multiple server list in metadataServiceUri configuration [PR #3580](https://github.com/apache/bookkeeper/pull/3580)
+* [test] Fix flaky test testAutoRecoverySessionLoss [PR #3576](https://github.com/apache/bookkeeper/pull/3576)
+* [configuration] fix typo in bk_server.conf [PR #3574](https://github.com/apache/bookkeeper/pull/3574)
+* [docs] update parameter in manual deployment page [PR #3573](https://github.com/apache/bookkeeper/pull/3573)
+* [cleanUp]remove unused variable for checkEnvironment [PR #3572](https://github.com/apache/bookkeeper/pull/3572)
+* [doc]Fixed incorrect checkstyle configuration prompts [PR #3571](https://github.com/apache/bookkeeper/pull/3571)
+* [website][fix]Repair `sequential nodes` address [PR #3569](https://github.com/apache/bookkeeper/pull/3569)
+* [docs] fix mistake in ledger api docs [PR #3566](https://github.com/apache/bookkeeper/pull/3566)
+* Fix flaky-test testWriteSetWriteableCheck [PR #3555](https://github.com/apache/bookkeeper/pull/3555)
+* Fix the typo of double the [PR #3552](https://github.com/apache/bookkeeper/pull/3552)
+* Issue 3550: Fix flaky tests in AuditorReplicasCheckTest [PR #3551](https://github.com/apache/bookkeeper/pull/3551)
+* Update website to record the RocksDB configuration changes [PR #3540](https://github.com/apache/bookkeeper/pull/3540)
+* <Issue #3534>[website]fix website mailing_lists_url/slack_url [PR #3535](https://github.com/apache/bookkeeper/pull/3535)
+* <Issue #3532>Create CONTRIBUTING.md [PR #3533](https://github.com/apache/bookkeeper/pull/3533)
+* disable direct IO test on windows [PR #3515](https://github.com/apache/bookkeeper/pull/3515)
+* Reduce unnecessary loop in removeIf if map is empty [PR #3512](https://github.com/apache/bookkeeper/pull/3512)
+* Migrate centos7 to ubuntu 22.10, reduce image size [PR #3492](https://github.com/apache/bookkeeper/pull/3492)
+* Simplified No network topology script is found default log stack output [PR #3496](https://github.com/apache/bookkeeper/pull/3496)
+* [unit tests] optimize SlowBookieTest [PR #3484](https://github.com/apache/bookkeeper/pull/3484)
+* Add .asf.yaml for configuring the project [PR #3439](https://github.com/apache/bookkeeper/pull/3439)
+* Skip runs the workflow when only have site related changes [PR #3462](https://github.com/apache/bookkeeper/pull/3462)
+* [ci] Cache maven dependencies [PR #3461](https://github.com/apache/bookkeeper/pull/3461)
+* [website] Remove alert for non mantained releases [PR #3411](https://github.com/apache/bookkeeper/pull/3411)
+* Migrate Dockerfile from centos to ubuntu [PR #3483](https://github.com/apache/bookkeeper/pull/3483)
+* [clean code]remove unused fields in bookkeeperserverstats [PR #3478](https://github.com/apache/bookkeeper/pull/3478)
+* Add option to clean up test ledger after simpletest. [PR #3474](https://github.com/apache/bookkeeper/pull/3474)
+* Add powermock global configuration [PR #3467](https://github.com/apache/bookkeeper/pull/3467)
+* Speed up the rebuildinding of RocksDB index [PR #3458](https://github.com/apache/bookkeeper/pull/3458)
+* Confirm content and update .asf.yaml [PR #3453](https://github.com/apache/bookkeeper/pull/3453)
+* bugfix for project's .asf.yaml [PR #3451](https://github.com/apache/bookkeeper/pull/3451)
+* Fix check style [PR #3429](https://github.com/apache/bookkeeper/pull/3429)
+* Fix typo in bookkeeper-proposals.md [PR #3427](https://github.com/apache/bookkeeper/pull/3427)
+* Fix the tls failed test [PR #3448](https://github.com/apache/bookkeeper/pull/3448)
+* Revert some unwanted changes in commit 3309 [PR #3438](https://github.com/apache/bookkeeper/pull/3438)
+* fix Flaky-test: testBookieShouldTurnWritableFromReadOnly [PR #3423](https://github.com/apache/bookkeeper/pull/3423)
+* fix Flaky-test: testBookieContinueWritingIfMultipleLedgersPresent [PR #3421](https://github.com/apache/bookkeeper/pull/3421)
+* Issue 3206: Flaky-test: BookieZKExpireTest.testBookieServerZKExpireBehaviour [PR #3415](https://github.com/apache/bookkeeper/pull/3415)
+* Remove gradle usage from Javadoc gen script [PR #3386](https://github.com/apache/bookkeeper/pull/3386)
+* Fix the Intellij key nouns. [PR #3381](https://github.com/apache/bookkeeper/pull/3381)
+* Fix a typo in bk_server.conf [PR #3370](https://github.com/apache/bookkeeper/pull/3370)
+* convert testcase to junit 4 [PR #3371](https://github.com/apache/bookkeeper/pull/3371)
+* Fix bookie CI test not run [PR #3367](https://github.com/apache/bookkeeper/pull/3367)
+* Fix broken link of code guide in README [PR #3347](https://github.com/apache/bookkeeper/pull/3347)
+* allow build on jdk17 [PR #3343](https://github.com/apache/bookkeeper/pull/3343)
+* Remove gradle build script [PR #3340](https://github.com/apache/bookkeeper/pull/3340)
+* [ISSUE 3295]Fix JVM exited when running localbookie with jdk17 (#3295) [PR #3334](https://github.com/apache/bookkeeper/pull/3334)
+* Remove unused value assign in BookKeeperTestClient [PR #3331](https://github.com/apache/bookkeeper/pull/3331)
+* Add Pravega as a Bookkeeper use case. [PR #3328](https://github.com/apache/bookkeeper/pull/3328)
+* Fix maven javadoc generate [PR #3317](https://github.com/apache/bookkeeper/pull/3317)
+* Remove gradle from workflow [PR #3314](https://github.com/apache/bookkeeper/pull/3314)
+* Close journal channel in testJunkEndedJournal [PR #3307](https://github.com/apache/bookkeeper/pull/3307)
+* [build] Support windows build [PR #3303](https://github.com/apache/bookkeeper/pull/3303)
+* [ci] [build] add macos build check [PR #3301](https://github.com/apache/bookkeeper/pull/3301)
+* [build] [windows] fix broken master code compile error strerror_s [PR #3300](https://github.com/apache/bookkeeper/pull/3300)
+* Issue 3293 Fix missing link to paxos algorithm [PR #3298](https://github.com/apache/bookkeeper/pull/3298)
+* Fix javadoc and build warnings [PR #3297](https://github.com/apache/bookkeeper/pull/3297)
+* [fix][doc] Fixed build instruction to Maven since Gradle usage was reverted [PR #3296](https://github.com/apache/bookkeeper/pull/3296)
+* [build] misc bump serveral maven plugin version [PR #3294](https://github.com/apache/bookkeeper/pull/3294)
+* [website] Make download page fully ASF compliant [PR #3291](https://github.com/apache/bookkeeper/pull/3291)
+* [doc] Remove old site source code [PR #3281](https://github.com/apache/bookkeeper/pull/3281)
+* Updated organization to Streamlio former members [PR #3280](https://github.com/apache/bookkeeper/pull/3280)
+* [doc] Remove DC/OS installation guide [PR #3278](https://github.com/apache/bookkeeper/pull/3278)
+* [doc] Improve release guide [PR #3277](https://github.com/apache/bookkeeper/pull/3277)
+* ISSUE#3275:fix hyperlink for bookkeeper.apache.org [PR #3276](https://github.com/apache/bookkeeper/pull/3276)
+* ISSUE#3270:Invalid hyperlink for Apache Pulsar#persistent-storage [PR #3271](https://github.com/apache/bookkeeper/pull/3271)
+* Fix dead link and add CI check [PR #3269](https://github.com/apache/bookkeeper/pull/3269)
+* cleaning up leftover 4.15-snapshot versions [PR #3267](https://github.com/apache/bookkeeper/pull/3267)
+* Fix the 3144 revert issue [PR #3283](https://github.com/apache/bookkeeper/pull/3283)
+* Fix typo in bk_server.conf [PR #3262](https://github.com/apache/bookkeeper/pull/3262)
+* Allow run LocalBookkeeper directly in `bookkeeper-server` module or on IDE [PR #3255](https://github.com/apache/bookkeeper/pull/3255)
+* [ISSUE 2637] Fix jvm_memory_direct_bytes_used metrics when using jdk11+ [PR #3252](https://github.com/apache/bookkeeper/pull/3252)
+* Issue 2518:fix error link [PR #3217](https://github.com/apache/bookkeeper/pull/3217)
+* [website] Add script for cut new release (release-notes, new docs, sidebar..) [PR #3198](https://github.com/apache/bookkeeper/pull/3198)
+* Allow running units test on jdk17 [PR #3195](https://github.com/apache/bookkeeper/pull/3195)
+* [website] Make site3 the official website (deploy scripts - master) [PR #3187](https://github.com/apache/bookkeeper/pull/3187)
+* [build] fix master branch broken http-core license check [PR #3183](https://github.com/apache/bookkeeper/pull/3183)
+* [build] support apple m1 build [PR #3175](https://github.com/apache/bookkeeper/pull/3175)
+* [website] add CI checks to validate the website [PR #3164](https://github.com/apache/bookkeeper/pull/3164)
+* [website] Update committers page [PR #3161](https://github.com/apache/bookkeeper/pull/3161)
+* use mockito.any instead of deprecated mockito.anyObject [PR #3152](https://github.com/apache/bookkeeper/pull/3152)
+* Try to use Java9 CRC32C when JNI based CRC is not available [PR #3309](https://github.com/apache/bookkeeper/pull/3309)
+* fix some jdk17 test problem [PR #3242](https://github.com/apache/bookkeeper/pull/3242)
+* Fix wrong ledger id parse radix for index relocation file in IndexPersistenceMgr [PR #2944](https://github.com/apache/bookkeeper/pull/2944)
+* ISSUE #1514: Clean up javadoc mojos execution [PR #2906](https://github.com/apache/bookkeeper/pull/2906)
+* [build] support circe-checksum and cpu-affinity build on Windows [PR #2549](https://github.com/apache/bookkeeper/pull/2549)
+* [conf] minorCompactionInterval should be greater than gcWaitTime [PR #2116](https://github.com/apache/bookkeeper/pull/2116)
+
+#### Dependency changes
+* Bump checkstyle-plugin from 3.1.2 to 3.2.1 [PR #3850](https://github.com/apache/bookkeeper/pull/3850)
+* Update testcontainers to last version to support m1 [PR #3819](https://github.com/apache/bookkeeper/pull/3819)
+* Upgrade Netty to 4.1.89.Final [PR #3816](https://github.com/apache/bookkeeper/pull/3816)

Review Comment:
   some dependencies (like netty) updated multiple times, we can reduce noise here



##########
site3/website/src/pages/release-notes.md:
##########
@@ -1,6 +1,388 @@
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.16.0
+
+Release 4.16.0 includes multiple bug fixes and some dependencies CVE fixes.
+
+Apache BookKeeper users are encouraged to upgrade to 4.16.0.
+The technical details of this release are summarized below.
+
+### Highlights
+
+#### Configuration
+* BP-60:Change PCBC limitStatsLogging default value to true [PR #3719](https://github.com/apache/bookkeeper/pull/3719)
+
+#### Features
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3714](https://github.com/apache/bookkeeper/pull/3714)
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3713](https://github.com/apache/bookkeeper/pull/3713)
+* [feature] Added api/v1/bookie/cluster_info REST API [PR #3710](https://github.com/apache/bookkeeper/pull/3710)
+* Add new api resumeCompaction and suspendCompaction [PR #3509](https://github.com/apache/bookkeeper/pull/3509)
+* BP-58: Change the API for org.apache.bookkeeper.stats.Counter [PR #3501](https://github.com/apache/bookkeeper/pull/3501)
+* Feature: auto recover support repaired not adhering placement ledger [PR #3359](https://github.com/apache/bookkeeper/pull/3359)
+* BP-50: Add reuse journal file feature to support Intel PMem disk [PR #3194](https://github.com/apache/bookkeeper/pull/3194)
+* BP-47 (task1): Add native IO library support [PR #3189](https://github.com/apache/bookkeeper/pull/3189)
+* BP-47 (task4): Aligned native buffer wrapper [PR #3253](https://github.com/apache/bookkeeper/pull/3253)
+* BP-47 (task6): Direct I/O entrylogger support [PR #3263](https://github.com/apache/bookkeeper/pull/3263)
+* BP-47 (task5): Garbage collection support direct IO entrylogger [PR #3256](https://github.com/apache/bookkeeper/pull/3256)
+* BP-47 (task7): DbLedgerStorage add direct entry logger support [PR #3366](https://github.com/apache/bookkeeper/pull/3366)
+* BP-41 Add flag to enable/disable BookieAddressResolver [PR #3356](https://github.com/apache/bookkeeper/pull/3356)
+
+#### Improvements
+* Improve group and flush add-responses after journal sync [PR #3848](https://github.com/apache/bookkeeper/pull/3848)
+* Added BatchedArrayBlockingQueue [PR #3838](https://github.com/apache/bookkeeper/pull/3838)
+* Group and flush add-responses after journal sync [PR #3837](https://github.com/apache/bookkeeper/pull/3837)
+* Avoid using thread-local WriteSet when possible [PR #3829](https://github.com/apache/bookkeeper/pull/3829)
+* Remove callback threadpool for sending add responses [PR #3825](https://github.com/apache/bookkeeper/pull/3825)
+* Use JNI directly for posix_fadvise [PR #3824](https://github.com/apache/bookkeeper/pull/3824)
+* Improvements in ArrayGroupSort [PR #3807](https://github.com/apache/bookkeeper/pull/3807)
+* Single buffer for small add requests [PR #3783](https://github.com/apache/bookkeeper/pull/3783)
+* Use BatchedArrayBlockingQueue in Journal [PR #3843](https://github.com/apache/bookkeeper/pull/3843)
+
+#### Bookie
+* [Bugfix] make metadataDriver initialization more robust [PR #3873](https://github.com/apache/bookkeeper/pull/3873)
+* Add log for entry log file delete. [PR #3872](https://github.com/apache/bookkeeper/pull/3872)
+* Fix compaction threshold default value precision problem. [PR #3871](https://github.com/apache/bookkeeper/pull/3871)
+* [fix][gc] Change order of doGcLedgers and extractMetaFromEntryLogs [PR #3869](https://github.com/apache/bookkeeper/pull/3869)
+* Modify incorrect rocksDB config level_compaction_dynamic_level_bytes to CFOptions [PR #3860](https://github.com/apache/bookkeeper/pull/3860)
+* Avoid unnecessary force write. [PR #3847](https://github.com/apache/bookkeeper/pull/3847)
+* Fix memory leak issue of reading small entries [PR #3844](https://github.com/apache/bookkeeper/pull/3844)
+* Make read entry request recyclable [PR #3842](https://github.com/apache/bookkeeper/pull/3842)
+* Pass BookieRequestHandler instead of Channel to the request processors [PR #3835](https://github.com/apache/bookkeeper/pull/3835)
+* Simplified the logic for ForceWriteThread after we introduced queue.drainTo() [PR #3830](https://github.com/apache/bookkeeper/pull/3830)
+* Fixed back API of Crc32cIntChecksum [PR #3826](https://github.com/apache/bookkeeper/pull/3826)
+* Fix: typo for ledger-metadata param: restorefromfile [PR #3823](https://github.com/apache/bookkeeper/pull/3823)
+* Avoid thread-local state when computing CRCs [PR #3811](https://github.com/apache/bookkeeper/pull/3811)
+* Improved efficiency in DigestManager.verify() [PR #3810](https://github.com/apache/bookkeeper/pull/3810)
+* Fixed locking of PendingAddOp [PR #3806](https://github.com/apache/bookkeeper/pull/3806)
+* Add trigger entry location index rocksDB compact REST API  [PR #3802](https://github.com/apache/bookkeeper/pull/3802)
+* Fixed the pivot selection in the group quick-sort [PR #3800](https://github.com/apache/bookkeeper/pull/3800)
+* BP61: revert BP-59 to release ByteBuf using ReferenceCountUtil.release() instead of ReferenceCountUtil.safeRelease() [PR #3796](https://github.com/apache/bookkeeper/pull/3796)
+* Pick the higher leak detection level between netty and bookkeeper. [PR #3794](https://github.com/apache/bookkeeper/pull/3794)
+* Make RrocksDB checksum type configurable [PR #3793](https://github.com/apache/bookkeeper/pull/3793)
+* Change directIO configuration names to avoid confusing [PR #3791](https://github.com/apache/bookkeeper/pull/3791)
+* Add directIO entry logger settings documents [PR #3789](https://github.com/apache/bookkeeper/pull/3789)
+* DirectWriter only acquire buffer when need write. [PR #3786](https://github.com/apache/bookkeeper/pull/3786)
+* Made PendingAddOp thread safe [PR #3784](https://github.com/apache/bookkeeper/pull/3784)
+* Add logs for ensemble select failed [PR #3779](https://github.com/apache/bookkeeper/pull/3779)
+* [improve] Fix indexDirs upgrade failed [PR #3762](https://github.com/apache/bookkeeper/pull/3762)
+* Fix ReadEntryProcessor v2 SchedulingDelayStats [PR #3758](https://github.com/apache/bookkeeper/pull/3758)
+* Fix the duplicated JournalQueueStats [PR #3753](https://github.com/apache/bookkeeper/pull/3753)
+* Remove unnecessary hasExplicitLac check [PR #3748](https://github.com/apache/bookkeeper/pull/3748)
+* Fix QueueEntry recycle problem. [PR #3747](https://github.com/apache/bookkeeper/pull/3747)
+* [bookie] Fix memory leak when the Bookie is in read only mode [PR #3746](https://github.com/apache/bookkeeper/pull/3746)
+* [improve] Optimize masterKeyCache StorageNotificationListener [PR #3736](https://github.com/apache/bookkeeper/pull/3736)
+* [fix] Recycle LongPairWrapper after use [PR #3728](https://github.com/apache/bookkeeper/pull/3728)
+* Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. [PR #3725](https://github.com/apache/bookkeeper/pull/3725)
+* Expose registrationClient in DefaultBookieAddressResolver. [PR #3724](https://github.com/apache/bookkeeper/pull/3724)
+* New ensemble choose different rack first. [PR #3721](https://github.com/apache/bookkeeper/pull/3721)
+* Not wrap IOException twice form checkpoint [PR #3683](https://github.com/apache/bookkeeper/pull/3683)
+* [fix][server]fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery [PR #3672](https://github.com/apache/bookkeeper/pull/3672)
+* [fix][server] When dbStorage_directIOEntryLogger=true, EntryLogIdsImpl only takes effect for a single ledger directory [PR #3680](https://github.com/apache/bookkeeper/pull/3680)
+* Bring back deleteRange for RocksDB to improve location delete performance [PR #3653](https://github.com/apache/bookkeeper/pull/3653)
+* Make RocksDB delete entries batch size configurable [PR #3646](https://github.com/apache/bookkeeper/pull/3646)
+* Add small files check in garbage collection [PR #3631](https://github.com/apache/bookkeeper/pull/3631)
+* Allow to use IO uring instead of epoll [PR #3595](https://github.com/apache/bookkeeper/pull/3595)
+* Show result of isFenced in log [PR #3678](https://github.com/apache/bookkeeper/pull/3678)
+* Fix RegionAwareEnsemblePlacementPolicy update rack info problem. [PR #3666](https://github.com/apache/bookkeeper/pull/3666)
+* Dont validate CompactionInterval when compaction is disabled [PR #3664](https://github.com/apache/bookkeeper/pull/3664)
+* [fix][server]fix memory leak when operating ledger metadata [PR #3662](https://github.com/apache/bookkeeper/pull/3662)
+* Fix numLedgersReplicated metric [PR #3654](https://github.com/apache/bookkeeper/pull/3654)
+* [improve] Add num not adhering placement ledgers replicated metric for ReplicationWorker [PR #3652](https://github.com/apache/bookkeeper/pull/3652)
+* Add Http-service to check bookie sanity state [PR #3630](https://github.com/apache/bookkeeper/pull/3630)
+* [log] Add journal file path that caused failure in multi-journal config [PR #3623](https://github.com/apache/bookkeeper/pull/3623)
+* Fix GetBookieInfo failed event stats [PR #3622](https://github.com/apache/bookkeeper/pull/3622)
+* Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv [PR #3621](https://github.com/apache/bookkeeper/pull/3621)
+* BookieImpl remove wait until journal quits [PR #3603](https://github.com/apache/bookkeeper/pull/3603)
+* Optimize ReadResponse for small entry sizes [PR #3597](https://github.com/apache/bookkeeper/pull/3597)
+* Optimized debug log enable [PR #3596](https://github.com/apache/bookkeeper/pull/3596)
+* Removed the necessity of SafeRunnable [PR #3593](https://github.com/apache/bookkeeper/pull/3593)
+* Fix memtable getEntryStats typo [PR #3592](https://github.com/apache/bookkeeper/pull/3592)
+* Fix readEntryStats typo [PR #3591](https://github.com/apache/bookkeeper/pull/3591)
+* Fix typo issue when Header.assertFingerPrint throws IOException [PR #3590](https://github.com/apache/bookkeeper/pull/3590)
+* Issue 3588: write meta to log header before fsync in DirectIO mode [PR #3589](https://github.com/apache/bookkeeper/pull/3589)
+* Fix ByteBuf memory leak problem when setExplicitLac [PR #3577](https://github.com/apache/bookkeeper/pull/3577)
+* Single thread executor should not have max capacity by default [PR #3575](https://github.com/apache/bookkeeper/pull/3575)
+* Flush time started moved to after lock [PR #3570](https://github.com/apache/bookkeeper/pull/3570)
+* When call openLedgerOp, make the timeout ex is a separate error code [PR #3562](https://github.com/apache/bookkeeper/pull/3562)
+* Avoid extra buffer to prepend frame size [PR #3560](https://github.com/apache/bookkeeper/pull/3560)
+* Using a separate thread pool to execute openWithMetadata [PR #3548](https://github.com/apache/bookkeeper/pull/3548)
+* Use SingleThreadExecutor for OrderedExecutor and drainTo() tasks into local array [PR #3546](https://github.com/apache/bookkeeper/pull/3546)
+* Use BlockingQueue.drainTo() in JournalForceWrite thread [PR #3545](https://github.com/apache/bookkeeper/pull/3545)
+* Use BlockingQueue.drainTo() in Journal thread [PR #3544](https://github.com/apache/bookkeeper/pull/3544)
+* Fix memory leak when reading entry but the connection disconnected. [PR #3528](https://github.com/apache/bookkeeper/pull/3528)
+* Fix byteBuf potential memory leak problem. [PR #3525](https://github.com/apache/bookkeeper/pull/3525)
+* Make the rocksDB configuration compatible with previous versions [PR #3523](https://github.com/apache/bookkeeper/pull/3523)
+* Change masterKeyCache to dynamic size [PR #3522](https://github.com/apache/bookkeeper/pull/3522)
+* Issue #3488 Create an EmbeddedSever extracting code from Main class and adding a builder pattern [PR #3489](https://github.com/apache/bookkeeper/pull/3489)
+* Check if channel closed before processing read request [PR #3486](https://github.com/apache/bookkeeper/pull/3486)
+* Add missed call to onReadRequestFinish() when read request rejected [PR #3482](https://github.com/apache/bookkeeper/pull/3482)
+* Fix the deadlock when only using io thread to handle request [PR #3480](https://github.com/apache/bookkeeper/pull/3480)
+* Fix group ForceWrite not take effect with forceWriteMarkerSent in while loop of ForceWriteThread [PR #3454](https://github.com/apache/bookkeeper/pull/3454)
+* WriteLacResponse should be processed in the same thread as other requests [PR #3452](https://github.com/apache/bookkeeper/pull/3452)
+* Fix wrong stats name [PR #3450](https://github.com/apache/bookkeeper/pull/3450)
+* Add latency stats for entry location index lookup so that possible RocksDB bottleneck can be detected [PR #3444](https://github.com/apache/bookkeeper/pull/3444)
+* indexDir compatible fix for issue #3430 [PR #3433](https://github.com/apache/bookkeeper/pull/3433)
+* add metric cbThreadPoolQueueSize [PR #3424](https://github.com/apache/bookkeeper/pull/3424)
+* Optimize concurrent collection's shrink logic [PR #3417](https://github.com/apache/bookkeeper/pull/3417)
+* Rename bookkeeper metrics to specify OpenMetrics [PR #3406](https://github.com/apache/bookkeeper/pull/3406)
+* stage 10: bugfix indexDirs for ConvertToInterleavedStorageCommand [PR #3409](https://github.com/apache/bookkeeper/pull/3409)
+* stage 9: bugfix indexDirs for LedgersIndexRebuildOp [PR #3403](https://github.com/apache/bookkeeper/pull/3403)
+* stage 8: bugfix indexDirs for LedgersIndexCheckOp [PR #3402](https://github.com/apache/bookkeeper/pull/3402)
+* stage 7: print indexDirs's info when start bookie [PR #3401](https://github.com/apache/bookkeeper/pull/3401)
+* stage 6: bugfix indexDirs for LocationsIndexRebuildOp [PR #3399](https://github.com/apache/bookkeeper/pull/3399)
+* stage 5: bugfix indexDirs for readLedgerIndexEntries [PR #3398](https://github.com/apache/bookkeeper/pull/3398)
+* Stage 3~4 : Add indexDirs in statsLogger, add indexDirs's Listener.  [PR #3397](https://github.com/apache/bookkeeper/pull/3397)
+* Make BookieFileChannel interface public [PR #3396](https://github.com/apache/bookkeeper/pull/3396)
+* [Issue 3389] Prioritize compaction of entry logs with the lowest amount of remaining usable data [PR #3390](https://github.com/apache/bookkeeper/pull/3390)
+* Add static declaration for useFallocate in DirectWriter [PR #3388](https://github.com/apache/bookkeeper/pull/3388)
+* Switch back ordered executor to LinkedBlockingQueue [PR #3384](https://github.com/apache/bookkeeper/pull/3384)
+* Consolidate Netty channel flushes to mitigate syscall overhead [PR #3383](https://github.com/apache/bookkeeper/pull/3383)
+* Add a param in cookie_generate for updating indexDirs [PR #3380](https://github.com/apache/bookkeeper/pull/3380)
+* clean code: remove unused JOURNAL_NUM_FORCE_WRITES [PR #3379](https://github.com/apache/bookkeeper/pull/3379)
+* Use estimateMaxDirectMemory instead of maxDirectMemory [PR #3375](https://github.com/apache/bookkeeper/pull/3375)
+* add and check indexDirs in Cookie meta [PR #3372](https://github.com/apache/bookkeeper/pull/3372)
+* If ensembleList is empty, return PlacementPolicyAdherence.FAIL. [PR #3369](https://github.com/apache/bookkeeper/pull/3369)
+* add journalCbQueueLatency [PR #3364](https://github.com/apache/bookkeeper/pull/3364)
+* add writeThreadQueuedLatency [PR #3363](https://github.com/apache/bookkeeper/pull/3363)
+* Basic function: directories to store index files [PR #3352](https://github.com/apache/bookkeeper/pull/3352)
+* reduce unnecessary checkpoints [PR #3341](https://github.com/apache/bookkeeper/pull/3341)
+* Enhance future sync wait. [PR #3336](https://github.com/apache/bookkeeper/pull/3336)
+* Pre break loop when self create layoutZNode succeed. [PR #3335](https://github.com/apache/bookkeeper/pull/3335)
+* Apply the backpressure changes on the V2 requests [PR #3324](https://github.com/apache/bookkeeper/pull/3324)
+* Issue 3306: Bookie can't start after rebooting due the cookie mistmatch [PR #3308](https://github.com/apache/bookkeeper/pull/3308)
+* validate diskUsageThreshold and diskUsageLwmThreshold [PR #3285](https://github.com/apache/bookkeeper/pull/3285)
+* [minor] [optimize] Remove redundant toString call [PR #3254](https://github.com/apache/bookkeeper/pull/3254)
+* Move bookkeeper-stats and bookkeeper-stats-providers as submodules of stats [PR #3246](https://github.com/apache/bookkeeper/pull/3246)
+* Enable Netty and BookKeeper IO optimizations on jdk17 [PR #3234](https://github.com/apache/bookkeeper/pull/3234)
+* Added flag to control whether to transition to read-only mode when any disks full [PR #3212](https://github.com/apache/bookkeeper/pull/3212)
+* Remove useless and duplicated ledger directory metrics [PR #3156](https://github.com/apache/bookkeeper/pull/3156)
+* Make netty acceptor threadPool size configurable [PR #3153](https://github.com/apache/bookkeeper/pull/3153)
+* add stats for throttled-write [PR #3102](https://github.com/apache/bookkeeper/pull/3102)
+* update default value of allocatorPoolingConcurrency [PR #3001](https://github.com/apache/bookkeeper/pull/3001)
+* Use netty maxDirectMemory instead of DirectMemoryUtils [PR #2989](https://github.com/apache/bookkeeper/pull/2989)
+* Fix the infinite waiting for shutdown due to throttler limit [PR #2942](https://github.com/apache/bookkeeper/pull/2942)
+* Issue #2908: Replace unsafe NoEntryException with IOException [PR #2909](https://github.com/apache/bookkeeper/pull/2909)
+* issue #2879 : let bookie quit if journal thread exit [PR #2887](https://github.com/apache/bookkeeper/pull/2887)
+* Ledger replicate supports throttle [PR #2778](https://github.com/apache/bookkeeper/pull/2778)
+
+#### Client
+* Check client if closed when complete callback. [PR #3661](https://github.com/apache/bookkeeper/pull/3661)
+* LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread [PR #3516](https://github.com/apache/bookkeeper/pull/3516)
+* LedgerOpenOp: Do not call blocking close() in the callback [PR #3513](https://github.com/apache/bookkeeper/pull/3513)
+* Rename success with writableResult and update final writableResult about wait writeSet [PR #3505](https://github.com/apache/bookkeeper/pull/3505)
+* Optimize log for failed to write entry [PR #3463](https://github.com/apache/bookkeeper/pull/3463)
+* [improve][client] release the bookie from QuarantinedBookies when health check is disabled [PR #3349](https://github.com/apache/bookkeeper/pull/3349)
+* Tuing PendingReadOp.java seq [PR #3330](https://github.com/apache/bookkeeper/pull/3330)
+* Avoid init WriteSet when waitForWriteSetMs < 0. [PR #3325](https://github.com/apache/bookkeeper/pull/3325)
+* Fix the V2 AddRequest object leak issue [PR #3323](https://github.com/apache/bookkeeper/pull/3323)
+* Fix the PendingAddOp is not recycled when LedgerHandler closed [PR #3321](https://github.com/apache/bookkeeper/pull/3321)
+* [Client] Deduplicate error log for SSLException [PR #3320](https://github.com/apache/bookkeeper/pull/3320)
+* [Client] Switch to rely on SslEngine for Hostname Verification [PR #3310](https://github.com/apache/bookkeeper/pull/3310)
+* Make sure the LedgerHandle close callback can be completed when encounter exception [PR #2913](https://github.com/apache/bookkeeper/pull/2913)
+
+#### AutoRecovery
+* [improvement] Delay all audit task when have a already delayed bookie check task [PR #3818](https://github.com/apache/bookkeeper/pull/3818)
+* Issue 3070: Fix issue where checkAllLedgers could get stuck when read throttling is enabled [PR #3655](https://github.com/apache/bookkeeper/pull/3655)
+* [improvement] Refactor Auditor to simplify the readability [PR #3637](https://github.com/apache/bookkeeper/pull/3637)
+* Skip replicasCheck when replication disabled [PR #3563](https://github.com/apache/bookkeeper/pull/3563)
+* Skipping placementPolicyCheck when ledger replication disabled [PR #3561](https://github.com/apache/bookkeeper/pull/3561)
+* fix close ledgerAuditorManager repeatedly [PR #3503](https://github.com/apache/bookkeeper/pull/3503)
+* ledgerFragment check and results keep order [PR #3504](https://github.com/apache/bookkeeper/pull/3504)
+* Issue #3498  Fix bookkeeper command path in decommission doc [PR #3499](https://github.com/apache/bookkeeper/pull/3499)
+* AutoRecovery - Do not call shutdown() on the main ZookKeeper client thread [PR #3487](https://github.com/apache/bookkeeper/pull/3487)
+* [Issue #3459]fix queryautorecoverystatus command [PR #3460](https://github.com/apache/bookkeeper/pull/3460)
+* Shut down ReplicationWorker and Auditor on non-recoverable ZK error [PR #3374](https://github.com/apache/bookkeeper/pull/3374)
+* Fix autoRecovery memory leak. [PR #3361](https://github.com/apache/bookkeeper/pull/3361)
+* Fix: NPE in RackawareEnsemblePlacementPolicyImpl logged by AutoRecovery [PR #3350](https://github.com/apache/bookkeeper/pull/3350)
+* Fix underReplicatedLedgerTotalSize calculate problem. [PR #3337](https://github.com/apache/bookkeeper/pull/3337)
+* ISSUE 3220: Autorecovery does not process underreplicated empty ledgers [PR #3239](https://github.com/apache/bookkeeper/pull/3239)
+* Issue 3070: Fix bug where checkAllLedgers gets stuck when read throttling is enabled [PR #3214](https://github.com/apache/bookkeeper/pull/3214)
+
+#### Others

Review Comment:
   I think we can remove doc/build/CI/website changes



##########
site3/website/src/pages/release-notes.md:
##########
@@ -1,6 +1,388 @@
 <!-- markdown-link-check-disable -->
 # Release notes
 
+## 4.16.0
+
+Release 4.16.0 includes multiple bug fixes and some dependencies CVE fixes.
+
+Apache BookKeeper users are encouraged to upgrade to 4.16.0.
+The technical details of this release are summarized below.
+
+### Highlights
+
+#### Configuration
+* BP-60:Change PCBC limitStatsLogging default value to true [PR #3719](https://github.com/apache/bookkeeper/pull/3719)
+
+#### Features
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3714](https://github.com/apache/bookkeeper/pull/3714)
+* [FEATURE] Added api/v1/bookie/cluster_info REST API [PR #3713](https://github.com/apache/bookkeeper/pull/3713)
+* [feature] Added api/v1/bookie/cluster_info REST API [PR #3710](https://github.com/apache/bookkeeper/pull/3710)
+* Add new api resumeCompaction and suspendCompaction [PR #3509](https://github.com/apache/bookkeeper/pull/3509)
+* BP-58: Change the API for org.apache.bookkeeper.stats.Counter [PR #3501](https://github.com/apache/bookkeeper/pull/3501)
+* Feature: auto recover support repaired not adhering placement ledger [PR #3359](https://github.com/apache/bookkeeper/pull/3359)
+* BP-50: Add reuse journal file feature to support Intel PMem disk [PR #3194](https://github.com/apache/bookkeeper/pull/3194)
+* BP-47 (task1): Add native IO library support [PR #3189](https://github.com/apache/bookkeeper/pull/3189)
+* BP-47 (task4): Aligned native buffer wrapper [PR #3253](https://github.com/apache/bookkeeper/pull/3253)
+* BP-47 (task6): Direct I/O entrylogger support [PR #3263](https://github.com/apache/bookkeeper/pull/3263)
+* BP-47 (task5): Garbage collection support direct IO entrylogger [PR #3256](https://github.com/apache/bookkeeper/pull/3256)
+* BP-47 (task7): DbLedgerStorage add direct entry logger support [PR #3366](https://github.com/apache/bookkeeper/pull/3366)
+* BP-41 Add flag to enable/disable BookieAddressResolver [PR #3356](https://github.com/apache/bookkeeper/pull/3356)
+
+#### Improvements
+* Improve group and flush add-responses after journal sync [PR #3848](https://github.com/apache/bookkeeper/pull/3848)
+* Added BatchedArrayBlockingQueue [PR #3838](https://github.com/apache/bookkeeper/pull/3838)
+* Group and flush add-responses after journal sync [PR #3837](https://github.com/apache/bookkeeper/pull/3837)
+* Avoid using thread-local WriteSet when possible [PR #3829](https://github.com/apache/bookkeeper/pull/3829)
+* Remove callback threadpool for sending add responses [PR #3825](https://github.com/apache/bookkeeper/pull/3825)
+* Use JNI directly for posix_fadvise [PR #3824](https://github.com/apache/bookkeeper/pull/3824)
+* Improvements in ArrayGroupSort [PR #3807](https://github.com/apache/bookkeeper/pull/3807)
+* Single buffer for small add requests [PR #3783](https://github.com/apache/bookkeeper/pull/3783)
+* Use BatchedArrayBlockingQueue in Journal [PR #3843](https://github.com/apache/bookkeeper/pull/3843)
+
+#### Bookie
+* [Bugfix] make metadataDriver initialization more robust [PR #3873](https://github.com/apache/bookkeeper/pull/3873)
+* Add log for entry log file delete. [PR #3872](https://github.com/apache/bookkeeper/pull/3872)
+* Fix compaction threshold default value precision problem. [PR #3871](https://github.com/apache/bookkeeper/pull/3871)
+* [fix][gc] Change order of doGcLedgers and extractMetaFromEntryLogs [PR #3869](https://github.com/apache/bookkeeper/pull/3869)
+* Modify incorrect rocksDB config level_compaction_dynamic_level_bytes to CFOptions [PR #3860](https://github.com/apache/bookkeeper/pull/3860)
+* Avoid unnecessary force write. [PR #3847](https://github.com/apache/bookkeeper/pull/3847)
+* Fix memory leak issue of reading small entries [PR #3844](https://github.com/apache/bookkeeper/pull/3844)
+* Make read entry request recyclable [PR #3842](https://github.com/apache/bookkeeper/pull/3842)
+* Pass BookieRequestHandler instead of Channel to the request processors [PR #3835](https://github.com/apache/bookkeeper/pull/3835)
+* Simplified the logic for ForceWriteThread after we introduced queue.drainTo() [PR #3830](https://github.com/apache/bookkeeper/pull/3830)
+* Fixed back API of Crc32cIntChecksum [PR #3826](https://github.com/apache/bookkeeper/pull/3826)
+* Fix: typo for ledger-metadata param: restorefromfile [PR #3823](https://github.com/apache/bookkeeper/pull/3823)
+* Avoid thread-local state when computing CRCs [PR #3811](https://github.com/apache/bookkeeper/pull/3811)
+* Improved efficiency in DigestManager.verify() [PR #3810](https://github.com/apache/bookkeeper/pull/3810)
+* Fixed locking of PendingAddOp [PR #3806](https://github.com/apache/bookkeeper/pull/3806)
+* Add trigger entry location index rocksDB compact REST API  [PR #3802](https://github.com/apache/bookkeeper/pull/3802)
+* Fixed the pivot selection in the group quick-sort [PR #3800](https://github.com/apache/bookkeeper/pull/3800)
+* BP61: revert BP-59 to release ByteBuf using ReferenceCountUtil.release() instead of ReferenceCountUtil.safeRelease() [PR #3796](https://github.com/apache/bookkeeper/pull/3796)
+* Pick the higher leak detection level between netty and bookkeeper. [PR #3794](https://github.com/apache/bookkeeper/pull/3794)
+* Make RrocksDB checksum type configurable [PR #3793](https://github.com/apache/bookkeeper/pull/3793)
+* Change directIO configuration names to avoid confusing [PR #3791](https://github.com/apache/bookkeeper/pull/3791)
+* Add directIO entry logger settings documents [PR #3789](https://github.com/apache/bookkeeper/pull/3789)
+* DirectWriter only acquire buffer when need write. [PR #3786](https://github.com/apache/bookkeeper/pull/3786)
+* Made PendingAddOp thread safe [PR #3784](https://github.com/apache/bookkeeper/pull/3784)
+* Add logs for ensemble select failed [PR #3779](https://github.com/apache/bookkeeper/pull/3779)
+* [improve] Fix indexDirs upgrade failed [PR #3762](https://github.com/apache/bookkeeper/pull/3762)
+* Fix ReadEntryProcessor v2 SchedulingDelayStats [PR #3758](https://github.com/apache/bookkeeper/pull/3758)
+* Fix the duplicated JournalQueueStats [PR #3753](https://github.com/apache/bookkeeper/pull/3753)
+* Remove unnecessary hasExplicitLac check [PR #3748](https://github.com/apache/bookkeeper/pull/3748)
+* Fix QueueEntry recycle problem. [PR #3747](https://github.com/apache/bookkeeper/pull/3747)
+* [bookie] Fix memory leak when the Bookie is in read only mode [PR #3746](https://github.com/apache/bookkeeper/pull/3746)
+* [improve] Optimize masterKeyCache StorageNotificationListener [PR #3736](https://github.com/apache/bookkeeper/pull/3736)
+* [fix] Recycle LongPairWrapper after use [PR #3728](https://github.com/apache/bookkeeper/pull/3728)
+* Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. [PR #3725](https://github.com/apache/bookkeeper/pull/3725)
+* Expose registrationClient in DefaultBookieAddressResolver. [PR #3724](https://github.com/apache/bookkeeper/pull/3724)
+* New ensemble choose different rack first. [PR #3721](https://github.com/apache/bookkeeper/pull/3721)
+* Not wrap IOException twice form checkpoint [PR #3683](https://github.com/apache/bookkeeper/pull/3683)
+* [fix][server]fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery [PR #3672](https://github.com/apache/bookkeeper/pull/3672)
+* [fix][server] When dbStorage_directIOEntryLogger=true, EntryLogIdsImpl only takes effect for a single ledger directory [PR #3680](https://github.com/apache/bookkeeper/pull/3680)
+* Bring back deleteRange for RocksDB to improve location delete performance [PR #3653](https://github.com/apache/bookkeeper/pull/3653)
+* Make RocksDB delete entries batch size configurable [PR #3646](https://github.com/apache/bookkeeper/pull/3646)
+* Add small files check in garbage collection [PR #3631](https://github.com/apache/bookkeeper/pull/3631)
+* Allow to use IO uring instead of epoll [PR #3595](https://github.com/apache/bookkeeper/pull/3595)
+* Show result of isFenced in log [PR #3678](https://github.com/apache/bookkeeper/pull/3678)
+* Fix RegionAwareEnsemblePlacementPolicy update rack info problem. [PR #3666](https://github.com/apache/bookkeeper/pull/3666)
+* Dont validate CompactionInterval when compaction is disabled [PR #3664](https://github.com/apache/bookkeeper/pull/3664)
+* [fix][server]fix memory leak when operating ledger metadata [PR #3662](https://github.com/apache/bookkeeper/pull/3662)
+* Fix numLedgersReplicated metric [PR #3654](https://github.com/apache/bookkeeper/pull/3654)
+* [improve] Add num not adhering placement ledgers replicated metric for ReplicationWorker [PR #3652](https://github.com/apache/bookkeeper/pull/3652)
+* Add Http-service to check bookie sanity state [PR #3630](https://github.com/apache/bookkeeper/pull/3630)
+* [log] Add journal file path that caused failure in multi-journal config [PR #3623](https://github.com/apache/bookkeeper/pull/3623)
+* Fix GetBookieInfo failed event stats [PR #3622](https://github.com/apache/bookkeeper/pull/3622)
+* Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv [PR #3621](https://github.com/apache/bookkeeper/pull/3621)
+* BookieImpl remove wait until journal quits [PR #3603](https://github.com/apache/bookkeeper/pull/3603)
+* Optimize ReadResponse for small entry sizes [PR #3597](https://github.com/apache/bookkeeper/pull/3597)
+* Optimized debug log enable [PR #3596](https://github.com/apache/bookkeeper/pull/3596)
+* Removed the necessity of SafeRunnable [PR #3593](https://github.com/apache/bookkeeper/pull/3593)
+* Fix memtable getEntryStats typo [PR #3592](https://github.com/apache/bookkeeper/pull/3592)
+* Fix readEntryStats typo [PR #3591](https://github.com/apache/bookkeeper/pull/3591)
+* Fix typo issue when Header.assertFingerPrint throws IOException [PR #3590](https://github.com/apache/bookkeeper/pull/3590)
+* Issue 3588: write meta to log header before fsync in DirectIO mode [PR #3589](https://github.com/apache/bookkeeper/pull/3589)
+* Fix ByteBuf memory leak problem when setExplicitLac [PR #3577](https://github.com/apache/bookkeeper/pull/3577)
+* Single thread executor should not have max capacity by default [PR #3575](https://github.com/apache/bookkeeper/pull/3575)
+* Flush time started moved to after lock [PR #3570](https://github.com/apache/bookkeeper/pull/3570)
+* When call openLedgerOp, make the timeout ex is a separate error code [PR #3562](https://github.com/apache/bookkeeper/pull/3562)
+* Avoid extra buffer to prepend frame size [PR #3560](https://github.com/apache/bookkeeper/pull/3560)
+* Using a separate thread pool to execute openWithMetadata [PR #3548](https://github.com/apache/bookkeeper/pull/3548)
+* Use SingleThreadExecutor for OrderedExecutor and drainTo() tasks into local array [PR #3546](https://github.com/apache/bookkeeper/pull/3546)
+* Use BlockingQueue.drainTo() in JournalForceWrite thread [PR #3545](https://github.com/apache/bookkeeper/pull/3545)
+* Use BlockingQueue.drainTo() in Journal thread [PR #3544](https://github.com/apache/bookkeeper/pull/3544)
+* Fix memory leak when reading entry but the connection disconnected. [PR #3528](https://github.com/apache/bookkeeper/pull/3528)
+* Fix byteBuf potential memory leak problem. [PR #3525](https://github.com/apache/bookkeeper/pull/3525)
+* Make the rocksDB configuration compatible with previous versions [PR #3523](https://github.com/apache/bookkeeper/pull/3523)
+* Change masterKeyCache to dynamic size [PR #3522](https://github.com/apache/bookkeeper/pull/3522)
+* Issue #3488 Create an EmbeddedSever extracting code from Main class and adding a builder pattern [PR #3489](https://github.com/apache/bookkeeper/pull/3489)
+* Check if channel closed before processing read request [PR #3486](https://github.com/apache/bookkeeper/pull/3486)
+* Add missed call to onReadRequestFinish() when read request rejected [PR #3482](https://github.com/apache/bookkeeper/pull/3482)
+* Fix the deadlock when only using io thread to handle request [PR #3480](https://github.com/apache/bookkeeper/pull/3480)
+* Fix group ForceWrite not take effect with forceWriteMarkerSent in while loop of ForceWriteThread [PR #3454](https://github.com/apache/bookkeeper/pull/3454)
+* WriteLacResponse should be processed in the same thread as other requests [PR #3452](https://github.com/apache/bookkeeper/pull/3452)
+* Fix wrong stats name [PR #3450](https://github.com/apache/bookkeeper/pull/3450)
+* Add latency stats for entry location index lookup so that possible RocksDB bottleneck can be detected [PR #3444](https://github.com/apache/bookkeeper/pull/3444)
+* indexDir compatible fix for issue #3430 [PR #3433](https://github.com/apache/bookkeeper/pull/3433)
+* add metric cbThreadPoolQueueSize [PR #3424](https://github.com/apache/bookkeeper/pull/3424)
+* Optimize concurrent collection's shrink logic [PR #3417](https://github.com/apache/bookkeeper/pull/3417)
+* Rename bookkeeper metrics to specify OpenMetrics [PR #3406](https://github.com/apache/bookkeeper/pull/3406)
+* stage 10: bugfix indexDirs for ConvertToInterleavedStorageCommand [PR #3409](https://github.com/apache/bookkeeper/pull/3409)
+* stage 9: bugfix indexDirs for LedgersIndexRebuildOp [PR #3403](https://github.com/apache/bookkeeper/pull/3403)
+* stage 8: bugfix indexDirs for LedgersIndexCheckOp [PR #3402](https://github.com/apache/bookkeeper/pull/3402)
+* stage 7: print indexDirs's info when start bookie [PR #3401](https://github.com/apache/bookkeeper/pull/3401)
+* stage 6: bugfix indexDirs for LocationsIndexRebuildOp [PR #3399](https://github.com/apache/bookkeeper/pull/3399)
+* stage 5: bugfix indexDirs for readLedgerIndexEntries [PR #3398](https://github.com/apache/bookkeeper/pull/3398)
+* Stage 3~4 : Add indexDirs in statsLogger, add indexDirs's Listener.  [PR #3397](https://github.com/apache/bookkeeper/pull/3397)

Review Comment:
   summarize



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org