Bookkeeper Versions Save

Apache BookKeeper - a scalable, fault tolerant and low latency storage service optimized for append-only workloads

release-4.16.4

2 months ago

Release 4.16.4 includes multiple bug fixes and improvements, also we have a few dependency updates.

Apache BookKeeper users are encouraged to upgrade to 4.16.4 if you are using 4.16.x. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix calculate checkSum when using Java9IntHash PR #4140
  • Fix the autorecovery failed replicate by add entry fenced error PR #4163
  • Fixing memory leak error when using DirectEntryLogger PR #4135
  • Fix bug of negative JournalQueueSize PR #4077
  • Fix NoSuchElementException when rereplicate empty ledgers PR #4039
  • Change the method getUnderreplicatedFragments to the package private PR #4174
  • Fix auditor elector executor block problem. PR #4165
  • Fix auditor thread leak problem. PR #4162
  • Use Flaky flag to skip testBookieServerZKSessionExpireBehaviour test PR #4144
  • Add ledgersCount.incrementAndGet in setExplicitLac function PR #4138
  • Fix no known bookies after reset racks for all BKs PR #4128
  • Fix a slow gc thread shutdown when compacting PR #4127
  • Remove the unused logs in the CleanupLedgerManager.recordPromise PR #4121
  • Fix Flaky-test: HandleFailuresTest.testHandleFailureBookieNotInWriteSet PR #4110
  • Ignore the empty perRegionPlacement when RegionAwareEnsemblePlacementPolicy#newEnsemble PR #4106
  • Fix LedgerHandle ensembleChangeCounter not used. PR #4103
  • Tune the TestReplicationWorker test. PR #4093
  • Make AuditorBookieTest#waitForNewAuditor stronger. PR #4078
  • Print compaction progress PR #4071
  • Fix readEntry parameter order PR #4059
  • Skip sync the RocksDB when no changes PR #3904
  • Try to use jdk api to create hardlink when rename file when compaction. PR #3876

Dependency updates

  • Upgrade Zookeeper to 3.8.3 to address CVE-2023-44981 PR #4112
  • Update Jetty dependency PR #4141
  • Upgrade bc-fips to 1.0.2.4 to fix CVE-2022-45146 PR #3915

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.4+is%3Amerged+

release-4.15.5

3 months ago

Release 4.15.5 includes multiple bug fixes and improvements, also we have a few dependency updates.

Apache BookKeeper users are encouraged to upgrade to 4.15.5 if you are using 4.15.x. The technical details of this release are summarized below.

Highlights

The previous release is using ARM platform compile, that means that the JNI libraries are only present for MacOS and this will incur in a performance degradation (eg: the CRC libraries) or not working (in case of cpu affinity).

The build platform now is tagged with linux/amd64 by this PR #4060

Bugs

  • Fix no known bookies after reset racks for all BKs PR #4128
  • Fix AutoCloseableLifecycleComponent close exception log PR #4042
  • Fix NoSuchElementException when rereplicate empty ledgers PR #4039
  • Fix deletedLedgers count PR #4026
  • Fix read write request leak when executor throw RejectedExecutionException PR #4024
  • Recycle LongWrapper finally to avoid memory leak PR #4007
  • Fix trigger GC not work PR #3998
  • Fix arbitrary file upload vulnerability with httpServerEnabled PR #3982
  • Clear channel when channelInactive PR #3966
  • Fix npe when iterate pendingLedgersUpdates and pendingDeletedLedgers. PR #3955
  • Fix some metrics generated by prometheus client without type info PR #3927
  • Fix ledger replicated failed blocks bookie decommission process PR #3917
  • Recycle dropping read-write requests when various exceptions happened PR #3912
  • SingleDirectoryDbLedgerStorage#flushMutex does not release lock on all exception paths PR #3909
  • Fix ReclaimedSpaceViaDeletes stats incorrect problem. PR #3906
  • Fix keys leak in EntryLocationIndex when ledgersToDelete is empty PR #3903
  • Fix garbage collection blocked by runtime exception PR #3901
  • Return activeLogChannel if new create PR #3894
  • Modify incorrect rocksDB config level_compaction_dynamic_level_bytes to CFOptions PR #3860
  • Fix ReadEntryProcessor v2 SchedulingDelayStats PR #3758
  • Fix data lost when configured multiple ledger directories PR #3329

