Updated CHANGES.txt for release 4.4.0
diff --git a/CHANGES.txt b/CHANGES.txt
index 23404b1..3f6fd3e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,128 +1,118 @@
-Trunk (unreleased changes)
+Release 4.4.0 - 2016-05-05
Non-backward compatible changes:
-
- BUGFIXES:
-
- IMPROVEMENTS:
+ [none]
Backward compatible changes:
- BUGFIXES:
+ ** Sub-task
+ * [BOOKKEEPER-438] - Move ledger id generation out of LedgerManager
+ * [BOOKKEEPER-634] - Provide admin tool to rename bookie identifier in ledger metadata
+ * [BOOKKEEPER-796] - Make bookkeeper client use reconnectable zookeeper wrapper
+ * [BOOKKEEPER-837] - UpdateLedgerOp - Replace AbstractFuture with SettableFuture
+ * [BOOKKEEPER-855] - handle session expire event in bookie
+ * [BOOKKEEPER-867] - New Client API to allow applications pass-in EntryId.
- BOOKKEEPER-793: Move to java 7
+ ** Bug
+ * [BOOKKEEPER-578] - LedgerCacheImpl is reserving 1/3 of Heap size but allocates NonHeap memory
+ * [BOOKKEEPER-594] - AutoRecovery shutting down on SyncDisconnected
+ * [BOOKKEEPER-665] - BK client should not try to read entries from non-available bookies
+ * [BOOKKEEPER-695] - Some entry logs are not removed from the bookie storage
+ * [BOOKKEEPER-769] - Remove hedwig from source tree
+ * [BOOKKEEPER-793] - Move to java 7
+ * [BOOKKEEPER-794] - BookkeeperProtocol.Response.status is completely ignored
+ * [BOOKKEEPER-795] - Race condition causes writes to hang if ledger is fenced
+ * [BOOKKEEPER-797] - IllegalArgumentException when calling CodahaleOpStatsLogger#toOpStatsData()
+ * [BOOKKEEPER-799] - Distribution schedule coverage sets don't take gaps in response lists into account when writequorum > ackquorum
+ * [BOOKKEEPER-800] - Expose whether a ledger is closed or not
+ * [BOOKKEEPER-801] - Bookkeeper client tutorial
+ * [BOOKKEEPER-802] - Bookkeeper protocol documentation
+ * [BOOKKEEPER-803] - Guide for making a replicated log out of ledgers
+ * [BOOKKEEPER-804] - Client program is not terminated when using openLedgerNoRecovery
+ * [BOOKKEEPER-805] - NullPointException in bookie server when using twitter-ostrich-provider
+ * [BOOKKEEPER-809] - Wrong metric on LedgerDeleteOp and LedgerOpenOp
+ * [BOOKKEEPER-813] - BookieShell doesn't find index directory
+ * [BOOKKEEPER-814] - clean up temp files that generated by test cases.
+ * [BOOKKEEPER-815] - Ledger fence state is lost when the ledger file is evicted
+ * [BOOKKEEPER-821] - Failing to write lastId to ledger directories should not fail startup of bookies
+ * [BOOKKEEPER-823] - Clean up temp files created by hedwig tests
+ * [BOOKKEEPER-828] - Script for updating docs on website from master branch
+ * [BOOKKEEPER-831] - Outdated links in tutorial
+ * [BOOKKEEPER-833] - EntryLogId and EntryLogLimit should not be larger than Integer.MAX_VALUE
+ * [BOOKKEEPER-834] - test case error in test class TestDiskChecker
+ * [BOOKKEEPER-835] - Update copyright for 2015 on all active branches
+ * [BOOKKEEPER-838] - ForceWriteThread::run() leaks “logFile.close()” when interrupt comes
+ * [BOOKKEEPER-839] - AuditorPeriodicCheckTest timeout
+ * [BOOKKEEPER-840] - Deadlock on flushLock on compaction
+ * [BOOKKEEPER-848] - Use volatile for lastAddConfirmed
+ * [BOOKKEEPER-854] - NPE on InterleavedLedgerStorage.onRotateEntryLog
+ * [BOOKKEEPER-858] - Fix broken links and typos in bookkeeper documents
+ * [BOOKKEEPER-863] - Potential resource leak with unclosed LedgerManager in BookieShell
+ * [BOOKKEEPER-883] - Test timeout in bookkeeper-benchmark
+ * [BOOKKEEPER-890] - Concurrent modification exception when removing listener in Bookkeeper ZK ledger manager
+ * [BOOKKEEPER-891] - Read entries failure should trigger callback only once
+ * [BOOKKEEPER-893] - bookie exited with status 0 on journal I/O exception
+ * [BOOKKEEPER-897] - Fix findbugs warnings and missing apache license header
+ * [BOOKKEEPER-898] - Underreplication doesn't get triggered when a read only bookie is shut down
+ * [BOOKKEEPER-899] - Bookie should return to read-write mode once the disk usage drops before the threshold
+ * [BOOKKEEPER-900] - read only bookie runs replicator and does not release the under replicated lock after failing
+ * [BOOKKEEPER-902] - Test failures in EntryLogTest
+ * [BOOKKEEPER-904] - test BookieInitializationTest.testDuplicateBookieServerStartup fails on non-english machines
+ * [BOOKKEEPER-909] - ZooKeeper of LocalBookkeeper should use the correct tickTime
+ * [BOOKKEEPER-910] - In LocalBookkeeper, Zookeeper server and client use different host addresses
+ * [BOOKKEEPER-911] - Fix TestReplicationWorker test failures
+ * [BOOKKEEPER-913] - Fix flakiness in TestBackwardCompat
+ * [BOOKKEEPER-914] - ReadOnlyBookieTest.testBookieShouldTurnWritableFromReadOnly is intermettently failing
+ * [BOOKKEEPER-917] - LocalBookKeeperTest seems to be silently failing
+ * [BOOKKEEPER-919] - Auditor is sometimes marking as failed a bookie switching from available to read-only mode
+ * [BOOKKEEPER-921] - Typo in LocalBookkeeper: Use InetAddress.getHostAddress instead of InetAddress
+ * [BOOKKEEPER-925] - Fix FindBugs discovered issues in master
+ * [BOOKKEEPER-926] - Compacted entries are not properly synced before updating index
- BOOKKEEPER-797: IllegalArgumentException when calling CodahaleOpStatsLogger#toOpStatsData()
+ ** Documentation
+ * [BOOKKEEPER-870] - Change the default value for bookie settings.
- BOOKKEEPER-815: Ledger fence state is lost when the ledger file is evicted (Charles Xie via ivank)
+ ** Improvement
+ * [BOOKKEEPER-537] - Handling session expire event
+ * [BOOKKEEPER-687] - Use static final Logger for hedwig related modules
+ * [BOOKKEEPER-760] - Don't close PCBC proactively if bookies disappeared from zookeeper znodes.
+ * [BOOKKEEPER-810] - Allow to configure TCP connect timeout
+ * [BOOKKEEPER-811] - Recovery tool doesn't remove cookie after recovering one bookie
+ * [BOOKKEEPER-820] - print out fi.isFenced() in BookieShell
+ * [BOOKKEEPER-827] - change throttle in GarbageCollector to use either "by entry" or "by byte"
+ * [BOOKKEEPER-830] - Documentation has no structure
+ * [BOOKKEEPER-832] - Allow starting bookie in ReadOnly mode
+ * [BOOKKEEPER-836] - disable compaction when disk becomes full, otherwise compaction will fill up disk quickly
+ * [BOOKKEEPER-841] - Bookie should calculate ledgers map writing a new entry log file
+ * [BOOKKEEPER-844] - Add more metrics about latency and bytes characteristics on bookie operations
+ * [BOOKKEEPER-849] - Collect stats with sub-milliseconds precision
+ * [BOOKKEEPER-850] - Use nanoseconds to calculate poll timeout when doing group commit
+ * [BOOKKEEPER-851] - Configurable LedgerStorageImplementation
+ * [BOOKKEEPER-862] - Add tracing and stats to OrderedSafeExecutor for debugging slow tasks
+ * [BOOKKEEPER-866] - Fix compile issue when Updating junit to latest release version( 4.12) in the test of Bookkeeper-server.
+ * [BOOKKEEPER-877] - Script for generating patch for reviews
+ * [BOOKKEEPER-880] - Make LedgerHandle implement AutoCloseable
+ * [BOOKKEEPER-885] - Script to merge github pull request
+ * [BOOKKEEPER-886] - Allow to disable ledgers operation throttling
+ * [BOOKKEEPER-888] - Dispatch individual callbacks from journal in different threads
+ * [BOOKKEEPER-889] - BookKeeper client should try not to use bookies with errors/timeouts when forming a new ensemble
+ * [BOOKKEEPER-894] - Read ledger entries from the bookie shell
+ * [BOOKKEEPER-895] - bookies should not retain ledgers which no longer belong to them
+ * [BOOKKEEPER-920] - Extend bk-merge-pr.py to add more info to Jira ticket when merging
- BOOKKEEPER-799: Distribution schedule coverage sets don't take gaps in response lists into account when writequorum > ackquorum (ivank)
+ ** New Feature
+ * [BOOKKEEPER-879] - Record ledger creation time
+ * [BOOKKEEPER-901] - Add an authentication framework
- BOOKKEEPER-805: NullPointException in bookie server when using twitter-ostrich-provider (Youngjoon Kim via sijie)
+ ** Task
+ * [BOOKKEEPER-789] - Update README to reflect bookkeeper modules
+ * [BOOKKEEPER-790] - Add JNA license in NOTICE files
+ * [BOOKKEEPER-868] - Add ADD_ENTRY quorum timeout
- BOOKKEEPER-809: Wrong metric on LedgerDeleteOp and LedgerOpenOp (Charles Xie via sijie)
+ ** Test
+ * [BOOKKEEPER-846] - TestLedgerChecker times out
+ * [BOOKKEEPER-892] - Add a sanity test to help identify bookie nodes with problems that prevent writes but is still registered in ZK
- BOOKKEEPER-804: Client program is not terminated when using openLedgerNoRecovery (ivank via sijie)
-
- BOOKKEEPER-795: Race condition causes writes to hang if ledger is fenced (sijie via ivank)
-
- BOOKKEEPER-814: clean up temp files that generated by test cases. (zhaijia via ivank)
-
- BOOKKEEPER-838: ForceWriteThread::run() leaks “logFile.close()” when interrupt comes (zhaijia via sijie)
-
- BOOKKEEPER-839: AuditorPeriodicCheckTest timeout (rakeshr via sijie)
-
- BOOKKEEPER-840: Deadlock on flushLock on compaction (sijie)
-
- BOOKKEEPER-847: ArrayIndexOutOfBoundsException in LedgerFragmentReplicator::updateEnsembleInfo (zhaijia via sijie)
-
- BOOKKEEPER-846: TestLedgerChecker times out (rakeshr via sijie)
-
- BOOKKEEPER-854: NPE on InterleavedLedgerStorage.onRotateEntryLog (sijie)
-
- BOOKKEEPER-821: Failing to write lastId to ledger directories should not fail startup of bookies (zhaijia via sijie)
-
- BOOKKEEPER-826: PendingAddOp is ignoring ack response after meet ack quorum constraint (sijie)
-
- BOOKKEEPER-872: Resource leak with unclosed LedgerManager in HierarchicalLedgerManagerFactory#format() (Ted Yu via sijie)
-
- IMPROVEMENTS:
-
- BOOKKEEPER-800: Expose whether a ledger is closed or not (ivank)
-
- BOOKKEEPER-820: print out fi.isFenced() in BookieShell (zhaijia via sijie)
-
- BOOKKEEPER-813: BookieShell doesn't find index directory (Charles Xie via sijie)
-
- BOOKKEEPER-811: Recovery tool doesn't remove cookie after recovering one bookie (Charles Xie via sijie)
-
- BOOKKEEPER-801: Bookkeeper client tutorial (ivank)
-
- BOOKKEEPER-803: Guide for making a replicated log out of ledgers (ivank)
-
- BOOKKEEPER-832: Allow starting bookie in ReadOnly mode (zhaijia via ivank)
-
- BOOKKEEPER-634: Provide admin tool to rename bookie identifier in ledger metadata (rakeshr via ivank)
-
- BOOKKEEPER-827: change throttle in GarbageCollector to use
- either "by entry" or "by byte" (Jia Zhai via fpj)
-
- BOOKKEEPER-830: Documentation has no structure (ivank via fpj)
-
- BOOKKEEPER-837: UpdateLedgerOp - Replace AbstractFuture with SettableFuture (rakeshr via sijie)
-
- BOOKKEEPER-831: Outdated links in tutorial (ivank via sijie)
-
- BOOKKEEPER-828: Script for updating docs on website from master branch (ivank via sijie)
-
- BOOKKEEPER-834: test case error in test class TestDiskChecker (zhaijia via sijie)
-
- BOOKKEEPER-844: Add more metrics about latency and bytes characteristics on bookie operations (Tong Yu via sijie)
-
- BOOKKEEPER-849: Collect stats with sub-milliseconds precision (Matteo Merli via sijie)
-
- BOOKKEEPER-850: Use nanoseconds to calculate poll timeout when doing group commit (Matteo Merli via sijie)
-
- BOOKKEEPER-835: Update copyright for 2015 on all active branches (sijie)
-
- BOOKKEEPER-858: Fix broken links and typos in bookkeeper documents (Youngjoon Kim via sijie)
-
- BOOKKEEPER-796: Make bookkeeper client use reconnectable zookeeper wrapper (sijie via fpj)
-
- BOOKKEEPER-687: Use static final Logger for hedwig related modules (Ankur Garg via sijie)
-
- BOOKKEEPER-863: Potential resource leak with unclosed LedgerManager in BookieShell (Ted Yu via sijie)
-
- BOOKKEEPER-802: Bookkeeper protocol documentation (ivank via sijie)
-
- BOOKKEEPER-862: Add tracing and stats to OrderedSafeExecutor for debugging slow tasks (Leigh Stewart via sijie)
-
- BOOKKEEPER-866: Fix compile issue when Updating junit to latest release version( 4.12) in the test of Bookkeeper-server. (Jia Zhai via sijie)
-
- BOOKKEEPER-877: Script for generating patch for reviews (sijie)
-
- bookkeeper-client:
-
- BOOKKEEPER-810: Allow to configure TCP connect timeout (Charles Xie via sijie)
-
- BOOKKEEPER-848: Use volatile for lastAddConfirmed (Matteo Merli via sijie)
-
- BOOKKEEPER-760: Don't close PCBC proactively if bookies
- disappeared from zookeeper znodes (sijie via fpj)
-
- BOOKKEEPER-438: Move ledger id generation out of LedgerManager (Tong Yu via sijie)
-
- BOOKKEEPER-868: Add ADD_ENTRY quorum timeout (Leigh Stewart via sijie)
-
- BOOKKEEPER-867: New Client API to allow applications pass-in EntryId. (Venkateswararao Jujjuri via sijie)
-
- bookkeeper-server:
-
- BOOKKEEPER-695: Some entry logs are not removed from the bookie storage (Matteo Merli via sijie)
-
- BOOKKEEPER-836: disable compaction when disk becomes full, otherwise compaction will fill up disk quickly (zhaijia via sijie)
-
- BOOKKEEPER-833: EntryLogId and EntryLogLimit should not be larger than Integer.MAX_VALUE (sijie)
Release 4.3.0 - 2014-10-03