Release 4.17.0
hezhangjian
released this
25 May 02:44
·
214 commits
to master
since this release
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:
- Upgrade snappy-java to address multiple CVEs PR #3993
- Upgrade grpc and protobuf to address CVE-2023-32732 PR #3992
- Upgrade Zookeeper to 3.8.3 to address CVE-2023-44981 PR #4112
- Upgrade Netty to 4.1.107.Final and io_uring to 0.0.25.Final PR #4224
- Bump org.apache.commons:commons-compress from 1.21 to 1.26.0 PR #4214
- Update datasketches version from 0.8.3 to 3.2.0 PR #3264
- Issue 3567: Upgrade rocksdb version to avoid checksum mismatch error PR #3568
- fix(sec): upgrade commons-codec to 1.13 PR #3508
- 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
- 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
- Upgrade jetty version to 9.4.51.v20230217 PR #3937
- Bump guava version from 31.0.1-jre to 32.0.1-jre PR #4008
Details
https://github.com/apache/bookkeeper/pulls?q=is%3Apr+milestone%3A4.17.0+is%3Aclosed