Improvements

  • Issue 4126: Fix a slow gc thread shutdown when compacting PR #4127
  • Remove the unused logs in the CleanupLedgerManager.recordPromise PR #4121
  • Ignore the empty perRegionPlacement when RegionAwareEnsemblePlacementPolicy#newEnsemble PR #4106
  • Print compaction progress PR #4071
  • Force to use linux/amd64 to build release PR #4060
  • Remove underreplicaiton callback PR #4058
  • Allow to set max operation numbers in a single rocksdb batch PR #4044
  • Change pendingDeletedLedgers as ConcurrentHashSet PR #3989
  • Avoid compaction to trigger extra flushes DbLedgerStorage PR #3959
  • Support skip invalid journal record in replying journal stage PR #3956
  • Optimize getEntryLogMetadata PR #3948
  • drop invalid entryFormat arg from shell command PR #3938
  • Enable PCBC completionObjects autoShrink to reduce memory usage and gc PR #3913
  • Prevent transit to writable mode when forceReadOnly mode is active PR #3881
  • Make read entry request recyclable PR #3842
  • Fixed the pivot selection in the group quick-sort PR #3800
  • Execute clean indexes in finally PR #3772
  • Add small files check in garbage collection PR #3631

Dependency updates

  • Update Jetty dependency PR #4141
  • Bump guava version from 31.0.1-jre to 32.0.1-jre PR #4008
  • Upgrade snappy-java to address multiple CVEs PR #3993
  • Upgrade grpc and protobuf to address CVE-2023-32732 PR #3992
  • Downgrade grpc and protobuf to avoid introducing breaking change PR #4001
  • Fix issue with binary compatibility with older grpc versions at runtime in the client PR #3997
  • Upgrade jetty version to 9.4.51.v20230217 PR #3937
  • Upgrade docker base image to resolve CVE-2023-0286 PR #3916
  • Upgrade bc-fips to 1.0.2.4 to fix CVE-2022-45146 PR #3915
  • Remove avro, hadoop-auth and jersey-json dependencies from hadoop-common to resolve CVE-2019-10202, CVE-2023-1370 and CVE-2022-45685 PR #3911
  • Sync dependency version with source version in license PR #3633
  • Bump grpc from 1.45.1 to 1.47.0, solve dependency check FP PR #3305
  • Optimize log4j dependency in Bookkeeper PR #3892

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.15.5+is%3Aclosed+

release-4.16.3

6 months ago

4.16.3

Rlease 4.16.3 includes multiple bug fixes and some dependencies CVE fixes.

Apache BookKeeper users are encouraged to upgrade to 4.16.3. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix AutoCloseableLifecycleComponent close exception log PR #4042
  • Make compatible between DefaultEntryLogger and DirectEntryLogger PR #4041
  • Fix deletedLedgers count PR #4026
  • Fix read write request leak when executor throw RejectedExecutionException PR #4024
  • Recycle LongWrapper finally to avoid memory leak PR #4007
  • Remove underreplicaiton callback PR #4058

Improvements

  • Force to use linux/amd64 to build release PR #4060
  • Allow to set max operation numbers in a single rocksdb batch PR #4044
  • Change pendingDeletedLedgers as ConcurrentHashSet PR #3989
  • Enable kv logs in log4j configuration PR #3986
  • Support skip invalid journal record in replying journal stage PR #3956
  • Optimize getEntryLogMetadata PR #3948

Dependency updates

  • Bump guava version from 31.0.1-jre to 32.0.1-jre PR #4008
  • Upgrade Netty to 4.1.94.Final to address CVE-2023-34462 PR #3999

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.3+is%3Aclosed

release-4.14.8

6 months ago

Release 4.14.8 includes multiple bug fixes and some dependencies CVE fixes.

