Skip to content

Rlease 4.17.0

Latest
Compare
Choose a tag to compare
@shoothzj shoothzj released this 25 May 02:44
· 132 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:

Details

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