Release 4.2.4 - 2015-01-12

  Backward compatible changes:

    BUGFIXES:

      BOOKKEEPER-815: Ledger fence state is lost when the ledger file is evicted (Charles Xie via ivank)

      BOOKKEEPER-799: Distribution schedule coverage sets don't take gaps in response lists into account when writequorum > ackquorum (ivank)

      BOOKKEEPER-795: Race condition causes writes to hang if ledger is fenced (sijie via ivank)

    IMPROVEMENTS:

      BOOKKEEPER-800: Expose whether a ledger is closed or not (ivank)


Release 4.2.3 - 2014-06-27

  Backward compatible changes:

    BUGFIXES:

     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-server:

        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-688: NPE exception in PerChannelBookieClient (ivank via sijie)

        BOOKKEEPER-602: we should have request timeouts rather than channel timeout in PerChannelBookieClient (Aniruddha via sijie)

        BOOKKEEPER-714: Logging channel exceptions in PerChannelBookieClient (sijie)

        BOOKKEEPER-726: PerChannelBookieClient should print address that it failed to connect to when it fails to correct (ivank via sijie)
       
        BOOKKEEPER-710: OpenLedgerNoRecovery should watch ensemble change. (sijie, ivank via fpj)

        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-744: Run the auditor bookie check periodically (ivank)

	BOOKKEEPER-755: Incorrect number of seconds specified in a day (Joseph Redfern via fpj)

        BOOKKEEPER-752: Deadlock on NIOServer shutdown (sijie via ivank)

        BOOKKEEPER-673: Ledger length can be inaccurate in failure case (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-708: Shade protobuf library to avoid incompatible versions (ivank)

        BOOKKEEPER-730: Shade pom file missing apache license header (ivank)

        BOOKKEEPER-725: AutoRecoveryMain should exit with error code if deathwatcher finds dead thread (ivank)

        BOOKKEEPER-750: Flake in BookieAutoRecoveryTest#testEmptyLedgerLosesQuorumEventually (ivank)

    IMPROVEMENT:

        BOOKKEEPER-747: Implement register/unregister LedgerMetadataListener in MSLedgerManagerFactory (fpj via sijie)

        BOOKKEEPER-746: 5 new shell commands. List ledgers, list metadata, list underreplicated, show auditor and simpletest (ivank)

Release 4.2.2 - 2013-10-02

  Backward compatible changes:

    BUGFIXES:

      BOOKKEEPER-635: jenkins build should highlight which lines of the patch cause raw analysis errors (ivank via sijie)

      BOOKKEEPER-684: ZK logging is oververbose, can cause oom in tests (ivank via fpj)

      bookkeeper-server:

        BOOKKEEPER-559: Fix occasional failure in AuditorBookieTest (ivank)

        BOOKKEEPER-556: BookieServerMXBean#getServerState makes no sense (ivank)

        BOOKKEEPER-583: Read from a ReadOnlyBookie fails if index fileinfo is not in ledger cache (vinay via sijie)

        BOOKKEEPER-585: Auditor logs noisily when a ledger has been deleted (ivank)

        BOOKKEEPER-581: Ledger recovery doesn't work correctly when recovery adds force changing ensembles. (sijie via ivank)

        BOOKKEEPER-595: Crash of inprocess autorecovery daemon should not take down the bookie (ivank)

        BOOKKEEPER-596: Ledgers are gc'ed by mistake in MSLedgerManagerFactory. (sijie via ivank)

        BOOKKEEPER-584: Data loss when ledger metadata is overwritten (sijie via ivank)

        BOOKKEEPER-577: BookieFailureTest uses sync/wait()/notify() incorrectly (ivank)

	BOOKKEEPER-626: BOOKIE_EXTRA_OPTS are added twice (vinay via fpj)

        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-623: LedgerChecker should avoid segments of closed ledger with higher start entryId than closed entry. (vinay via sijie)

        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-257: Ability to list all ledgers (fpj 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-621: NPE in FileInfo.moveToNewLocation (ivank 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-625: On OutOfMemoryError in NIOServerFactory thread bookie should shutdown (vinay via ivank)

        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-660: Logs too noisy on NIOServerFactory when client drops a connection (mmerli 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-664: Compaction increases latency on journal writes (ivank & sijie via ivank)

        BOOKKEEPER-679: Bookie should exit with non-zero if NIOServer crashes with Error (ivank)

        BOOKKEEPER-669: Race condition in ledger deletion and eviction from cache (rakeshr 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-627: LedgerDirsMonitor is missing thread name (rakeshr via ivank)

        BOOKKEEPER-685: Race in compaction algorithm from BOOKKEEPER-664 (ivank)

      hedwig-server:

        BOOKKEEPER-579: TestSubAfterCloseSub was put in a wrong package (sijie via ivank)

	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)

      hedwig-client:

        BOOKKEEPER-598: Fails to compile - RESUBSCRIBE_EXCEPTION conflict (Matthew Farrellee via ivank)

        BOOKKEEPER-603: Support Boost 1.53 for Hedwig Cpp Client (jiannan via ivank)

	BOOKKEEPER-600: shouldClaim flag isn't cleared for hedwig multiplex java client (sijie via fpj)

    NEW FEATURE:

      BOOKKEEPER-562: Ability to tell if a ledger is closed or not (fpj via ivank)

	
    IMPROVEMENT:
      BOOKKEEPER-618: Better resolution of bookie address (ivank via fpj)

Release 4.2.1 - 2013-02-19

  Backward compatible changes:

    BUGFIXES:

      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-554: fd leaking when move ledger index file (sijie via ivank)

        BOOKKEEPER-568: NPE during GC with HierarchicalLedgerManager (Matteo via sijie)

        BOOKKEEPER-569: Critical performance bug in InterleavedLedgerStorage (ivank 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)

        BOOKEEPER-22: Exception in LedgerCache causes addEntry request to fail (fpj via fpj)

        BOOKEEPER-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)