Apache BookKeeper users are encouraged to upgrade to 4.14.8. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix data lost when configured multiple ledger directories PR #3329
  • Allow to set max operation numbers in a single rocksdb batch PR #4044
  • Recycle LongWrapper finally to avoid memory leak PR #4007
  • Fix arbitrary file upload vulnerability with httpServerEnabled PR #3982
  • Clear channel when channelInactive PR #3966
  • Fix npe when iterate pendingLedgersUpdates and pendingDeletedLedgers. PR #3955
  • Fix some metrics generated by prometheus client without type info PR #3927
  • Fix ledger replicated failed blocks bookie decommission process PR #3917
  • Recycle dropping read-write requests when various exceptions happened PR #3912
  • Fix SingleDirectoryDbLedgerStorage#flushMutex does not release lock on all exception paths PR #3909
  • Fix ReclaimedSpaceViaDeletes stats incorrect problem. PR #3906
  • Fix keys leak in EntryLocationIndex when ledgersToDelete is empty PR #3903
  • Fix garbage collection blocked by runtime exception PR #3901
  • Return activeLogChannel if new create PR #3894
  • Prevent transit to writable mode when forceReadOnly mode is active PR #3881
  • Execute clean indexes in finally PR #3772
  • Fix ReadEntryProcessor v2 SchedulingDelayStats PR #3758
  • Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. PR #3725
  • Fix issue where checkAllLedgers could get stuck when read throttling is enabled PR #3655
  • fix duplicate typeline for prometheus type PR #3137
  • Fix deletedLedgers count PR #4026

Improvements

  • Avoid compaction to trigger extra flushes DbLedgerStorage PR #3959
  • Add small files check in garbage collection PR #3631
  • Change pendingDeletedLedgers as ConcurrentHashSet PR #3989
  • Support skip invalid journal record in replying journal stage PR #3956
  • Use ReferenceCountUtil.release() instead of ReferenceCountUtil.safeRelease() PR #3798
  • Add logs for ensemble select failed PR #3779
  • New ensemble choose different rack first. PR #3721
  • Show result of isFenced in log PR #3678

Dependency updates

  • Upgrade rocksDB version to 6.29.4.1 PR #3947
  • Upgrade jetty version to 9.4.51.v20230217 PR #3937
  • Upgrade docker base image to resolve CVE-2023-0286 PR #3916
  • Remove avro, hadoop-auth and jersey-json dependencies from hadoop-common to resolve CVE-2019-10202, CVE-2023-1370 and CVE-2022-45685 PR #3911

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.14.8+is%3Amerged

release-4.16.2

8 months ago

Release 4.16.2 includes multiple bug fixes and some dependencies CVE fixes.

Apache BookKeeper users are encouraged to upgrade to 4.16.2. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix trigger GC not work PR #3998
  • Make slogger use current class PR #3994
  • Fix Journal without flush PR #3979
  • Fix npe when iterate pendingLedgersUpdates and pendingDeletedLedgers. PR #3955
  • Fix ledger replicated failed blocks bookie decommission process PR #3917
  • SingleDirectoryDbLedgerStorage#flushMutex does not release lock on all exception paths PR #3909
  • Fix ReclaimedSpaceViaDeletes stats incorrect problem. PR #3906
  • Fix keys leak in EntryLocationIndex when ledgersToDelete is empty PR #3903
  • Fix garbage collection blocked by runtime exception PR #3901
  • Always one orphan ledger is created PR #3813
  • Fix data lost when configured multiple ledger directories PR #3329
  • Fix memory leak of direct memory in direct memory entry logger. PR #3983
  • Fix wrong update checkAllLedgersTime when ledgerReplication disabled PR #3939
  • Fix some metrics generated by prometheus client without type info PR #3927

Improvements

  • Unify ByteBufAllocator for the DirectIO component PR #3985
  • Fix arbitrary file upload vulnerability with httpServerEnabled PR #3982
  • Check indexBaseDir specified with ledgerBaseDir PR #3967
  • Clear channel when channelInactive PR #3966
  • Reduce unnecessary creation of ReplicationEnableCb objects PR #3960
  • Avoid compaction to trigger extra flushes DbLedgerStorage PR #3959
  • When the executor has been shut down, do not schedule task PR #3946
  • Drop invalid entryFormat arg from shell command PR #3938
  • Enable PCBC completionObjects autoShrink to reduce memory usage and gc PR #3913
  • Recycle dropping read-write requests when various exceptions happened PR #3912
  • Cleanup CbThreadFactory PR #3907
  • Return activeLogChannel if new create PR #3894
  • Prevent transit to writable mode when forceReadOnly mode is active PR #3881
  • Execute clean indexes in finally PR #3772
  • Use ChannelVoidPromise to avoid useless promise objects creation PR #3733

