Skip to content

Releases: apache/bookkeeper

Release 4.17.1

26 Jun 13:44
Compare
Choose a tag to compare

Release 4.17.1 includes multiple bug fixes and few dependency updates.

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

Highlights

Bugs

  • Fix TimedRunnable log NPE PR #4425
  • Fix Auditor ignoring bookies shut down before Auditor start PR #4419
  • Fix lost prometheus metric in OrderedExecutor PR #4374
  • Fix: resource leak when JournalChannel is not fully initialized PR #4340
  • Fix: bookie http endpoint info always return 0.0.0.0 PR #4325
  • Fix disk weight ensemble infinite loop bug PR #4324
  • Fix guava shade error in distributedlog PR #4319
  • Fix ThreadRegistry#register behavior to ensure correct Prom metrics PR #4300
  • Fix: reference counting (retain/release) in PerChannelBookieClient PR #4293
  • Fix ByteBuf release/retain in PerChannelBookClient PR #4289
  • Tests: miss test log in prometheus-metrics-provider module PR #4279
  • Fixed creation of temporary dir in NativeUtils PR #4262
  • Fix ArrayIndexOutOfBoundsException caused by optimistic lock PR #4066
  • Prevent bookie shutdown due to rest api when bookie prohibits readOnlyMode PR #3972
  • Fix wrong implementation for percentile in bookkeeper-benchmark PR #3864

Improvements

  • Adjust Log Level for LedgerFencedException in WriteEntryProcessor PR #4327
  • Improve: change scheduleAtFixedRate to scheduleWithFixedDelay in GarbageCollectorThread PR #4296
  • Remove unused code from ByteBufVisitor PR #4383
  • Use vertx blockingHandlers to run Bookkeeper http handlers which could be blocking PR #4266

Dependency updates

  • Bump jetcd from 0.5.0 to 0.7.7 PR #3849
  • Bump netty from 4.1.107.Final to 4.1.108.Final to address CVE list PR #4426
  • Bump jackson from 2.13.4.20221013 to 2.17.1 to address CVE list PR #4345
  • Upgrade vertx-core to 4.5.7 to address CVE-2024-1300 PR #4265

Details

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

Release 4.16.6

26 Jun 13:43
Compare
Choose a tag to compare

Release 4.16.6 includes multiple bug fixes and few dependency updates.

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

Highlights

Bugs

  • Fix TimedRunnable log NPE PR #4425
  • Fix Auditor ignoring bookies shut down before Auditor start PR #4419
  • Fix lost prometheus metric in OrderedExecutor PR #4374
  • Fix: resource leak when JournalChannel is not fully initialized PR #4340
  • Fix: bookie http endpoint info always return 0.0.0.0 PR #4325
  • Fix disk weight ensemble infinite loop bug PR #4324
  • Fix guava shade error in distributedlog PR #4319
  • Fix ThreadRegistry#register behavior to ensure correct Prom metrics PR #4300
  • Fix: reference counting (retain/release) in PerChannelBookieClient PR #4293
  • Fix ByteBuf release/retain in PerChannelBookClient PR #4289
  • Tests: miss test log in prometheus-metrics-provider module PR #4279
  • Fix ArrayIndexOutOfBoundsException caused by optimistic lock PR #4066
  • Prevent bookie shutdown due to rest api when bookie prohibits readOnlyMode PR #3972
  • Fix wrong implementation for percentile in bookkeeper-benchmark PR #3864

Improvements

  • Adjust Log Level for LedgerFencedException in WriteEntryProcessor PR #4327
  • Improve: change scheduleAtFixedRate to scheduleWithFixedDelay in GarbageCollectorThread PR #4296
  • Remove unused code from ByteBufVisitor PR #4383
  • Use vertx blockingHandlers to run Bookkeeper http handlers which could be blocking PR #4266

Dependency updates

  • Bump jetcd from 0.5.0 to 0.7.7 PR #3849
  • Bump netty from 4.1.94.Final to 4.1.108.Final to address CVE list PR #4426
  • Bump jackson from 2.13.4.20221013 to 2.17.1 to address CVE list PR #4345
  • Upgrade vertx-core to 4.5.7 to address CVE-2024-1300 PR #4265

Details

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

Release 4.17.0

25 May 02:44
Compare
Choose a tag to compare

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

The technical details of this release are summarized below.

Breaking Changes

No breaking changes. Some defaults are different, but overall there are no compatibility concerns.

Features

  • BP-62 Batch Read API

