Release 4.15.5
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+