Dependency updates

  • Upgrade grpc and protobuf to address CVE-2023-32732 PR #3992
  • [Branch-4.16] Downgrade grpc and protobuf to avoid introducing breaking change PR #4001
  • Fix issue with binary compatibility with older grpc versions at runtime in the client PR #3997
  • Upgrade snappy-java to address multiple CVEs PR #3993
  • Upgrade Netty to 4.1.93.Final PR #3975
  • Upgrade jetty version to 9.4.51.v20230217 PR #3937
  • Upgrade docusaurus to 2.4.0 PR #3936
  • Upgrade docker base image to resolve CVE-2023-0286 PR #3916
  • Remove avro, hadoop-auth and jersey-json dependencies from hadoop-common to resolve CVE-2019-10202, CVE-2023-1370 and CVE-2022-45685 PR #3911

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.2+is%3Aclosed

release-4.15.4

10 months ago

Release 4.15.4 includes multiple bug fixes and some dependencies CVE fixes.

Apache BookKeeper users are encouraged to upgrade to 4.15.4. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix QueueEntry recycle problem PR #3747
  • Fix memory leak when the Bookie is in read only mode PR #3746
  • Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem PR #3725
  • Not wrap IOException twice form checkpoint PR #3683
  • Make jvm_memory_direct_bytes_used metrics compatible with jdk8 PR #3677
  • Fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery PR #3672
  • Fix RegionAwareEnsemblePlacementPolicy update rack info problem PR #3666
  • Exit bookkeeper shell correctly even if fails to run for some reason PR #3663
  • Fix memory leak when operating ledger metadata PR #3662
  • Check client if closed when complete callback PR #3661
  • Fix issue where checkAllLedgers could get stuck when read throttling is enabled PR #3655
  • Fix GetBookieInfo failed event stats PR #3622
  • Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv PR #3621
  • BookieImpl remove wait until journal quits PR #3603

Improvements

  • Support build in the aarch64 linux platform PR #3828
  • Use ReferenceCountUtil.release() instead of ReferenceCountUtil.safeRelease() PR #3797
  • Added api/v1/bookie/cluster_info REST API PR #3713
  • Expose registrationClient in DefaultBookieAddressResolver PR #3724
  • New ensemble choose different rack first PR #3721
  • Improve bk_server.conf docs PR #3715
  • Show result of isFenced in log PR #3678
  • Include bkperf into bk all package PR #3632
  • Add journal file path that caused failure in multi-journal config PR #3623
  • Avoid extra buffer to prepend frame size PR #3560
  • Using a separate thread pool to execute openWithMetadata PR #3548
  • LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread PR #3516
  • ledgerFragment check and results keep order PR #3504
  • Simplified No network topology script is found default log stack output PR #3496
  • Support apple m1 build PR #3175

Dependency updates

  • Bump vertx-web from 4.3.2 to 4.3.8 PR #3775
  • Upgrade docker image version to fix CVEs PR #3640
  • Bump jcommander from 1.78 to 1.82 PR #3476

Details

https://github.com/apache/bookkeeper/pulls?page=1&q=is%3Apr+label%3Arelease%2F4.15.4+is%3Aclosed

release-4.16.1

10 months ago

Release 4.16.1 includes one critical bug fix.

Apache BookKeeper users are encouraged to upgrade to 4.16.1. The technical details of this release are summarized below.

Highlights

Bugs

  • DigestManager should not advance readerIndex PR #3919

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.16.1+is%3Aclosed

release-4.16.0

10 months ago

Release 4.16.0 includes multiple important features, improvements, bug fixes and some dependencies CVE fixes.

Due to this version has one critical regression in the BookKeeper client, Apache BookKeeper users are encouraged to skip this version and upgrade to 4.16.1.

The technical details of this release are summarized below.

Breaking Changes

  • Change the API for org.apache.bookkeeper.stats.Counter PR #3501
    • Change name : Counter.add --> Counter.addCount
    • Add new method Counter.addLatency to count the time and convert the time to milliseconds
  • When using V2 protocol, the bookkeeper_server_ADD_ENTRY_REQUEST and bookkeeper_server_READ_ENTRY_REQUEST stats do not work, and you can use bookkeeper_server_ADD_ENTRY and bookkeeper_server_READ_ENTRY instead. PR #3837