Notable changes

  • Enable reorder read sequence for bk client by default PR #4139
  • Fix some metrics generated by prometheus client without type info PR #3927
  • Fix arbitrary file upload vulnerability with httpServerEnabled PR #3982
  • Enable kv logs in log4j configuration PR #3986
  • Make compatible between DefaultEntryLogger and DirectEntryLogger PR #4041

Bookie

  • Fix bug of negative JournalQueueSize PR #4077
  • Fix compaction throttle imprecise PR #3192
  • Fix data lost when configured multiple ledger directories PR #3329
  • Try to use jdk api to create hardlink when rename file when compaction. PR #3876
  • [feature] [server] add dbStorage_readAheadCacheBatchBytesSize properties when read ahead entries PR #3895
  • Fix keys leak in EntryLocationIndex when ledgersToDelete is empty PR #3903
  • Fix garbage collection blocked by runtime exception PR #3901
  • Skip sync the RocksDB when no changes PR #3904
  • Enable PCBC completionObjects autoShrink to reduce memory usage and gc PR #3913
  • [Fix] Recycle dropping read-write requests when various exceptions happened PR #3912
  • Fix ledger replicated failed blocks bookie decommission process PR #3917
  • Support skip invalid journal record in replying journal stage PR #3956
  • Avoid compaction to trigger extra flushes DbLedgerStorage PR #3959
  • Fix memory leak of direct memory in direct memory entry logger. PR #3983
  • Unify ByteBufAllocator for the DirectIO component PR #3985
  • Print compaction progress PR #4071
  • Optimize bookie decommission check wait interval PR #4070
  • Fix trigger GC not work PR #3998
  • Allow to set max operation numbers in a single rocksdb batch PR #4044
  • Add read failed log for ledger checker. PR #4010
  • Fix read write request leak when executor throw RejectedExecutionException PR #4024
  • Improve DefaultEntryLogger read performance. PR #4038

Client

  • [Bug] Always one orphan ledger is created PR #3813
  • Fix checksum calculation bug when the payload is a CompositeByteBuf with readerIndex > 0 PR #4196
  • Fix no known bookies after reset racks for all BKs PR #4128
  • Fix issue with binary compatibility with older grpc versions at runtime in the client PR #3997
  • Entry write support local node region aware placement policy PR #4063
  • Rackaware placement policy support local node awareness by hostname PR #4057
  • Use netty-bom for aligning netty library versions, add epoll for linux-aarch_64 PR #4204

AutoRecovery

  • Make AutoRecovery enable stickyReadS as default. PR #4125
  • Support retry logic for auto recovery PR #3799 0
  • Fix auditor elector executor block problem. PR #4165
  • Fix the autorecovery failed replicate by add entry fenced error PR #4163
  • Fix auditor thread leak problem. PR #4162
  • AutoRecovery supports batch read PR #4211

Others

  • Added CLI command to start state store service without a bookie PR #2648
  • Add ensemble relocation command which adheres to placement policy PR #2931
  • Tuning pool concurrency PR #3432
  • Issue 4136: Fix logging configurations are broken in docker image PR #4137
  • [release] Force to use linux/amd64 to build release PR #4060

Dependency changes

Upgraded notable dependencies and address CVEs, including:

Details

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

Release 4.16.5

11 Apr 13:47
Compare
Choose a tag to compare

Release 4.16.5 includes multiple bug fixes and few dependency updates.

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

Highlights

Bugs

  • Fixed creation of temporary dir in NativeUtils PR #4262
  • Fix error stack track may expose to external user PR #4223
  • Add filename check for unTar PR #4222
  • Fix uncontrolled data used in path expression PR #4221
  • Set metrics endpoint content-type PR #4208
  • Fix checksum calculation bug when the payload is a CompositeByteBuf with readerIndex > 0 PR #4205
  • Fix yaml and dockerfile PR #4186

Dependency updates

  • Bump org.apache.commons:commons-compress from 1.21 to 1.26.0 PR #4214

Details

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

Release 4.16.4

29 Jan 04:42
Compare
Choose a tag to compare

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

Details

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

Release 4.15.5

19 Dec 08:44
release-4.15.5
Compare
Choose a tag to compare

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

Details

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

Release 4.16.3

19 Sep 02:08
Compare
Choose a tag to compare

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

Details

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

Release 4.14.8

11 Sep 10:33
Compare
Choose a tag to compare

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

Details

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

Release 4.16.2

03 Jul 12:36
Compare
Choose a tag to compare

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

Details

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

Release 4.16.1

02 May 05:20
Compare
Choose a tag to compare

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