Release Notes - Bookkeeper - Version 4.0.0
Sub-task
Bug
- [BOOKKEEPER-1] - Static variable makes tests fail
- [BOOKKEEPER-5] - Issue with Netty in BookKeeper
- [BOOKKEEPER-18] - maven build is unstable
- [BOOKKEEPER-19] - BookKeeper doesn't support more than 2Gig of memory
- [BOOKKEEPER-22] - Exception in LedgerCache causes addEntry request to fail
- [BOOKKEEPER-27] - mvn site failed with unresolved dependencies
- [BOOKKEEPER-28] - Create useful startup scripts for bookkeeper and hedwig
- [BOOKKEEPER-29] - BookieRecoveryTest fails intermittently
- [BOOKKEEPER-38] - Bookie Server doesn't exit when its zookeeper session is expired. So the process is hang there.
- [BOOKKEEPER-39] - Bookie server failed to restart because of too many ledgers (more than ~50,000 ledgers)
- [BOOKKEEPER-43] - NullPointException when releasing topic
- [BOOKKEEPER-50] - NullPointException at LedgerDescriptor#cmpMasterKey
- [BOOKKEEPER-51] - NullPointException at FIFODeliveryManager#deliveryPtrs
- [BOOKKEEPER-52] - Message sequence confuse due to the subscribeMsgQueue@SubscribeResponseHandler
- [BOOKKEEPER-53] - race condition of outstandingMsgSet@SubscribeResponseHandler
- [BOOKKEEPER-57] - NullPointException at bookie.zk@EntryLogger
- [BOOKKEEPER-58] - Changes introduced in BK-38 cause BookieClientTest to hang indefinitely.
- [BOOKKEEPER-59] - Race condition in netty code allocates and orphans resources (BK-5 revisited)
- [BOOKKEEPER-61] - BufferedChannel read endless when the remaining bytes of file is less than the capacity of read buffer
- [BOOKKEEPER-62] - Bookie can not start when encountering corrupted records
- [BOOKKEEPER-63] - Hedwig PubSubServer must wait for its Zookeeper client to be connected upon startup
- [BOOKKEEPER-65] - fix dependencies on incompatible versions of netty
- [BOOKKEEPER-66] - use IPv4 for builds
- [BOOKKEEPER-68] - Conditional setData
- [BOOKKEEPER-69] - ServerRedirectLoopException when a machine (hosts bookie server & hub server) reboot, which is caused by race condition of topic manager
- [BOOKKEEPER-71] - hedwig c++ client does not build.
- [BOOKKEEPER-79] - randomly startDelivery/stopDelivery will core dump in c++ hedwig client
- [BOOKKEEPER-80] - subscription msg queue race condition in hedwig c++ client
- [BOOKKEEPER-81] - disk space of garbage collected entry logger files isn't reclaimed util process quit
- [BOOKKEEPER-86] - bookkeeper-benchmark fails to compile after BOOKKEEPER-68
- [BOOKKEEPER-87] - TestHedwigHub exhausts direct buffer memory with netty 3.2.4.Final
- [BOOKKEEPER-88] - derby doesn't like - in the topic names
- [BOOKKEEPER-92] - using wrong context object in readLastConfirmedComplete callback
- [BOOKKEEPER-93] - bookkeeper doesn't work correctly on OpenLedgerNoRecovery
- [BOOKKEEPER-94] - Double callbacks in readLastConfirmedOp which fails readLastConfirmed operation even received enough valid responses.
- [BOOKKEEPER-100] - Some hedwig tests have build errors
- [BOOKKEEPER-103] - ledgerId and entryId is parsed wrong when addEntry
- [BOOKKEEPER-106] - recoveryBookieData can select a recovery bookie which is already in the ledgers ensemble
- [BOOKKEEPER-107] - memory leak in HostAddress of hedwig c++ client
- [BOOKKEEPER-115] - LocalBookKeeper fails after BOOKKEEPER-108
- [BOOKKEEPER-118] - Hedwig client doesn't kill and remove old subscription channel after redirection.
- [BOOKKEEPER-119] - Keys in configuration have inconsistent style
- [BOOKKEEPER-124] - build has RAT failures
- [BOOKKEEPER-125] - log4j still used in some places
- [BOOKKEEPER-127] - Make poms use official zookeeper 3.4.0
- [BOOKKEEPER-128] - pom and script modifications required for generating release packages
- [BOOKKEEPER-129] - ZK_TIMEOUT typo in client/server configuration
- [BOOKKEEPER-131] - Fix zookeeper test dependency
- [BOOKKEEPER-134] - Delete superfluous lib directories
- [BOOKKEEPER-138] - NOTICE.txt is invalid
- [BOOKKEEPER-139] - Binary packages do not carry NOTICE.txt
Improvement
- [BOOKKEEPER-26] - Indentation is all messed up in the BookKeeper code
- [BOOKKEEPER-30] - Test are too noisy
- [BOOKKEEPER-33] - Add length and offset parameter to addEntry
- [BOOKKEEPER-41] - Generation of packages for distribution.
- [BOOKKEEPER-44] - Reuse publish channel to default server to avoid too many connect requests to default server when lots of producers came in same time
- [BOOKKEEPER-82] - support journal rolling
- [BOOKKEEPER-83] - Added versioning and flags to the bookie protocol
- [BOOKKEEPER-84] - Add versioning for ZK metadata
- [BOOKKEEPER-89] - Bookkeeper API changes for initial Bookkeeper release
- [BOOKKEEPER-90] - Hedwig API changes for initial Bookkeeper release
- [BOOKKEEPER-91] - Bookkeeper and hedwig clients should not use log4j directly
- [BOOKKEEPER-102] - Make bookkeeper use ZK from temporary repo
- [BOOKKEEPER-104] - Add versioning between bookie and its filesystem layout
- [BOOKKEEPER-108] - add configuration support for BK
- [BOOKKEEPER-114] - add a shutdown hook to shut down bookie server safely.
- [BOOKKEEPER-117] - Support multi threads in hedwig cpp client to leverage multi-core hardware
- [BOOKKEEPER-132] - Sign artifacts before deploying to maven
New Feature