Features

Improvement

  • Allow to use IO uring instead of epoll PR #3595
  • Fixed the pivot selection in the group quick-sort PR #3800
  • Improvements in ArrayGroupSort PR #3807
  • Added BatchedArrayBlockingQueue PR #3838
  • Group and flush add-responses after journal sync PR #3837
  • Use JNI directly for posix_fadvise PR #3824
  • Improved efficiency in DigestManager.verify() PR #3810
  • Made PendingAddOp thread safe PR #3784
  • Single buffer for small add requests PR #3783
  • Optimize ReadResponse for small entry sizes PR #3597
  • Avoid extra buffer to prepend frame size PR #3560
  • Bring back deleteRange for RocksDB to improve location delete performance PR #3653
  • Avoid thread-local state when computing CRCs PR #3811
  • Make read entry request recyclable PR #3842
  • Use SingleThreadExecutor for OrderedExecutor and drainTo() tasks into local array PR #3546
  • Consolidate Netty channel flushes to mitigate syscall overhead PR #3383
  • Refactor Auditor to simplify the readability PR #3637
  • Reduce unnecessary loop in removeIf if map is empty PR #3512
  • Change order of doGcLedgers and extractMetaFromEntryLogs PR #3869
  • Upgrade RocksDB version to 7.9.2 PR #3795
  • Prioritize compaction of entry logs with the lowest amount of remaining usable data PR #3390
  • Added flag to control whether to transition to read-only mode when any disks full PR #3212
  • Ledger replicate supports throttle PR #2778
  • Apply the backpressure changes on the V2 requests PR #3324
  • Add small files check in garbage collection PR #3631
  • Add get cluster_info REST API PR #3710
  • Add new api resumeCompaction and suspendCompaction PR #3509
  • Add trigger entry location index rocksDB compact REST API PR #3802
  • Add Http-service to check bookie sanity state PR #3630

Notable fixes

Bookie

  • Fix memory leak issue of reading small entries PR #3844
  • Fix memory leak when the Bookie is in read only mode PR #3746
  • Fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery PR #3672
  • Fix memory leak when operating ledger metadata PR #3662
  • Fix ByteBuf memory leak problem when setExplicitLac PR #3577
  • Fix memory leak when reading entry but the connection disconnected. PR #3528
  • Fix the readResponse byteBuf potential memory leak problem. PR #3525
  • Modify incorrect rocksDB config level_compaction_dynamic_level_bytes to CFOptions PR #3860
  • Optimize masterKeyCache StorageNotificationListener PR #3736
  • Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. PR #3725
  • New ensemble choose different rack first. PR #3721
  • Fix RegionAwareEnsemblePlacementPolicy#onBookieRackChange didn't update perRegionPlacement. PR #3666
  • When call openLedgerOp, make the timeout ex is a separate error code PR #3562
  • Using a separate thread pool to execute openWithMetadata PR #3548
  • Change masterKeyCache to dynamic size PR #3522
  • Fix group ForceWrite not take effect with forceWriteMarkerSent in while loop of ForceWriteThread PR #3454
  • WriteLacResponse should be processed in the same thread as other requests PR #3452
  • Update default value of allocatorPoolingConcurrency PR #3001
  • Fix the infinite waiting for shutdown due to throttler limit PR #2942

Client

  • LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread PR #3516
  • LedgerOpenOp: Do not call blocking close() in the callback PR #3513
  • Rename success with writableResult and update final writableResult about wait writeSet PR #3505
  • Fix the V2 AddRequest object leak issue PR #3323
  • Fix the PendingAddOp is not recycled when LedgerHandler closed PR #3321
  • Make sure the LedgerHandle close callback can be completed when encounter exception PR #2913
  • Change PCBC limitStatsLogging default value to true PR #3719

AutoRecovery

  • Fix issue where checkAllLedgers could get stuck when read throttling is enabled PR #3655
  • Shut down ReplicationWorker and Auditor on non-recoverable ZK error PR #3374
  • Fix autoRecovery memory leak. PR #3361
  • Fix autoRecovery does not process under-replicated empty ledgers PR #3239
  • Fix bug where checkAllLedgers gets stuck when read throttling is enabled PR #3214

