You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2017/08/22 18:38:32 UTC

[bookkeeper] branch master updated: ISSUE #410: BookKeeper binary distribution package contains a CHANGES.txt file

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new e28ea6b  ISSUE #410: BookKeeper binary distribution package contains a CHANGES.txt file
e28ea6b is described below

commit e28ea6baecc181f90b5e26f5456ec3b657938b24
Author: Enrico Olivelli <eo...@apache.org>
AuthorDate: Tue Aug 22 11:38:25 2017 -0700

    ISSUE #410: BookKeeper binary distribution package contains a CHANGES.txt file
    
    Drop CHANGES.txt
    
    Author: Enrico Olivelli <eo...@apache.org>
    
    Reviewers: Jia Zhai <None>, Sijie Guo <si...@apache.org>
    
    This closes #456 from eolivelli/issue-410, closes #410
---
 CHANGES.txt          | 1278 --------------------------------------------------
 src/assemble/bin.xml |    5 -
 2 files changed, 1283 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
deleted file mode 100644
index e308701..0000000
--- a/CHANGES.txt
+++ /dev/null
@@ -1,1278 +0,0 @@
-Release 4.4.0 - 2016-05-05
-
-  Non-backward compatible changes:
-    [none]
-
-  Backward compatible changes:
-
-    ** 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.
-
-    ** 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
-
-    ** Documentation
-        * [BOOKKEEPER-870] - Change the default value for bookie settings.
-
-    ** 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
-
-    ** New Feature
-        * [BOOKKEEPER-879] - Record ledger creation time
-        * [BOOKKEEPER-901] - Add an authentication framework
-
-    ** Task
-        * [BOOKKEEPER-789] - Update README to reflect bookkeeper modules
-        * [BOOKKEEPER-790] - Add JNA license in NOTICE files
-        * [BOOKKEEPER-868] - Add ADD_ENTRY quorum timeout
-
-    ** 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
-
-
-Release 4.3.0 - 2014-10-03
-
-  Non-backward compatible changes:
-
-    BUGFIXES:
-
-    IMPROVEMENTS:
-
-  Backward compatible changes:
-
-    BUGFIXES:
-
-      BOOKKEEPER-564: Better checkpoint mechanism (sijie & ivank)
-
-      BOOKKEEPER-596: Ledgers are gc'ed by mistake in MSLedgerManagerFactory. (sijie & ivank)
-
-      BOOKKEEPER-595: Crash of inprocess autorecovery daemon should not take down the bookie (ivank)
-
-      BOOKKEEPER-597: Add flag to output test logs to stdout (ivank)
-
-      BOOKKEEPER-579: TestSubAfterCloseSub was put in a wrong package (sijie via ivank)
-
-      BOOKKEEPER-586: Remove recursive call in delivery manager (sijie via ivank)
-
-      BOOKKEEPER-506: Provide better topic release algorithm (sijie via ivank)
-
-      BOOKKEEPER-581: Ledger recovery doesn't work correctly when recovery adds force changing ensembles. (sijie via ivank)
-
-      BOOKKEEPER-584: Data loss when ledger metadata is overwritten (sijie via ivank)
-
-      BOOKKEEPER-617: BOOKKEEPER-544 breaks hedwig-server/bin/hedwig script (ivank)
-
-      BOOKKEEPER-619: Bookie should not create local cookie files if zookeeper is uninitialized (ivank)
-
-      BOOKKEEPER-313: Bookkeeper shutdown call from Bookie thread is not shutting down server (vinay via ivank)
-
-      BOOKKEEPER-620: PerChannelBookieClient race during channel disconnect (ivank)
-
-      BOOKKEEPER-637: NoSuchEntry exception when reading an entry from a bookie should not print ERROR level message (mmerli via ivank)
-
-      BOOKKEEPER-641: DeathWatcher thread is unnecessarily running even after bookie shutdown (rakeshr via ivank)
-
-      BOOKKEEPER-636: Latest txn logs might be deleted in a race condition which is not recoverable if BK goes down before next txn log created. (vinay via ivank)
-
-      BOOKKEEPER-635: jenkins build should highlight which lines of the patch cause raw analysis errors (ivank via sijie)
-
-      BOOKKEEPER-653: Timeout option is missing in few testcases (Rakesh via ivank)
-
-      BOOKKEEPER-686: Bookie startup will fail if one of the configured ledgerDir is full and the same is used for replaying the journal (Rakesh via sijie)
-
-      BOOKKEEPER-605: Use static Logger objects everywhere for bookkeeper (sijie via ivank)
-
-      BOOKKEEPER-614: Generic stats interface, which multiple providers can be plugged into (sijie & ivank via ivank)
-
-      BOOKKEEPER-615: Twitter stats implementation of stats interface (sijie via ivank)
-
-      BOOKKEEPER-719: Inconsistent synchronization of org.apache.bookkeeper.stats.CodahaleMetricsProvider.metrics (sijie via ivank)
-
-      BOOKKEEPER-644: Provide a bookie address wrapper (sijie via fpj)
-
-      BOOKKEEPER-763: findbugs fails to run on jenkins (ivank)
-
-      BOOKKEEPER-766: Update notice.txt files to include 2014 (ivank via fpj)
-      
-      BOOKKEEPER-767: Allow loopback in tests (ivank via fpj)
-
-      BOOKKEEPER-765: bookkeeper script should fall back to java in path if JAVA_HOME is not set (ivank)
-
-      BOOKKEEPER-776: Flaky test BookieRecoveryTest (ivank via fpj)
-
-      bookkeeper-server:
-
-        BOOKKEEPER-567: ReadOnlyBookieTest hangs on shutdown (sijie via ivank)
-
-        BOOKKEEPER-549: Documentation missed for readOnlyMode support (ivank)
-
-        BOOKKEEPER-548: Document about periodic ledger checker configuration (ivank)
-
-        BOOKKEEPER-561: Findbugs report errors with openjdk (ivank via umamahesh)
-
-        BOOKKEEPER-554: fd leaking when move ledger index file (sijie, ivank via sijie)
-
-        BOOKKEEPER-568: NPE during GC with HierarchicalLedgerManager (Matteo via sijie)
-
-        BOOKKEEPER-569: Critical performance bug in InterleavedLedgerStorage (ivank via fpj)
-
-        BOOKKEEPER-559: Fix occasional failure in AuditorBookieTest (ivank via umamahesh)
-
-        BOOKKEEPER-599: NPE in PerChannelBookieClient (jiannan via sijie)
-
-	BOOKKEEPER-577: BookieFailureTest uses sync/wait()/notify() incorrectly (ivank via fpj) 
-	
-	BOOKKEEPER-626: BOOKIE_EXTRA_OPTS are added twice (vinay via fpj)
-
-        BOOKKEEPER-623: LedgerChecker should avoid segments of closed ledger with higher start entryId than closed entry. (vinay via sijie)
-
-        BOOKKEEPER-633: ConcurrentModificationException in RackawareEnsemblePlacementPolicy when a bookie is removed from available list (vinay via sijie)
-
-        BOOKKEEPER-563: Avoid Journal polluting page cache (Robin Dhamankar via sijie)
-
-        BOOKKEEPER-646: BookieShell readjournal command is throwing BufferUnderflowException (Rakesh via sijie)
-
-        BOOKKEEPER-652: Logger class name is wrong in LedgerCacheImpl.java (Rakesh via sijie)
-
-        BOOKKEEPER-642: Bookie returns incorrect exitcode, ExitCode.ZK_REG_FAIL is getting overridden (Rakesh via ivank)
-
-        BOOKKEEPER-663: HierarchicalLedgerManager iterator is missing some ranges and the last ledger in the range (mmerli via ivank)
-
-        BOOKKEEPER-604: Ledger storage can log an exception if GC happens concurrently. (sijie & ivank via ivank)
-
-        BOOKKEEPER-667: Client write will fail with BadMetadataVersion in case of multiple Bookie failures with AutoRecovery enabled (sijie via ivank)
-
-        BOOKKEEPER-668: Race between PerChannelBookieClient#channelDisconnected() and disconnect() calls can make clients hang while add/reading entries in case of multiple bookie failures (sijie & ivank via ivank)
-
-        BOOKKEEPER-624: Reduce logs generated by ReplicationWorker (vinay via ivank)
-
-        BOOKKEEPER-632: AutoRecovery should consider read only bookies (vinay via ivank)
-
-        BOOKKEEPER-649: Race condition in sync ZKUtils.createFullPathOptimistic() (ivank)
-
-        BOOKKEEPER-580: improve close logic (sijie & ivank via ivank)
-
-        BOOKKEEPER-446: BookKeeper.createLedger(..) should not mask the error with ZKException (sijie via ivank)
-
-        BOOKKEEPER-675: Log noise fixup before cutting 4.2.2 (ivank)
-
-        BOOKKEEPER-638: Two bookies could start at the same time to access bookie data. (sijie via ivank)
-
-        BOOKKEEPER-676: Make add asynchrounous in ledger recovery (aniruddha via ivank)
-
-        BOOKKEEPER-673: Ledger length can be inaccurate in failure case (sijie via ivank)
-
-        BOOKKEEPER-688: NPE exception in PerChannelBookieClient (ivank via sijie)
-
-        BOOKKEEPER-659: LRU page management in ledger cache. (Aniruddha, Robin Dhamankar & sijie via ivank)
-
-        BOOKKEEPER-700: GarbageCollectorThread exsiting with ArrayIndexOutOfBoundsException (rakeshr via ivank)
-
-        BOOKKEEPER-678: BookieServer shutdown hangs indefinitely at NioServerSocketChannelFactory.releaseExternalResources (rakeshr via ivank)
-
-        BOOKKEEPER-565: Make an option to separate storing entry log files from index files. (sijie via ivank)
-
-        BOOKKEEPER-711: bookkeeper-daemon.sh will not remove the pid file one successful stop (vinay via sijie)
-
-        BOOKKEEPER-712: bookkeeper script should use 'java' from JAVA_HOME (vinay via sijie)
-
-	BOOKKEEPER-709: SlowBookieTest#testSlowBookie fails intermittently (Rakesh R via fpj)
-
-        BOOKKEEPER-714: Logging channel exceptions in PerChannelBookieClient (sijie)
-
-        BOOKKEEPER-662: Major GC should kick in immediately if remaining space reaches a warning threshold (sijie via ivank)
-
-        BOOKKEEPER-710: OpenLedgerNoRecovery should watch ensemble change. (sijie via ivank)
-
-        BOOKKEEPER-429: Provide separate read and write threads in the bookkeeper server (Aniruddha via sijie)
-
-        BOOKKEEPER-696: stats collection on bookkeeper client (Aniruddha, ivank via sijie)
-
-        BOOKKEEPER-661: Turn readonly back to writable if spaces are reclaimed. (sijie via ivank)
-
-        BOOKKEEPER-720: CheckpointSource.MIN#compareTo does exactly the opposite of what it should (ivank via sijie)
-
-        BOOKKEEPER-643: Improve concurrency of entry logger (sijie & Aniruddha via ivank)
-
-        BOOKKEEPER-703: Document all the settings added in BOOKKEEPER-656 (sijie)
-
-        BOOKKEEPER-727: Names of bookie write/read threads are backwards (ivank via fpj)
-
-        BOOKKEEPER-728: Bookkeeper#Builder is not public, so can't be used outside of client package (ivank via fpj)
-
-        BOOKKEEPER-729: Bookie shouldn't exit with 0, if exiting from deathwatcher and thread death was caused by OOM (ivank via fpj)
-
-        BOOKKEEPER-725: AutoRecoveryMain should exit with error code if deathwatcher finds dead thread (ivank via sijie)
-
-        BOOKKEEPER-726: PerChannelBookieClient should print address that it failed to connect to when it fails to correct (ivank via sijie)
-
-        BOOKKEEPER-724: Shade introduces RAT error (sijie via fpj)
-
-        BOOKKEEPER-654: Bookkeeper client operations are allowed even after its closure, bk#close() (sijie via ivank)
-
-        BOOKKEEPER-717: journal should look forward to group time-out entries (sijie via ivank)
-
-        BOOKKEEPER-715: bookie: delay dropping journal cached pages (sijie via ivank)
-
-        BOOKKEEPER-730: Shade pom file missing apache license header (ivank)
-
-        BOOKKEEPER-740: AutoRecoveryMainTest#testAutoRecoverySessionLoss is failing (Rakesh via sijie)
-
-        BOOKKEEPER-432: Improve performance of entry log range read per ledger entries (yixue, sijie via ivank)
-
-        BOOKKEEPER-742: Fix for empty ledgers losing quorum. (ivank)
-
-        BOOKKEEPER-743: Periodic ledger check running too often as doc doesn't match implementation. (ivank)
-
-        BOOKKEEPER-716: padding writes for bookie journal (sijie via ivank)
-
-        BOOKKEEPER-744: Run the auditor bookie check periodically (ivank)
-
-        BOOKKEEPER-629: Support hostname based ledger metadata to help users to change IP with existing installation (rakeshr via ivank)
-
-	BOOKKEEPER-755: Incorrect number of seconds specified in a day (Joseph Redfern via fpj)
-	
-	BOOKKEEPER-750: Flake in BookieAutoRecoveryTest#testEmptyLedgerLosesQuorumEventually (ivank via fpj)
-
-        BOOKKEEPER-756: Use HashedwheelTimer for request timeouts for PCBC (sijie via ivank)
-
-        BOOKKEEPER-758: Add TryReadLastAddConfirmed API (sijie via ivank)
-
-        BOOKKEEPER-751: Ensure all the bookkeeper callbacks not run under ledger handle lock (sijie via ivank)
-
-        BOOKKEEPER-745: Fix for false reports of ledger unreplication during rolling restarts. (ivank)
-
-        BOOKKEEPER-746: 5 new shell commands. List ledgers, list metadata, list underreplicated, show auditor and simpletest (ivank)
-
-        BOOKKEEPER-774: Flaky test org.apache.bookkeeper.test.ReadOnlyBookieTest.testBookieShouldTurnWritableFromReadOnly (sijie)
-
-        BOOKKEEPER-704: reconnectable zookeeper client wrapper (sijie via ivank)
-
-        BOOKKEEPER-630: Add tag to o.a.b.net.* to indict which release of hadoop they came from, move DNS to o.a.b.net.* and indent (sijie via ivank)
-
-	BOOKKEEPER-780: Findbug issue in trunk (ivank via fpj)
-
-        BOOKKEEPER-777: Flake in LedgerCloseTest (ivank via fpj)
-
-        BOOKKEEPER-718: AuditorLedgerCheckerTest is flakey (ivank via sijie)
-
-        BOOKKEEPER-736: Stats for AutoRecovery (sijie)
-
-	BOOKKEEPER-775: Improve MultipleThreadReadTest to reduce flakiness (sijie via fpj)
-
-        BOOKKEEPER-783: Avoid running out of fds in MutlipleThreadReadTest (sijie via ivank)
-
-        BOOKKEEPER-785: Fix javadoc warnings in trunk (ivank via sijie)
-
-        BOOKKEEPER-784: BookKeeperCloseTest#testLedgerCheck is failing intermittently (ivank via sijie)
-
-        BOOKKEEPER-782: Use builder pattern for Cookie (rakeshr via sijie)
-
-        BOOKKEEPER-787: Modify Cookie by removing 'znodeVersion' state/field (rakeshr via ivank)
-
-        BOOKKEEPER-773: Provide admin tool to rename bookie identifier in Cookies (rakeshr via ivank)
-
-      bookkeeper-benchmark:
-
-        BOOKKEEPER-768: fix typo 'seconds' to milliseconds in benchmark output (jialin via sijie)
-
-        BOOKKEEPER-778: Flake in TestTryReadLastConfirmed (ivank via sijie)
-
-      bookkeeper-stats-providers:
-
-        BOOKKEEPER-779: jmx reporter for codahale metrics provider (ivank via sijie)
-
-	BOOKKEEPER-786: Fix Findbugs Error In Codahale Stats Provider (sijie via fpj)
-
-      hedwig-server:
-
-        BOOKKEEPER-601: readahead cache size isn't updated correctly (sijie via fpj)
-
-        BOOKKEEPER-607: Filtered Messages Require ACK from Client Causes User Being Throttled Incorrectly Forever (sijie via ivank)
-
-        BOOKKEEPER-683: TestSubAfterCloseSub fails on 4.2 (jiannan via ivank)
-
-        BOOKKEEPER-363: Re-distributing topics among newly added hubs. (aniruddha via ivank)
-
-      hedwig-client:
-
-        BOOKKEEPER-598: Fails to compile - RESUBSCRIBE_EXCEPTION conflict (Matthew Farrellee via sijie)
-
-	BOOKKEEPER-600: shouldClaim flag isn't cleared for hedwig multiplex java client (sijie via fpj)
-
-    IMPROVEMENTS:
-
-      BOOKKEEPER-608: Make SyncThread a reusable component (ivank)
-
-      BOOKKEEPER-555: Make BookieServer use Netty rather than a custom IO server (ivank)
-
-      BOOKKEEPER-526: multiple threads for delivery manager (sijie via ivank)
-
-      BOOKKEEPER-544: Modify hedwig server tests to allow client testcases to start/stop them as part of their tests (mridul via ivank)
-
-      BOOKKEEPER-312: Implementation of JMS provider (mridul via ivank)
-
-      BOOKKEEPER-556: BookieServerMXBean#getServerState makes no sense (ivank via sijie)
-
-      BOOKKEEPER-574: Extend the bookkeeper shell to get a list of available bookies (ivank via umamahesh)
-
-      BOOKKEEPER-576: Bookie client should use netty Decoder/Encoder (ivank via sijie)
-
-      BOOKKEEPER-585: Auditor logs noisily when a ledger has been deleted (ivank via sijie)
-
-      BOOKKEEPER-573: Script to start a bookkeeper cluster (ivank via sijie)
-
-      BOOKKEEPER-557: Compiler error showing up badly with jdk 7 (ivank via sijie)
-
-      BOOKKEEPER-583: Read from a ReadOnlyBookie fails if index fileinfo is not in ledger cache (vinay via sijie)
-
-      BOOKKEEPER-611: Speed up bookkeeper tests (ivank via fpj)
-
-      BOOKKEEPER-603: Support Boost 1.53 for Hedwig Cpp Client (jiannan via ivank)
-
-      BOOKKEEPER-592: allow application to recommend ledger data locality (sijie via ivank)
-
-      BOOKKEEPER-627: LedgerDirsMonitor is missing thread name (rakesh via fpj)
-
-      BOOKKEEPER-618: Better resolution of bookie address (ivank via fpj)
-
-      BOOKKEEPER-610: Make SyncThread use an executor (ivank via sijie)
-
-      BOOKKEEPER-640: Log improvement - add shutdown/exit log message for the bookie services (rakesh via sijie)
-
-      BOOKKEEPER-666: Naming threads of ExecutorService (rakesh via sijie)
-
-      BOOKKEEPER-645: Bookkeeper shell command to get a list of readonly bookies (rakesh via sijie)
-
-      BOOKKEEPER-658: ledger cache refactor (Robin Dhamankar via sijie)
-
-      BOOKKEEPER-657: Journal Improvement (Robin Dhamankar via sijie)
-
-      BOOKKEEPER-664: Compaction increases latency on journal writes (ivank via sijie)
-
-      BOOKKEEPER-602: we should have request timeouts rather than channel timeout in PerChannelBookieClient (Aniruddha, ivank via sijie)
-
-      BOOKKEEPER-698: Bookie client closure is not considering timeoutExecutor (rakesh via sijie)
-
-      BOOKKEEPER-699: Codahale metrics implementation of stats API (ivank via sijie)
-
-      BOOKKEEPER-701: Improve exception handling of Bookkeeper threads (rakesh via sijie)
-
-      BOOKKEEPER-708: Shade protobuf library to avoid incompatible versions (rakesh, ivank via sijie)
-
-      BOOKKEEPER-732: Add env variable ENTRY_FORMATTER_CLASS to the bkenv.sh (rakesh via sijie)
-
-      BOOKKEEPER-731: Missing BOOKIE_PID_DIR and BOOKIE_STOP_TIMEOUT in env variables list (rakesh via sijie)
-
-      BOOKKEEPER-747: Implement register/unregister LedgerMetadataListener in MSLedgerManagerFactory (fpj via sijie)
-
-      BOOKKEEPER-739: Test timeouts mostly ignored (sijie via fpj)
-
-      BOOKKEEPER-697: stats collection on bookkeeper server (sijie via fpj)
-
-      BOOKKEEPER-781: Fix OOM on Hedwig Tests (sijie via fpj)
-
-    NEW FEATURE:
-
-      BOOKKEEPER-562: Ability to tell if a ledger is closed or not (fpj)
-
-      BOOKKEEPER-257: Ability to list all ledgers (fpj via ivank)
-  
-      BOOKKEEPER-582: Make bookie and client use protobuf for requests (non-wire part)
-      (sijie via fpj)
-
-Release 4.2.0 - 2013-01-14
-
-  Non-backward compatible changes:
-
-    BUGFIXES:
-
-    IMPROVEMENTS:
-
-      bookkeeper-server:
-
-        BOOKKEEPER-203: improve ledger manager interface to remove zookeeper dependency on metadata operations. (sijie via ivank)
-
-        BOOKKEEPER-303: LedgerMetadata should serialized using protobufs (ivank)
-
-      hedwig-client:
-
-        BOOKKEEPER-339: Let hedwig cpp client support returning message seq id for publish requests. (sijie via ivank)
-
-  Backward compatible changes:
-
-    BUGFIXES:
-
-      BOOKKEEPER-289: mvn clean doesn't remove test output files (sijie via ivank)
-
-      BOOKKEEPER-298: We run with preferIPv4Stack in the scripts but not in the tests (ivank)
-
-      BOOKKEEPER-292: Test backward compatibility automatically between versions. (ivank)
-
-      BOOKKEEPER-352: Should not use static ServerStats/BKStats instance in TestServerStats/TestBKStats (sijie via fpj)
-
-      BOOKKEEPER-338: Create Version.NEW and Version.ANY static instances of Version so that were not passing around nulls (sijie via ivank)
-
-      BOOKKEEPER-32: Clean up LOG.debug statements (Stu Hood via sijie)
-
-      BOOKKEEPER-484: Misc fixes for test scripts (ivank via fpj)
-
-      BOOKKEEPER-483: precommit tests only check toplevel rat file, not the one for submodules. (ivank via fpj)
-
-      BOOKKEEPER-533: TestSubAfterCloseSub fails strangely in tests (ivank via fpj)
-
-      BOOKKEEPER-480: Fix javac warnings (ivank via sijie)
-
-      BOOKKEEPER-481: Fix javadoc warnings (ivank via sijie)
-
-      bookkeeper-server:
-
-        BOOKKEEPER-183: Provide tools to read/check data files in bookie server (sijie via ivank)
-
-        BOOKKEEPER-307: BookieShell introduces 4 findbugs warnings (ivank via sijie)
-
-        BOOKKEEPER-322: New protobufs generates findbugs errors (ivank)
-
-        BOOKKEEPER-280: LedgerHandle.addEntry() should return an entryId (mmerli via ivank)
-
-        BOOKKEEPER-324: Flakeyness in LedgerCreateDeleteTest (ivank)
-
-        BOOKKEEPER-318: Spelling mistake in MultiCallback log message. (surendra via sijie)
-
-        BOOKKEEPER-296: It's better provide stop script for bookie (nijel via sijie)
-
-        BOOKKEEPER-294: Not able to start the bookkeeper before the ZK session timeout. (rakeshr via ivank)
-
-        BOOKKEEPER-327: System.currentTimeMillis usage in BookKeeper (uma via fpj)
-
-        BOOKKEEPER-349: Entry logger should close all the chennels which are there in Map, instead of closing only current channel. (umamaheswararao via sijie)
-
-        BOOKKEEPER-326: DeadLock during ledger recovery (rakeshr via ivank)
-
-        BOOKKEEPER-372: Check service name in bookie start/stop script. (nijel via ivank)
-
-        BOOKKEEPER-354: [BOOKKEEPER-296] [Documentation] Modify the bookkeeper start script and document the bookkeeper stop command in bookkeeperConfig.xml (Kiran BC via ivank)
- 
-        BOOKKEEPER-378: ReplicationWorker may not get ZK watcher notification on UnderReplication ledger lock deletion. (umamaheswararao & ivank via ivank)
-
-        BOOKKEEPER-380: ZkLedgerUnderreplicationManager.markLedgerUnderreplicated() is adding duplicate missingReplicas while multiple bk failed for the same ledger (rakeshr via ivank)
-
-        BOOKKEEPER-381: ReadLastConfirmedOp's Logger class name is wrong (surendra via sijie)
-
-        BOOKKEEPER-382: space missed at concatenations in GarbageCollectorThread logging (Brahma via sijie)
-
-        BOOKKEEPER-337: Add entry fails with MetadataVersionException when last ensemble has morethan one bookie failures (rakeshr via ivank)
-
-        BOOKKEEPER-376: LedgerManagers should consider 'underreplication' node as a special Znode (Uma via sijie)
-
-        BOOKKEEPER-384: Clean up LedgerManagerFactory and LedgerManager usage in tests (rakeshr via ivank)
-
-        BOOKKEEPER-385: replicateLedgerFragment should throw Exceptions in error conditions (umamahesh via ivank)
-
-        BOOKKEEPER-386: It should not be possible to replicate a ledger fragment which is at the end of an open ledger (ivank & umamahesh via ivank)
-
-        BOOKKEEPER-395: HDFS dep transitively depends on a busted pom (Stu Hood via sijie)
-
-        BOOKKEEPER-387: BookKeeper Upgrade is not working. (surendra via sijie)
-
-        BOOKKEEPER-383: NPE in BookieJournalTest  (sijie via ivank)
-
-        BOOKKEEPER-396: Compilation issue in TestClient.java of BenchMark ( showing this in eclipse) (umamahesh via sijie)
-
-        BOOKKEEPER-403: ReReadMetadataCb is not executed in the thread responsible for that ledger (ivank)
-
-        BOOKKEEPER-405: Let's add Thread name for ReplicationWorker thread. (umamahesh via ivank)
-
-        BOOKKEEPER-418: Store hostname of locker in replication lock (ivank)
-
-        BOOKKEEPER-417: Hierarchical zk underreplication manager should clean up its hierarchy when done to allow for fast acquisition of underreplicated entries (ivank)
-
-        BOOKKEEPER-436: Journal#rollLog may leak file handler (umamahesh via ivank)
-
-        BOOKKEEPER-424: Bookie start is failing intermittently when zkclient connection delays (rakeshr via ivank)
-
-        BOOKKEEPER-416: LedgerChecker returns underreplicated fragments for an closed ledger with no entries (ivank)
-
-        BOOKKEEPER-425: Cleanup Bookie id generation (ivank via fpj)
-
-        BOOKKEEPER-430: Remove manual bookie registration from overview (fpj via ivank)
-
-        BOOKKEEPER-466: ZooKeeper test utility sets the port number as the tickTime (ivank)
-
-        BOOKKEEPER-460: LedgerDeleteTest checks wrong place for log file (Fangmin Lv via ivank)
-
-        BOOKKEEPER-477: In ReadOnlyBookieTest, we should wait for the bookie to die before asserting on it (ivank via fpj)
-
-        BOOKKEEPER-485: TestFencing hung (ivank via fpj)
-
-        BOOKKEEPER-351: asyncAddEntry should not throw an exception (Matteo Merli via sijie)
-
-        BOOKKEEPER-291: BKMBeanRegistry uses log4j directly (fpj via ivank)
-
-        BOOKKEEPER-459: Rename metastore mock implementation to InMemory implementation (jiannan via ivank)
-
-        BOOKKEEPER-347: Provide mechanism to detect r-o bookie by the bookie clients (Vinay via ivank)
-
-        BOOKKEEPER-475: BookieRecoveryTest#testSyncBookieRecoveryToRandomBookiesCheckForDupes() iterates too much (ivank via fpj)
-
-        BOOKKEEPER-431: Duplicate definition of COOKIES_NODE (uma via fpj)
-
-        BOOKKEEPER-474:  BookieReadWriteTest#testShutdown doesn't make sense (ivank via fpj)
-
-        BOOKKEEPER-465: CreateNewLog may overwrite lastLogId with smaller value (yixue, fpj via fpj)
-
-        BOOKKEEPER-498: BookieRecoveryTest.tearDown NPE (fpj)
-
-        BOOKKEEPER-497: GcLedgersTest has a potential race (ivank via sijie)
-
-        BOOKKEEPER-493: moveLedgerIndexFile might have chance pickup same directory (sijie via ivank)
-
-        BOOKKEEPER-365: Ledger will never recover if one of the quorum bookie is down forever and others dont have entry (sijie via ivank)
-
-        BOOKKEEPER-336: bookie readEntries is taking more time if the ensemble has failed bookie(s) (ivank)
-
-        BOOKKEEPER-512: BookieZkExpireTest fails periodically (ivank via sijie)
-
-        BOOKKEEPER-509: TestBookKeeperPersistenceManager failed on latest trunk (sijie via ivank)
-
-        BOOKKEEPER-496: Ensure that the auditor and replication worker will shutdown if they lose their ZK session (ivank)
-
-        BOOKKEEPER-500: Fencing doesn't work when restarting bookies. (sijie via ivank)
-
-        BOOKKEEPER-520: BookieFailureTest hangs on precommit build (ivank via sijie)
-
-        BOOKKEEPER-447: Bookie can fail to recover if index pages flushed before ledger flush acknowledged (ivank via sijie)
-
-        BOOKKEEPER-520: BookieFailureTest hangs on precommit build (sijie via fpj, jira reopened)
-
-        BOOKKEEPER-514: TestDeadLock hanging sometimes (ivank, sijie via fpj)
-
-        BOOKKEEPER-524: Bookie journal filesystem gets full after SyncThread is terminated with exception (Matteo, fpj via sijie)
-
-        BOOKKEEPER-355: Ledger recovery will mark ledger as closed with -1, in case of slow bookie is added to ensemble during recovery add (ivank)
-
-        BOOKKEEPER-534: Flakeyness in AuditorBookieTest (umamahesh via ivank)
-
-        BOOKKEEPER-542: Remove trailing spaces in IndexCorruptionTest (fpj via ivank)
-
-        BOOKKEEPER-530: data might be lost during compaction. (ivank)
-
-        BOOKKEEPER-538: Race condition in BookKeeper#close (ivank via fpj)
-
-        BOOKKEEPER-408: BookieReadWriteTest will enter the endless loop and will not leave out (ivank)
-
-        BOOKKEEPER-504: Fix findbugs warning in PendingReadOp (fpj via ivank)
-
-      hedwig-protocol:
-
-        BOOKKEEPER-394: CompositeException message is not useful (Stu Hood via sijie)
-
-        BOOKKEEPER-468: Remove <echo> from protobuf generation in hedwig (ivank)
-
-      hedwig-client:
-
-        BOOKKEEPER-274: Hedwig cpp client library should not link to cppunit which is just used for test. (sijie via ivank)
-
-        BOOKKEEPER-320: Let hedwig cpp client could publish messages using Message object instead of string. (jiannan via ivank)
-
-        BOOKKEEPER-371: NPE in hedwig hub client causes hedwig hub to shut down. (Aniruddha via sijie)
-
-        BOOKKEEPER-392: Racey ConcurrentMap usage in java hedwig-client (Stu Hood via sijie)
-
-        BOOKKEEPER-427: TestConcurrentTopicAcquisition hangs every so often (ivank)
-
-        BOOKKEEPER-434: [Hedwig CPP Client] Delay resolving default host until necessary. (sijie via ivank)
-
-        BOOKKEEPER-452: Rename ClientConfiguration multiplexing_enabled to subscription_connection_sharing_enabled (sijie via ivank)
-
-        BOOKKEEPER-454: hedwig c++ tester script assumes sh is bash (ivank)
-
-        BOOKKEEPER-470: Possible infinite loop in simple.SubscribeReconnectCallback (sijie via ivank)
-
-        BOOKKEEPER-55: SubscribeReconnectRetryTask might retry subscription endlessly when another subscription is already successfully created previously (sijie via ivank)
-
-        BOOKKEEPER-513: TestMessageFilter fails periodically (ivank)
-
-      hedwig-server:
-
-        BOOKKEEPER-302: No more messages delivered when hub server scans messages over two ledgers. (sijie via ivank)
-
-        BOOKKEEPER-330: System.currentTimeMillis usage in Hedwig (uma via sijie)
-
-        BOOKKEEPER-343: Failed to register hedwig JMX beans in test cases (sijie via ivank)
-
-        BOOKKEEPER-259: Create a topic manager using versioned write for leader election (sijie via ivank)
-
-        BOOKKEEPER-191: Hub server should change ledger to write, so consumed messages have chance to be garbage collected. (sijie via ivank)
-
-        BOOKKEEPER-439: No more messages delivered after deleted consumed ledgers. (sijie via ivank)
-
-        BOOKKEEPER-440: Make Write/Delete SubscriptionData Restricted to Version (Fangmin Lv via ivank)
-
-        BOOKKEEPER-482: Precommit is reporting findbugs errors in trunk (ivank via sijie)
-
-        BOOKKEEPER-442: Failed to deliver messages due to inconsistency between SubscriptionState and LedgerRanges. (jiannan via ivank)
-
-        BOOKKEEPER-461: Delivery throughput degrades when there are lots of publishers w/ high traffic. (sijie via ivank)
-
-	BOOKKEEPER-458:  Annoy BKReadException error when changing ledger. (jiannan via fpj)
-
-        BOOKKEEPER-507: Race condition happens if closeSubscription and subscribe happened at the same time (in multiplexed client). (sijie via ivank)
-
-	BOOKKEEPER-532: AbstractSubscriptionManager#AcquireOp read subscriptions every time even it already owned the topic. (sijie via fpj)
-
-        BOOKKEEPER-531: Cache thread should wait until old entries are collected (sijie via ivank)
-
-        BOOKKEEPER-529: stopServingSubscriber in delivery manager should remove stub callbacks in ReadAheadCache (sijie via ivank)
-
-        BOOKKEEPER-543: Read zk host list in a wrong way in hedwig server (Fangmin via sijie)
-
-        BOOKKEEPER-540: #stopServingSubscriber when channel is disconnected. (Fangmin via sijie)
-
-        BOOKKEEPER-539: ClientNotSubscribedException & doesn't receive enough messages in TestThrottlingDelivery#testServerSideThrottle (sijie)
-
-        BOOKKEEPER-503: The test case of TestThrottlingDelivery#testServerSideThrottle failed sometimes (jiannan & sijie via ivank)
-
-    IMPROVEMENTS:
-
-      BOOKKEEPER-467: Allocate ports for testing dynamically (ivank)
-
-      BOOKKEEPER-471: Add scripts for preCommit testing (ivank)
-
-      BOOKKEEPER-476: Log to file during tests (ivank via fpj)
-
-      BOOKKEEPER-491: Hedwig doc for configuration (fpj, sijie via fpj)
-
-      BOOKKEEPER-495: Revise BK config doc (fpj, ivank via fpj)
-
-      BOOKKEEPER-523: Every test should have a timeout (ivank, sijie via fpj)
-
-      BOOKKEEPER-541: Add guava to notice file (ivank via fpj)
-
-      bookkeeper-server:
-
-        BOOKKEEPER-328: Bookie DeathWatcher is missing thread name (Rakesh via sijie)
-
-        BOOKKEEPER-2: bookkeeper does not put enough meta-data in to do recovery properly (ivank via sijie)
-
-        BOOKKEEPER-317: Exceptions for replication (ivank via sijie)
-
-        BOOKKEEPER-246: Recording of underreplication of ledger entries (ivank)
-
-        BOOKKEEPER-247: Detection of under replication (ivank)
-
-        BOOKKEEPER-299: Provide LedgerFragmentReplicator which should replicate the fragments found from LedgerChecker (umamahesh via ivank)
-
-        BOOKKEEPER-248: Rereplicating of under replicated data (umamahesh via ivank)
-
-        BOOKKEEPER-304: Prepare bookie vs ledgers cache and will be used by the Auditor (rakeshr via ivank)
-
-        BOOKKEEPER-272: Provide automatic mechanism to know bookie failures (rakeshr via ivank)
-
-        BOOKKEEPER-300: Create Bookie format command (Vinay via sijie)
-
-        BOOKKEEPER-208: Separate write quorum from ack quorum (ivank)
-
-        BOOKKEEPER-325: Delay the replication of a ledger if RW found that its last fragment is in underReplication. (umamahesh via ivank)
-
-        BOOKKEEPER-388: Document bookie format command (kiran_bc via ivank)
-
-        BOOKKEEPER-278: Ability to disable auto recovery temporarily (rakeshr via ivank)
-
-        BOOKKEEPER-319: Manage auditing and replication processes (Vinay via ivank)
-
-        BOOKKEEPER-315: Ledger entries should be replicated sequentially instead of parallel. (umamahesh via ivank)
-
-        BOOKKEEPER-345: Detect IOExceptions on entrylogger and bookie should consider next ledger dir(if any) (Vinay via ivank)
-
-        BOOKKEEPER-346: Detect IOExceptions in LedgerCache and bookie should look at next ledger dir(if any) (Vinay via ivank)
-
-        BOOKKEEPER-444: Refactor pending read op to make speculative reads possible (ivank)
-
-        BOOKKEEPER-204: Provide a MetaStore interface, and a mock implementation. (Jiannan Wang via ivank)
-
-	BOOKKEEPER-469: Remove System.out.println from TestLedgerManager (ivank via fpj)
-
-        BOOKKEEPER-205: implement a MetaStore based ledger manager for bookkeeper client. (jiannan via ivank)
-
-        BOOKKEEPER-426: Make auditor Vote znode store a protobuf containing the host that voted (ivank)
-
-	BOOKKEEPER-428: Expose command options in bookie scripts to disable/enable auto recovery temporarily (rakesh,ivank via fpj)
-
-        BOOKKEEPER-511: BookieShell is very noisy (ivank via sijie)
-
-        BOOKKEEPER-375: Document about Auto replication service in BK (umamahesh via ivank)
-
-        BOOKKEEPER-490: add documentation for MetaStore interface (sijie, ivank via sijie)
-
-        BOOKKEEPER-463: Refactor garbage collection code for ease to plugin different GC algorithm. (Fangmin, ivank, fpj via sijie)
-
-        BOOKKEEPER-409: Integration Test - Perform bookie rereplication cycle by Auditor-RW processes (rakeshr via ivank)
-
-        BOOKKEEPER-293: Periodic checking of ledger replication status (ivank)
-
-        BOOKKEEPER-472: Provide an option to start Autorecovery along with Bookie Servers (umamahesh via ivank)
-
-        BOOKKEEPER-341: add documentation for bookkeeper ledger manager interface. (sijie via ivank)
-
-      hedwig-server:
-
-        BOOKKEEPER-250: Need a ledger manager like interface to manage metadata operations in Hedwig (sijie via ivank)
-
-        BOOKKEEPER-329: provide stop scripts for hub server (sijie via ivank)
-
-        BOOKKEEPER-331: Let hedwig support returning message seq id for publish requests. (Mridul via sijie)
-
-        BOOKKEEPER-340: Test backward compatibility for hedwig between different versions. (sijie via ivank)
-
-        BOOKKEEPER-283: Improve Hedwig Console to use Hedwig Metadata Manager. (sijie via ivank)
-
-        BOOKKEEPER-332: Add SubscriptionPreferences to record all preferences for a subscription (sijie via ivank)
-
-        BOOKKEEPER-333: server-side message filter (sijie via ivank)
-
-        BOOKKEEPER-252: Hedwig: provide a subscription mode to kill other subscription channel when hedwig client is used as a proxy-style server. (sijie via ivank)
-
-        BOOKKEEPER-397: Make the hedwig client in RegionManager configurable. (Aniruddha via sijie)
-
-        BOOKKEEPER-367: Server-Side Message Delivery Flow Control (sijie via ivank)
-
-        BOOKKEEPER-415: Rename DeliveryThrottle to MessageWindowSize (ivank via sijie)
-
-	BOOKKEEPER-422: Simplify AbstractSubscriptionManager (stu via fpj)
-
-        BOOKKEEPER-435: Create SubscriptionChannelManager to manage all subscription channel (sijie via ivank)
-
-        BOOKKEEPER-411: Add CloseSubscription Request for multiplexing support (sijie via ivank)
-
-        BOOKKEEPER-441: InMemorySubscriptionManager should back up top2sub2seq before change it (Yixue via ivank)
-
-	BOOKKEEPER-479: Fix apache-rat issues in tree (ivank via fpj)
-
-        BOOKKEEPER-457: Create a format command for Hedwig to cleanup its metadata. (sijie via ivank)
-
-        BOOKKEEPER-487: Add existed hub server settings to configuration template file (sijie via ivank)
-
-        BOOKKEEPER-389: add documentation for message filter. (sijie via ivank)
-
-	BOOKKEEPER-399: Let hub server configure write quorum from ack quorum. (sijie via fpj)
-
-        BOOKKEEPER-342: add documentation for hedwig metadata manager interface. (sijie, ivank via sijie)
-
-        BOOKKEEPER-522: TestHedwigHub is failing silently on Jenkins (ivank via sijie)
-
-        BOOKKEEPER-262: Implement a meta store based hedwig metadata manager. (jiannan via ivank)
-
-        BOOKKEEPER-310: Changes in hedwig server to support JMS spec (ivank via sijie)
-
-      hedwig-client:
-
-        BOOKKEEPER-306: Change C++ client to use gtest for testing (ivank via sijie)
-
-        BOOKKEEPER-334: client-side message filter for java client. (sijie via ivank)
-
-        BOOKKEEPER-335: client-side message filter for cpp client. (sijie via ivank)
-
-        BOOKKEEPER-364: re-factor hedwig java client to support both one-subscription-per-channel and multiplex-subscriptions-per-channel. (sijie via ivank)
-
-        BOOKKEEPER-143: Add SSL support for hedwig cpp client (sijie via ivank)
-
-        BOOKKEEPER-413: Hedwig C++ client: Rename RUN_AS_SSL_MODE to SSL_ENABLED (ivank via sijie)
-
-        BOOKKEEPER-369: re-factor hedwig cpp client to provide better interface to support both one-subscription-per-channel and multiple-subscriptions-per-channel. (sijie via ivank)
-
-        BOOKKEEPER-368: Implementing multiplexing java client. (sijie via ivank)
-
-        BOOKKEEPER-370: implement multiplexing cpp client. (sijie via ivank)
-
-        BOOKKEEPER-453: Extract commonality from MultiplexSubscribeResponseHandler and SimpleSubscribeResponseHandler and put into an abstract class  (sijie via ivank)
-
-        BOOKKEEPER-404: Deprecate non-SubscriptionOptions Subscriber Apis (ivank via sijie)
-
-Release 4.1.0 - 2012-06-07
-
-  Non-backward compatible changes:
-
-    BUGFIXES:
-
-    IMPROVEMENTS:
-
-  Backward compatible changes:
-
-    BUGFIXES:
-
-      BOOKKEEPER-145: Put notice and license file for distributed binaries in SVN (ivank)
-
-      BOOKKEEPER-254: Bump zookeeper version in poms (ivank)
-
-      BOOKKEEPER-72: Fix warnings issued by FindBugs (ivank)
-
-      BOOKKEEPER-238: Add log4j.properties in conf/ for bin packages (ivank)
-
-      bookkeeper-server/
-
-        BOOKKEEPER-142: Parsing last log id is wrong, which may make entry log files overwritten (Sijie Gou via ivank)
-
-        BOOKKEEPER-141: Run extracting ledger id from entry log files in GC thread to speed up bookie restart (Sijie Gou via ivank)
-
-        BOOKKEEPER-148: Jenkins build is failing (ivank via fpj)
-
-        BOOKKEEPER-40: BookieClientTest fails intermittantly (fpj via ivank)
-
-	BOOKKEEPER-150: Entry is lost when recovering a ledger with not enough bookies. (Sijie Guo via ivank)
-
-        BOOKKEEPER-153: Ledger can't be opened or closed due to zero-length metadata (Sijie Guo via ivank)
-
-        BOOKKEEPER-23: Timeout requests (ivank)
-
-        BOOKKEEPER-161: PerChannelBookieClient tries to reuse HashedWheelTimer, throws Exception (ivank)
-
-        BOOKKEEPER-167: PerChannelBookieClient doesn't use ClientConfiguration (Sijie Guo via ivank)
-
-        BOOKKEEPER-156: BookieJournalRollingTest failing (Sijie Guo via ivank)
-
-	BOOKKEEPER-162: LedgerHandle.readLastConfirmed does not work (fpj)
-
-        BOOKKEEPER-152: Can't recover a ledger whose current ensemble contain failed bookie. (ivank)
-
-        BOOKKEEPER-171: ServerConfiguration can't use more than one directory for ledgers. (ivank via sijie)
-	
-	BOOKKEEPER-170: Bookie constructor starts a number of threads. (ivank via fpj)
-
-        BOOKKEEPER-169: bookie hangs on reading header when encountering partial header index file (sijie via ivank)
-
-        BOOKKEEPER-174: Bookie can't start when replaying entries whose ledger were deleted and garbage collected. (sijie via ivank)
-
-        BOOKKEEPER-177: Index file is lost or some index pages aren't flushed. (sijie via ivank)
-
-        BOOKKEEPER-113: NPE In BookKeeper test (fpj via ivank)
-
-	BOOKKEEPER-176: HierarchicalBookieFailureTest Hung (ivank via fpj)
-
-        BOOKKEEPER-180: bookie server doesn't quit when running out of disk space (sijie via ivank)
-
-        BOOKKEEPER-185: Remove bookkeeper-server dependency on hadoop-common (ivank)
-
-        BOOKKEEPER-184: CompactionTest failing on Jenkins (sijie via ivank)
-
-        BOOKKEEPER-182: Entry log file is overwritten when fail to read lastLogId. (sijie via ivank)
-
-        BOOKKEEPER-186: Bookkeeper throttling - permits is not released when read has failed from all replicas (Rakesh R via sijie)
-
-        BOOKKEEPER-189: AbstractZkLedgerManager doesn't disregard cookies (ivank via sijie)
-
-        BOOKKEEPER-195: HierarchicalLedgerManager doesn't consider idgen as a "specialNode" (ivank)
-
-        BOOKKEEPER-190: Add entries would fail when number of open ledgers reaches more than openFileLimit. (sijie via ivank)
-
-        BOOKKEEPER-194: Get correct latency for addEntry operations for JMX. (sijie via ivank)
-
-        BOOKKEEPER-166: Bookie will not recover its journal if the length prefix of an entry is truncated (ivank)
-
-        BOOKKEEPER-193: Ledger is garbage collected by mistake. (sijie, ivank via sijie)
-
-        BOOKKEEPER-198: replaying entries of deleted ledgers would exhaust ledger cache. (sijie)
-
-        BOOKKEEPER-112: Bookie Recovery on an open ledger will cause LedgerHandle#close on that ledger to fail (sijie)
-
-        BOOKKEEPER-135: Fencing does not check the ledger masterPasswd (ivank)
-
-	BOOKKEEPER-212: Bookie stops responding when creating and deleting many ledgers (sijie via fpj)
-
-        BOOKKEEPER-211: Bookie fails to to start (sijie)
-
-	BOOKKEEPER-200: Fix format and comments (fpj)
-
-        BOOKKEEPER-216: Bookie doesn't exit with right exit code (sijie via ivank)
-
-        BOOKKEEPER-196: Define interface between bookie and ledger storage (ivank)
-
-        BOOKKEEPER-213: PerChannelBookieClient calls the wrong errorOut function when encountering an exception (Aniruddha via sijie)
-
-        BOOKKEEPER-231: ZKUtil.killServer not closing the FileTxnSnapLog from ZK. (Uma Maheswara Rao G via sijie)
-
-        BOOKKEEPER-232: AsyncBK tests failing (umamaheswararao via ivank)
-
-	BOOKKEEPER-229: Deleted entry log files would be garbage collected again and again. (sijie via fpj)
-
-        BOOKKEEPER-242: Bookkeeper not able to connect other zookeeper when shutdown the zookeeper server where the BK has connected. (sijie & rakeshr via ivank)
-
-        BOOKKEEPER-234: EntryLogger will throw NPE, if any dir does not exist or IO Errors. (umamaheswararao via ivank)
-
-	BOOKKEEPER-235: Bad syncing in entrylogger degrades performance for many concurrent ledgers (ivank via fpj)
-
-        BOOKKEEPER-224: Fix findbugs in bookkeeper-server component (ivank)
-
-        BOOKKEEPER-251: Noise error message printed when scanning entry log files those have been garbage collected. (sijie via ivank)
-
-        BOOKKEEPER-266: Review versioning documentation (ivank)
-
-        BOOKKEEPER-258: CompactionTest failed (ivank via sijie)
-
-        BOOKKEEPER-273: LedgerHandle.deleteLedger() should be idempotent (Matteo Merli via ivank)
-
-        BOOKKEEPER-281: BKClient is failing when zkclient connection delays (ivank via sijie)
-
-        BOOKKEEPER-279: LocalBookKeeper is failing intermittently due to zkclient connection establishment delay (Rakesh R via sijie)
-
-        BOOKKEEPER-286: Compilation warning (ivank via sijie)
-
-        BOOKKEEPER-287: NoSuchElementException in LedgerCacheImpl (sijie)
-
-        BOOKKEEPER-288: NOTICE files don't have the correct year (ivank via sijie)
-
-      hedwig-client/
-
-        BOOKKEEPER-217: NPE in hedwig client when enable DEBUG (sijie via ivank)
-
-      hedwig-server/
-      
-        BOOKKEEPER-140: Hub server doesn't subscribe remote region correctly when a region is down. (Sijie Gou via ivank)
-
-        BOOKKEEPER-133: Hub server should update subscription state to zookeeper when losing topic or shutting down (Sijie Gou via ivank)
-
-        BOOKKEEPER-74: Bookkeeper Persistence Manager should give up topic on error (sijie via ivank)
-
-        BOOKKEEPER-163: Prevent incorrect NoSuchLedgerException for readLastConfirmed. (ivank via sijie)
-
-        BOOKKEEPER-197: HedwigConsole uses the same file to load bookkeeper client config and hub server config (sijie)
-
-        BOOKKEEPER-56: Race condition of message handler in connection recovery in Hedwig client (sijie & Gavin Li via ivank)
-
-        BOOKKEEPER-215: Deadlock occurs under high load (sijie via ivank)
-
-        BOOKKEEPER-245: Intermittent failures in PersistanceManager tests (ivank)
-
-        BOOKKEEPER-209: Typo in ServerConfiguration for READAHEAD_ENABLED (ivank)
-
-        BOOKKEEPER-146: TestConcurrentTopicAcquisition sometimes hangs (ivank)
-
-        BOOKKEEPER-285: TestZkSubscriptionManager quits due to NPE, so other tests are not run in hedwig server. (sijie)
-
-      bookkeeper-benchmark/
-	
-	BOOKKEEPER-207: BenchBookie doesn't run correctly (ivank via fpj)
-
-        BOOKKEEPER-228: Fix the bugs in BK benchmark (umamaheswararao via ivank)
-
-    IMPROVEMENTS:
-
-	BOOKKEEPER-265: Review JMX documentation (sijie via fpj)
-
-      bookkeeper-server/
-
-        BOOKKEEPER-95: extends zookeeper JMX to monitor and manage bookie server (Sijie Guo via ivank)
-
-        BOOKKEEPER-98: collect add/read statistics on bookie server (Sijie Guo via ivank)
-
-	BOOKKEEPER-157:	For small packets, increasing number of bookies actually degrades performance. (ivank via fpj)
-
-        BOOKKEEPER-165: Add versioning support for journal files (ivank)
-
-        BOOKKEEPER-137: Do not create Ledger index files until absolutely necessary. (ivank)
-
-	BOOKKEEPER-172: Upgrade framework for filesystem layouts (ivank via fpj)
-
-        BOOKKEEPER-178: Delay ledger directory creation until the ledger index file was created (sijie via ivank)
-
-        BOOKKEEPER-160: bookie server needs to do compaction over entry log files to reclaim disk space (sijie via ivank)
-
-        BOOKKEEPER-187: Create well defined interface for LedgerCache (ivank)
-
-        BOOKKEEPER-175: Bookie code is very coupled (ivank)
-
-        BOOKKEEPER-188: Garbage collection code is in the wrong place (ivank via sijie)
-
-        BOOKKEEPER-218: Provide journal manager to manage journal related operations (sijie)
-
-	BOOKKEEPER-173: Uncontrolled number of threads in bookkeeper (sijie via fpj)
-
-	BOOKKEEPER-241: Add documentation for bookie entry log compaction (sijie via fpj)
-
-	BOOKKEEPER-263: ZK ledgers root path is hard coded (Aniruddha via sijie)
-
-	BOOKKEEPER-260: Define constant for -1 (invalid entry id) (ivank via fpj)
-
-	BOOKKEEPER-270: Review documentation on bookie cookie (ivank via fpj)
-
-      hedwig-server/
-
-        BOOKKEEPER-77: Add a console client for hedwig (Sijie Guo via ivank)
-
-        BOOKKEEPER-168: Message bounding on subscriptions (ivank)
-
-        BOOKKEEPER-96: extends zookeeper JMX to monitor and manage hedwig server (sijie via ivank)
-
-        BOOKKEEPER-97: collect pub/sub/consume statistics on hub server (sijie via ivank)
-
-	BOOKKEEPER-269: Review documentation for hedwig console client (sijie via fpj)
-
-      hedwig-client/
-
-	BOOKKEEPER-271: Review documentation for message bounding (ivank via fpj)
-
-      bookkeeper-benchmark/
-	BOOKKEEPER-158: Move latest benchmarking code into trunk (ivank via fpj)
-
-	BOOKKEEPER-236: Benchmarking improvements from latest round of benchmarking (ivank via fpj)
-
-Release 4.0.0 - 2011-11-30
-
-  Non-backward compatible changes:
-
-    BUGFIXES:
-
-      BOOKKEEPER-89: Bookkeeper API changes for initial Bookkeeper release (ivank)
-
-      BOOKKEEPER-108: add configuration support for BK (Sijie via ivank)
-
-      BOOKKEEPER-90: Hedwig API changes for initial Bookkeeper release (ivank via fpj)
-
-  Backward compatible changes:
-
-    BUGFIXES:
-
-      BOOKKEEPER-124: build has RAT failures (ivank)
-
-      BOOKKEEPER-121: Review Hedwig client documentation (breed via ivank)
-
-      BOOKKEEPER-127: Make poms use official zookeeper 3.4.0 (ivank)
-
-      BOOKKEEPER-120: Review BookKeeper client documentation (ivank)
- 
-      BOOKKEEPER-122: Review BookKeeper server documentation (fpj & ivank)
- 
-      BOOKKEEPER-66: use IPv4 for builds (mmorel via ivank)
-
-      BOOKKEEPER-132: Sign artifacts before deploying to maven (ivank)
-
-      BOOKKEEPER-131: Fix zookeeper test dependency (ivank)
-
-      BOOKKEEPER-134: Delete superfluous lib directories (ivank)
-
-      BOOKKEEPER-138: NOTICE.txt is invalid (ivank)
-
-      BOOKKEEPER-139: Binary packages do not carry NOTICE.txt (ivank)
-
-      bookkeeper-server/
-
-        BOOKKEEPER-1: Static variable makes tests fail (fpj via ivank)
-
-        BOOKKEEPER-19: BookKeeper doesn't support more than 2Gig of memory (ivan via fpj)
-
-        BOOKKEEPER-22: Exception in LedgerCache causes addEntry request to fail (fpj via fpj)
-
-        BOOKKEEPER-5: Issue with Netty in BookKeeper (fpj and ivank via fpj)
-
-        BOOKKEEPER-30: Test are too noisy (ivank via fpj)
-
-        BOOKKEEPER-11: Read from open ledger (fpj via ivank)
-
-        BOOKKEEPER-27: mvn site failed with unresolved dependencies (ivank via fpj)
-  
-        BOOKKEEPER-29: BookieRecoveryTest fails intermittently (fpj via ivank)
-
-        BOOKKEEPER-33: Add length and offset parameter to addEntry (ivank via fpj)
-
-        BOOKKEEPER-29: BookieRecoveryTest fails intermittently (ivank, fpj via fpj)
-
-        BOOKKEEPER-38: Bookie Server doesn't exit when its zookeeper session is expired. So the process is hang there. (Sijie Guo via breed)
-
-        BOOKKEEPER-58: Changes introduced in BK-38 cause BookieClientTest to hang indefinitely. (ivank)
-
-        BOOKKEEPER-18: maven build is unstable (mmorel, ivank via ivank)
-
-        BOOKKEEPER-57: NullPointException at bookie.zk@EntryLogger (xulei via ivank)
-
-        BOOKKEEPER-59: Race condition in netty code allocates and orphans resources (BK-5 revisited) (ivank via fpj)
-  
-        BOOKKEEPER-68: Conditional setData (fpj via ivank)
-
-        BOOKKEEPER-86: bookkeeper-benchmark fails to compile after BOOKKEEPER-68 (ivank via breed)
-
-        BOOKKEEPER-61: BufferedChannel read endless when the remaining bytes of file is less than the capacity of read buffer (Sijie Guo via breed)
-
-        BOOKKEEPER-84: Add versioning for ZK metadata (ivank via breed)
-
-        BOOKKEEPER-92: using wrong context object in readLastConfirmedComplete callback (Sijie Guo via ivank)
- 
-        BOOKKEEPER-94: Double callbacks in readLastConfirmedOp which fails readLastConfirmed operation even received enough valid responses. (Sijie Guo via ivank)
-
-        BOOKKEEPER-83: Added versioning and flags to the bookie protocol (ivank)
-
-        BOOKKEEPER-93: bookkeeper doesn't work correctly on OpenLedgerNoRecovery (Sijie Guo via ivank)
-
-        BOOKKEEPER-103: ledgerId and entryId is parsed wrong when addEntry (Sijie Guo via ivank)
-
-        BOOKKEEPER-50: NullPointException at LedgerDescriptor#cmpMasterKey (Sijie Guo via ivank)
-
-        BOOKKEEPER-82: support journal rolling (Sijie Guo via fpj)
-
-        BOOKKEEPER-106: recoveryBookieData can select a recovery bookie which is already in the ledgers ensemble (ivank via fpj)
-
-        BOOKKEEPER-101: Add Fencing to Bookkeeper (ivank)
-
-        BOOKKEEPER-104: Add versioning between bookie and its filesystem layout (ivank)
-
-        BOOKKEEPER-81: disk space of garbage collected entry logger files isn't reclaimed util process quit (Sijie Guo via fpj)
-
-        BOOKKEEPER-91: Bookkeeper and hedwig clients should not use log4j directly (ivank via fpj)
-
-        BOOKKEEPER-115: LocalBookKeeper fails after BOOKKEEPER-108 (ivank)
-
-        BOOKKEEPER-114: add a shutdown hook to shut down bookie server safely. (Sijie via ivank)
-
-        BOOKKEEPER-39: Bookie server failed to restart because of too many ledgers (more than ~50,000 ledgers) (Sijie via ivank)
-
-        BOOKKEEPER-125: log4j still used in some places (ivank)
-
-        BOOKKEEPER-62: Bookie can not start when encountering corrupted records (breed via ivank)
-
-        BOOKKEEPER-111: Document bookie recovery feature (ivank)
-
-        BOOKKEEPER-129: ZK_TIMEOUT typo in client/server configuration (Sijie via ivank)
-
-        BOOKKEEPER-22: Exception in LedgerCache causes addEntry request to fail (fpj via fpj)
-
-        BOOKKEEPER-5: Issue with Netty in BookKeeper (fpj and ivank via fpj)
-
-      hedwig-server/
-
-        BOOKKEEPER-43: NullPointException when releasing topic (Sijie Guo via breed)
-  
-        BOOKKEEPER-51: NullPointException at FIFODeliveryManager#deliveryPtrs (xulei via ivank)
-
-        BOOKKEEPER-63: Hedwig PubSubServer must wait for its Zookeeper client to be connected upon startup (mmorel via ivank)
-
-        BOOKKEEPER-100: Some hedwig tests have build errors (dferro via ivank)
-
-        BOOKKEEPER-69: ServerRedirectLoopException when a machine (hosts bookie server & hub server) reboot, which is caused by race condition of topic manager (Sijie, ivank via ivank)
-
-      hedwig-client/
- 
-        BOOKKEEPER-52: Message sequence confuse due to the subscribeMsgQueue@SubscribeResponseHandler (xulei via ivank)
-
-        BOOKKEEPER-88: derby doesn't like - in the topic names (breed via ivank)
-
-        BOOKKEEPER-71: hedwig c++ client does not build . (ivank)
-
-        BOOKKEEPER-107: memory leak in HostAddress of hedwig c++ client (Sijie Guo via ivank)
- 
-        BOOKKEEPER-80: subscription msg queue race condition in hedwig c++ client (Sijie Guo via ivank)
-
-        BOOKKEEPER-87: TestHedwigHub exhausts direct buffer memory with netty 3.2.4.Final (ivank via fpj)  
-
-        BOOKKEEPER-79: randomly startDelivery/stopDelivery will core dump in c++ hedwig client (Sijie Guo via ivank)
-
-        BOOKKEEPER-118: Hedwig client doesn't kill and remove old subscription channel after redirection. (Sijie Guo via ivank)
-
-        BOOKKEEPER-117: Support multi threads in hedwig cpp client to leverage multi-core hardware (Sijie Guo via ivank)
-
-        BOOKKEEPER-53: race condition of outstandingMsgSet@SubscribeResponseHandler (fpj via breed)
-
-    IMPROVEMENTS:
-
-      BOOKKEEPER-28: Create useful startup scripts for bookkeeper and hedwig (ivank)
-
-      BOOKKEEPER-26: Indentation is all messed up in the BookKeeper code (ivank via fpj)
-
-      BOOKKEEPER-41: Generation of packages for distribution (ivank via fpj)
-
-      BOOKKEEPER-65: fix dependencies on incompatible versions of netty (mmorel via ivank)
-
-      BOOKKEEPER-102: Make bookkeeper use ZK from temporary repo (ivank)
-
-      BOOKKEEPER-128: pom and script modifications required for generating release packages (ivank)
-
-      hedwig-client/
-
-        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 (Sijie Guo via breed)
-
-        BOOKKEEPER-109: Add documentation to describe how bookies flushes data (Sijie Guo via fpj)
-
-        BOOKKEEPER-119: Keys in configuration have inconsistent style (ivank via fpj)
-
diff --git a/src/assemble/bin.xml b/src/assemble/bin.xml
index b505a74..99a766c 100644
--- a/src/assemble/bin.xml
+++ b/src/assemble/bin.xml
@@ -46,11 +46,6 @@
   </fileSets>
   <files>
     <file>
-      <source>../CHANGES.txt</source>
-      <outputDirectory>/</outputDirectory>
-      <fileMode>644</fileMode>
-    </file>
-    <file>
       <source>../README.md</source>
       <outputDirectory>/</outputDirectory>
       <fileMode>644</fileMode>

-- 
To stop receiving notification emails like this one, please contact
['"commits@bookkeeper.apache.org" <co...@bookkeeper.apache.org>'].