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)

        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)