Others

  • Support build in the arch64 linux platform PR #3828
  • Support update ledger metadata option bk-cli PR #3821
  • Make jvm_memory_direct_bytes_used metrics compatible with jdk8. PR #3677
  • Speed up the rebuilding of RocksDB index PR #3458
  • Allow run LocalBookkeeper directly in bookkeeper-server module or on IDE PR #3255

Dependency changes

Upgraded notable dependencies and address CVEs, including:

  • netty
  • RocksDB
  • snakeyaml
  • zookeeper
  • Docker base image
  • jackson
  • protobuf
  • hadoop
  • vertx
  • log4j2
  • Jetty
  • groovy

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.16.0+is%3Aclosed

release-4.14.7

1 year ago

Release 4.14.7 includes multiple bug fixes.

Apache BookKeeper users are encouraged to upgrade to 4.14.7. The technical details of this release are summarized below.

Highlights

Bugs

  • Revert PR#3653 and make delete entries batch size configurable PR #3768
  • Fix memory leak when the Bookie is in read only mode PR #3746
  • Fix QueueEntry recycle problem. PR #3747
  • Expose registrationClient in DefaultBookieAddressResolver. PR #3724
  • Added api/v1/bookie/cluster_info REST API PR #3714
  • Check if channel closed before processing read request PR #3486
  • Add missed call to onReadRequestFinish() when read request rejected PR #3482
  • Avoid extra buffer to prepend frame size PR #3560

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.14.7+is%3Aclosed

release-4.14.6

1 year ago

Release 4.14.6 includes multiple bug fixes and some dependencies CVE fixes.

Apache BookKeeper users are encouraged to upgrade to 4.14.6. The technical details of this release are summarized below.

Highlights

Bugs

  • Fix memory leak when reading entry but the connection disconnected. PR #3528
  • When call openLedgerOp, make the timeout ex is a separate error code PR #3562
  • Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv PR #3621
  • Fix autoRecovery memory leak. PR #3361
  • Fix potential memory leak. PR #3530
  • Fix the V2 AddRequest object leak issue PR #3323
  • Fix ByteBuf memory leak problem when setExplicitLac PR #3617
  • Fix the problem that the abnormal file causes the bookie GC fail PR #3611
  • Fix the deadlock when only using io thread to handle request PR #3480
  • Fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery PR #3672
  • Fix memory leak when operating ledger metadata PR #3662
  • LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread PR #3516
  • Ledger replicate supports throttle PR #2778
  • CheckAllLedgers in Auditor supports read throttle PR #2973
  • Rename success with writableResult and update final writableResult about wait writeSet PR #3505
  • LedgerFragment check and results keep order PR #3504
  • Improve the throttle function PR #2991
  • Fix close ledgerAuditorManager repeatedly PR #3503
  • AutoRecovery - Do not call shutdown() on the main ZookKeeper client thread PR #3487
  • WriteLacResponse should be processed in the same thread as other requests for the same ledgerId PR #3452
  • Shutdown ReplicationWorker and Auditor on non-recoverable ZK error PR #3374
  • Enhance future sync wait. PR #3336
  • Pre break loop when self create layoutZNode succeed. PR #3335
  • Fix the PendingAddOp is not recycled when LedgerHandler closed PR #3321
  • Fix autorecovery does not process underreplicated empty ledgers PR #3239
  • Fix RegionAwareEnsemblePlacementPolicy update rack info problem. PR #3666
  • Fix bug where checkAllLedgers gets stuck when read throttling is enabled PR #3214
  • Fix checkAllLedgersDuration compute PR #2970
  • Zk client config update and bugfix for ZKMetadataClientDriver PR #2958
  • Make sure the LedgerHandle close callback can be completed when encounter exception PR #2913
  • Make jvm_memory_direct_bytes_used metrics compatible with jdk8. PR #3677
  • Reorder the sequence of the bookkeeper server shutdown so that there are no read/ write ops while shutting down the bookie PR #2888
  • Fix readlogmetadata failed bug and export entrylog file usage to output PR #2349
  • MinorCompactionInterval should be greater than gcWaitTime PR #2116
  • Skipping placementPolicyCheck when ledger replication disabled PR #3561
  • Skip replicasCheck when replication disabled PR #3563
  • Fix GetBookieInfo failed event stats PR #3622
  • Add journal file path that caused failure in multi-journal config PR #3634
  • Include bkperf into bk all package PR #3632
  • Fix maven javadoc generate issues PR #3615
  • Switch to rely on SslEngine for Hostname Verification PR #3310
  • Simplified No network topology script is found default log stack output PR #3496
  • Fix jvm_memory_direct_bytes_used metrics when using jdk11+ PR #3252
  • Fix the 3144 revert issue PR #3283
  • Avoid init WriteSet when waitForWriteSetMs < 0. PR #3325
  • Tuning PendingReadOp.java seq PR #3330
  • Optimize log for failed to write entry PR #3463
  • Reduce unnecessary loop in removeIf if map is empty PR #3512
  • Deduplicate error log for SSLException PR #3320
  • Fix underReplicatedLedgerTotalSize calculate problem. PR #3337
  • Fix wrong ledger id parse radix for index relocation file in IndexPersistenceMgr PR #2944
  • Fix bookie CI test not run PR #3367
  • Update doc about flushInterval config PR #3601
  • Show content of map PR #3538
  • Add example for multiple server list in metadataServiceUri configuration PR #3580
  • Replace sleep with await to avoid flaky test in SlowBookieTest PR #3581
  • Add javadoc comments for test classes PR #3587
  • Correct link class name PR #3594
  • Fix typo in bk_server.conf PR #3574
  • Fix flaky test testAutoRecoverySessionLoss PR #3576
  • Fix flaky tests in AuditorReplicasCheckTest PR #3551
  • Fix the tls failed test PR #3448
  • Backport BookieBackpressureForV2Test to branch-4.14 PR #3443
  • Fix Flaky-test: testBookieContinueWritingIfMultipleLedgersPresent PR #3421
  • BookieAutoRecoveryTest.testEmptyLedgerLosesQuorumEventually fix flaky test, ensure that the Auditor is alive PR #3149
  • Close journal channel in testJunkEndedJournal PR #3307
  • Fix stream storage flaky tests, statelib test times out PR #2883
  • Fix flaky AutoRecoveryMainTest PR #2881
  • Support apple m1 build PR #3175
  • Refactor ByteBuf release method in module distributedlog-core/distributedlog-protocol PR #3693
  • Refactor ByteBuf release method in module distributedlog-core PR #3691
  • Refactor ByteBuf release method in tools PR #3687
  • Refactor ByteBuf release method in stream/statelib PR #3689
  • Refactor ByteBuf release method in DefaultEntryLogger PR #3673
  • Refactor ByteBuf release method in InterleavedLedgerStorage PR #3674

Improvements

  • Bring back deleteRange for RocksDB to improve location delete performance PR #3653
  • Consolidate Netty channel flushes to mitigate syscall overhead PR #3383
  • Using a separate thread pool to execute openWithMetadata PR #3548
  • Replace unsafe NoEntryException with IOException PR #2909
  • Update default value of allocatorPoolingConcurrency PR #3001
  • Apply the backpressure changes on the V2 requests PR #3324
  • LedgerOpenOp: Do not call blocking close() in the callback PR #3513

Metrics changes

  • Add rocksDB read latency and read from storage latency for entry reading PR #3647
  • Add latency stats for entry location index lookup so that possible RocksDB bottleneck can be detected PR #3444
  • Add stats for throttled-write PR #3102
  • Add writeThreadQueuedLatency PR #3363

Dependency updates

  • Upgrade docker image version to fix CVEs PR #3640
  • Upgrade dependencies for CVE-2022-3171 and CVE-2022-42003 PR #3579
  • Bump jcommander from 1.78 to 1.82 PR #3476
  • Upgrade hadoop version to 3.2.4 PR #3485
  • Upgrade Jetty to 9.4.48.v20220622 to get rid of CVE-2022-2047 PR #3404

Details

https://github.com/apache/bookkeeper/pulls?q=is%3Apr+label%3Arelease%2F4.14.6+is%3Aclosed