Permalink
Commits on Jul 25, 2017
  1. ISSUE #247: Missing JavaDoc for classes

    Descriptions of the changes in this PR:
    
    - Addressed the `TODO` comments by adding JavaDoc
    - Make sure there is a Github issue for each unaddressed `TODO` comment
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@apache.org>
    
    This closes #285 from sijie/issue_247, closes #247
    sijie committed with Enrico Olivelli Jul 25, 2017
  2. BOOKKEEPER-1044: Entrylogger is not readding rolled logs back to the …

    …logChannelsToFlush list when exception happens while trying to flush rolled logs
    
    Descriptions of the changes in this PR:
    
    This is a straightforward fix to add unflushed list of entry log files back to flushed list.
    
    Test is missing at this point because it is a bit complicated to test this without proper mocking. I would defer adding the test later and creating a github issue later on if it makes sense.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@apache.org>
    
    This closes #286 from sijie/BOOKKEEPER-1044
    sijie committed with Enrico Olivelli Jul 25, 2017
Commits on Jul 24, 2017
  1. Issue#243 - asyncAddEntry fails with NPE with LedgerHandlerAdv

    Fix asyncAddEntry on LedgerHandleAdv and clean up the asyncAddEntry API, drops BKException which is never thrown in asynch functions
    
    Author: Enrico Olivelli <eolivelli@apache.org>
    
    Reviewers: Sijie Guo
    
    This closes #244 from eolivelli/asyncadd-adv, closes #243
    Enrico Olivelli committed Jul 24, 2017
  2. Provide a minimal test case using v2wireprotocol option

    Add testcases on addEntry/readEntries and basic fencing
    
    Author: Enrico Olivelli <eolivelli@apache.org>
    
    Reviewers: Sijie Guo
    
    This closes #273 from eolivelli/issue-272-testv2
    Enrico Olivelli committed Jul 24, 2017
Commits on Jul 21, 2017
  1. ISSUE #263: Enable request rate limiter in zookeeper client

    Descriptions of the changes in this PR:
    
    Eanble request rate limiter in zookeeper client. The rate limiter logic is in place, but is never enabled. This change is to expose the settings in configurations and enable them in zookeeper client at both client and server.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>
    
    This closes #264 from sijie/interface_syncs, closes #263
    sijie committed with jiazhai Jul 21, 2017
  2. ISSUE #267: Bookie should serve in read only mode during shutting down.

    Descriptions of the changes in this PR:
    
    Set the bookie in readonly mode during shutting down. (contributed by yzang)
    
    Author: Yiming Zang <yzang@twitter.com>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>
    
    This closes #268 from sijie/readonly_on_shutdown, closes #267
    Yiming Zang committed with jiazhai Jul 21, 2017
Commits on Jul 20, 2017
  1. BOOKKEEPER-1027: Cleanup README

    Descriptions of the changes in this PR:
    
    - Move README to README.md (written it in markdown syntax)
    - Organized the README as below:
      - what is bookkeeper and what it can be used for
      - getting started
      - documentation
      - contribution
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli, Jia Zhai
    
    This closes #248 from sijie/update_readme
    sijie committed with Enrico Olivelli Jul 20, 2017
Commits on Jul 19, 2017
  1. ISSUE #258: BookieInitializationTest.testRegNodeExistsAfterSessionTim…

    …eOut failed
    
    Descriptions of the changes in this PR:
    
    Construct new zookeeper client to ensure the tests get new zookeeper session.
    
    (this change is based on 77c7721 )
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@apache.org>
    
    This closes #259 from sijie/issue_258, closes #258
    sijie committed with Enrico Olivelli Jul 19, 2017
  2. ISSUE #256: BookieInitializationTest.testWithDiskFullAndAbilityToCrea…

    …teNewIndexFile failed
    
    Descriptions of the changes in this PR:
    
    in c49621b, we allow creating FileInfo even when disk is full to allow fence requests succeed at this case.
    
    it is conflicted with Charan's change. Since there is already a setting to configure the min usable size to allow index file creation. if we configure that to be zero, it is same as allowing index file creation even disks are full. so removing the fallback logic introduced in c49621b.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Charan Reddy Guttapalem, Enrico Olivelli
    
    This closes #257 from sijie/issue_256, closes #256
    sijie committed with Enrico Olivelli Jul 19, 2017
Commits on Jul 18, 2017
  1. ISSUE #249: Organize findbugs and checkstyle files in buildtools module

    Descriptions of the changes in this PR:
    
    Organize findbugs and checkstyle files in buildtools module
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Jia Zhai <None>, Matteo Merli <None>
    
    This closes #250 from sijie/buildtools, closes #249
    sijie committed with jiazhai Jul 18, 2017
  2. BOOKKEEPER-980: BookKeeper Tools doesn't process the argument correctly

    Descriptions of the changes in this PR:
    
    Fix the issue described in [BOOKKEEPER-980](https://issues.apache.org/jira/browse/BOOKKEEPER-980).
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Matteo Merli <None>, Venkateswararao Jujjuri (JV) <None>
    
    This closes #255 from sijie/BOOKKEEPER-980
    sijie committed with jiazhai Jul 18, 2017
  3. ISSUE #252: Enable four-letter-words zookeeper commands in localbookie

    Descriptions of the changes in this PR:
    
    Enable four-letter-words zookeeper commands in localbookie
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>, Matteo Merli <None>
    
    This closes #253 from sijie/fix_4letters_issue, closes #252
    sijie committed with jiazhai Jul 18, 2017
  4. ISSUE #230: Add Checkstyle to the build process (Part 2)

    Fix issues checkstyle reported in
      - org.apache.bookkeeper.auth
      - org.apache.bookkeeper.bookie
    
    Checkstyle is not added to the bookkeeper-server yet.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [X] Make sure the PR title is formatted like:
        `<Issue # or BOOKKEEPER-#>: Description of pull request`
        `e.g. Issue 123: Description ...`
        `e.g. BOOKKEEPER-1234: Description ...`
    - [ ] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [X] Replace `<Issue # or BOOKKEEPER-#>` in the title with the actual Issue/JIRA number.
    
    ---
    
    Author: sigee <sigee15@gmail.com>
    
    Reviewers: Jia Zhai <None>, Sijie Guo <None>
    
    This closes #234 from sigee/checkstyle2, closes #230
    sigee committed with jiazhai Jul 18, 2017
Commits on Jul 17, 2017
  1. BOOKKEEPER-1095: Long Poll - Server and Client Side Changes

    Descriptions of the changes in this PR:
    
    - changes on FileInfo to support notifications on LAC changes
    - a new ReadEntryLongPollV3 processor to process readEntry requests with long poll flags
    - a new public API for long poll: readLastConfirmedAndEntry. if it is reading beyond the LAC, it will become a long poll request and wait for advancing LAC on bookie side; if it isn't reading beyond the LAC it will be normal reads.
    - also have a speculative mechanism for long poll reads.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>
    
    This closes #220 from sijie/BOOKKEEPER-1094
    sijie committed Jul 17, 2017
  2. ISSUE #237: Upgrade to ZooKeeper 3.5.3-BETA

    Descriptions of the changes in this PR:
    
    Update ZooKeeper dependency from 3.5.1-alpha to 3.5.3-beta.
    This will enable ZooKeeper over SSL
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [x ] Make sure the PR title is formatted like:
        `<Issue # or BOOKKEEPER-#>: Description of pull request`
        `e.g. Issue 123: Description ...`
        `e.g. BOOKKEEPER-1234: Description ...`
    - [ x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [ x] Replace `<Issue # or BOOKKEEPER-#>` in the title with the actual Issue/JIRA number.
    
    ---
    
    Author: Enrico Olivelli <eolivelli@apache.org>
    
    Reviewers: Jia Zhai <None>, Sijie Guo <sijie@apache.org>
    
    This closes #238 from eolivelli/zookeeper-3.5.3, closes #237
    Enrico Olivelli committed with sijie Jul 17, 2017
  3. Add Checkstyle to the build process (Part 1)

    Add checkstyle to
    - bookkeeper-benchmark
    - Stats API for bookkeeper
    - Stats provider for codahale metrics
    - Stats provider for Prometheus
    - Stats provider for Finagle stats
    - Stats provider for twitter-ostrich package
    - Stats provider for twitter-stats package
    
    and fix issues checkstyle reported.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [X] Make sure the PR title is formatted like:
        `<Issue # or BOOKKEEPER-#>: Description of pull request`
        `e.g. Issue 123: Description ...`
        `e.g. BOOKKEEPER-1234: Description ...`
    - [ ] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [X] Replace `<Issue # or BOOKKEEPER-#>` in the title with the actual Issue/JIRA number.
    
    ---
    
    Author: sigee <sigee15@gmail.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>, Sijie Guo <sijie@apache.org>
    
    This closes #231 from sigee/checkstyle
    sigee committed with sijie Jul 17, 2017
  4. ISSUE #228: BookKeeper Server: Index Page Management Memory Growth

    Descriptions of the changes in this PR:
    
    ** Improvements **
    
    - Never delete a LedgerEntryPage that has been allocated.
    - Track free LedgerEntryPage in a separate list
    - Use pages from the free pages list as though they were being freshly allocated
    - This guarantees that the direct buffer allocation never exceeds the allocated space for index pages
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>
    
    This closes #229 from sijie/lru_related_changes, closes #228
    sijie committed Jul 17, 2017
  5. ISSUE #208: Improve ledger fence logic

    Descriptions of the changes in this PR:
    
    Problem:
        When bookie receive a fence request and couldn't find any writable dirs for the new index file, it will throw exception. This behavior can be improved, because as long as ledger fence request be persisted in Journal, we can say the fence request succeed. It should not depends on the success of flushing new index file.
    
    Solution:
    
    - Add option to fall back to pick from all directories regardless of writable or not when we getFileInfo for a new ledger
    - Return success only when ledger fence request has been persisted in Journal
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [x] Make sure the PR title is formatted like:
        `<Issue #>: Description of pull request`
        `e.g. Issue 123: Description ...`
    - [x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [x] Replace `<Issue #>` in the title with the actual Issue number, if there is one.
    
    ---
    
    Author: Sijie Guo <sijie@apache.org>
    Author: Yiming Zang <yzang@twitter.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>
    
    This closes #205 from sijie/improve_fencing_behavior, closes #208
    sijie committed Jul 17, 2017
Commits on Jul 16, 2017
  1. ISSUE #232: Add code-coverage report

    Introduce Cobertura And Coveralls.io plugins in order to run code coverage reports
    
    Author: Enrico Olivelli <eolivelli@apache.org>
    
    Reviewers: Sijie Guo <sijie@apache.org>
    
    This closes #233 from eolivelli/code-coverage, closes #232
    Enrico Olivelli committed with eolivelli Jul 16, 2017
Commits on Jul 14, 2017
  1. y

    Descriptions of the changes in this PR:
    Handle handle non-ascii chars in username in merge script.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [X] Make sure the PR title is formatted like:
        `<Issue # or BOOKKEEPER-#>: Description of pull request`
        `e.g. Issue 123: Description ...`
        `e.g. BOOKKEEPER-1234: Description ...`
    - [X] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [X] Replace `<Issue # or BOOKKEEPER-#>` in the title with the actual Issue/JIRA number.
    
    ---
    
    Author: jiazhai <zhaijia@live.com>
    
    Reviewers: Enrico Olivelli <eolivelli@apache.org>
    
    This closes #242 from jiazhai/issue_241
    jiazhai committed with Enrico Olivelli Jul 14, 2017
Commits on Jul 13, 2017
Commits on Jul 9, 2017
  1. ISSUE #235: Setter for JournalMaxGroupWaitMSec/JOURNAL_MAX_GROUP_WAIT_M…

    Add a setter for JournalMaxGroupWaitMSec configuration property
    
    - [x] Make sure the PR title is formatted like:
        `<Issue # or BOOKKEEPER-#>: Description of pull request`
        `e.g. Issue 123: Description ...`
        `e.g. BOOKKEEPER-1234: Description ...`
    - [x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [x] Replace `<Issue # or BOOKKEEPER-#>` in the title with the actual Issue/JIRA number.
    
    ---
    
    Author: Enrico Olivelli <eolivelli@apache.org>
    
    Reviewers: Jia Zhai <None>
    
    This closes #236 from eolivelli/JOURNAL_MAX_GROUP_WAIT_MSEC, closes #235
    Enrico Olivelli committed with jiazhai Jul 9, 2017
Commits on Jul 7, 2017
  1. BOOKKEEPER-1033: Handle DirsPartitionDuplication

    - Provide configuration for allowDirsPartitionDuplication
    - while calculating total disk metrics account Partition Duplication
    
    Author: cguttapalem <cguttapalem@salesforce.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Sijie Guo <guosijie@gmail.com>
    
    This closes #189 from reddycharan/dirspartitionduplication and squashes the following commits:
    
    99fc6fc [cguttapalem] BOOKKEEPER-1033: Handle DirsPartitionDuplication
    1d45397 [cguttapalem] BOOKKEEPER-1033: Handle DirsPartitionDuplication
    cguttapalem committed Jul 7, 2017
  2. BOOKKEEPER-1028 and BOOKKEEPER-1029

        BOOKKEEPER-1028: inc/excl opts listunderreplicated
    
        - Introduce including and excluding BookieId options
        for listunderreplicatedLedgers
    
        - But there is limitation that, since replicaslist wont be
        updated in underreplicatedledger zNode there is possibility
        of stale information
    
          ---------------------------------------------------------
    
        BOOKKEEPER-1029: BookieDecommision Workflow
    
        - LostBookieRecoveryDelay config param is stored in ZK
        - if LostBookieRecoveryDelay is reset to same value then it force triggers audit immediately
        - Added logic to trigger immediately or schedule pending audittask depending on the changed value in ZK
        - good number of testcases validating focetrigger/reschedluing audittask
        - added bookieshell command to get/set LostBookieRecoveryDelay from ZK
        - added bookieshell command to triggeraudit by resetting LostBookieRecoveryDelay
        - added decommissionbookie bkshell command, which validates the complete replication of ledgers stored in the bookie
    
    Author: cguttapalem <cguttapalem@salesforce.com>
    Author: Charan Reddy Guttapalem <cguttapalem@salesforce.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Sijie Guo <guosijie@gmail.com>
    
    This closes #127 from reddycharan/listunderreplicatedpredicate and squashes the following commits:
    
    34bacf3 [cguttapalem] BOOKKEEPER-1029: BookieDecommision Workflow
    eb43ec4 [Charan Reddy Guttapalem] BOOKKEEPER-1029: BookieDecommision Workflow
    fcb399d [cguttapalem] BOOKKEEPER-1028: inc/excl opts listunderreplicated
    cguttapalem committed Jul 7, 2017
Commits on Jul 4, 2017
  1. Add missed tests for SortedLedgerStorage

    Added two missed tests for SortedLedgerStorage. It was missed when we (twitter) merged the SortedLedgerStorage back.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli, Jia Zhai
    
    This closes #227 from sijie/more_memory_table_related_tests
    sijie committed with Enrico Olivelli Jul 4, 2017
  2. BOOKKEEPER-772: Reorder Read Sequence

    Descriptions of the changes in this PR:
    
        - for rackware placement policy, the bookie in the same rack will be preferred.
        - for region-aware placement policy, the bookie in the same region will be preferred.
        - for any readonly or unavailable (high score in bookie failure history) bookies, they will be at the last position in the sequence.
    
    This change is based on #220 . Please review gitsha 1f7dccd for the reorder change.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <None>, Matteo Merli <None>
    
    This closes #224 from sijie/reorder_reads
    sijie committed with jiazhai Jul 4, 2017
  3. Issue 223: Code cleanups

    Descriptions of the changes in this PR:
    
    There are some different kind of cleanups by commits. To make the code more readeable and improve code quality and improve performance in some cases.
    E.g.:
     - Remove unnecessary semicolons
     - Remove unused/unneeded/duplicated imports
    - Replace l to L in long literals
    - Remove boxing on an already boxed value
    - Replace iterations to bulk operations
    
    Author: sigee <sigee15@gmail.com>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>, Sijie Guo <None>
    
    This closes #217 from sigee/cleanups
    sigee committed with jiazhai Jul 4, 2017
  4. Issue 225: Remove Parameterized from CompactionTest

    Descriptions of the changes in this PR:
    
    - Split the CompactionTest into two, one is by bytes, while the other one is by entries.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>
    
    This closes #226 from sijie/compaction_tests
    sijie committed with jiazhai Jul 4, 2017
Commits on Jul 1, 2017
  1. ISSUE #221: Make netty server shutdown idempotent

    Descriptions of the changes in this PR:
    
    (see the detailed discussion in #221 )
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <None>, Jia Zhai <None>
    
    This closes #222 from sijie/make_shutdown_idempotent, closes #221
    sijie committed with jiazhai Jul 1, 2017
Commits on Jun 30, 2017
  1. ISSUE #198: TestBackwardCompat.testCompat410 often fails due to io.ne…

    …tty.util.IllegalReferenceCountException
    
    Descriptions of the changes in this PR:
    
    Problem:
    
    in TestBackwardCompat#testCompact400, the test is to verify the current client can't talk to a 4.0.0 server.
    
    The 4.5.0 client is sending a protobuf encoded request to 4.0.0 server. The 4.0.0 server will interpret the 4.5.0 protobuf encoded request, but it will realize this is bad request and sending v2 protocol encoded response. because the request is a bad request, 4.0.0 server sent a response back with unknown op code.
    
    In current v2 ResponseEnDecoder (listed as below), when it doesn't know the op code, it will return the buffer to the channel. this might cause the misbehavior in the channel pipeline to decrement reference count.
    
    Solution:
    
    throw exception in the EnDeCoder when receiving unknown op code. so the netty can close the connection, error out the pending requests and cleaning up the resources.
    
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Matteo Merli <None>
    
    This closes #219 from sijie/issue_198, closes #198
    sijie committed with jiazhai Jun 30, 2017
Commits on Jun 29, 2017
  1. BOOKKEEPER-759: Delay Ensemble Change & Disable Ensemble Change

    Descriptions of the changes in this PR:
    
    This pull request contains the changes around ensemble change.
    
    - Delay Ensemble Change: Provide a flag to allow delay ensemble change. if that is set to change, will not do ensemble change until it breaks ack quorum requirements.
    - Disable Ensemble Change: Provide a runtime feature flag to allow disabling ensemble change. The ensemble change behavior can be disabled on-the-fly via the FeatureProvider.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [x] Make sure the PR title is formatted like:
        `<Issue #>: Description of pull request`
        `e.g. Issue 123: Description ...`
    - [x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [x] Replace `<Issue #>` in the title with the actual Issue number, if there is one.
    
    ---
    
    Author: Sijie Guo <sijieg@twitter.com>
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Matteo Merli <mmerli@apache.org>
    
    This closes #202 from sijie/client_changes/delay_ensemble_changes
    Sijie Guo committed with sijie Jun 29, 2017
  2. ISSUE #209: Introduce Speculative Read/Read LAC policy

    Descriptions of the changes in this PR:
    
        - Separate out the logic that determines when speculative reads are scheduled from the individual requests into a separate SpeculativeRequestExecutionPolicy
        - Implement the default speculative read execution policy based on the current mechanism of using first and max timeout
        - Initialize the policy once in the BookKeeper object and use it for individual requests by keeping information about the requests in the call chain.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [x] Make sure the PR title is formatted like:
        `<Issue #>: Description of pull request`
        `e.g. Issue 123: Description ...`
    - [x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [x] Replace `<Issue #>` in the title with the actual Issue number, if there is one.
    
    ---
    
    Author: Sijie Guo <sijieg@twitter.com>
    Author: Robin Dhamankar <rdhamankar@twitter.com>
    Author: Sijie Guo <sijie@apache.org>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>
    
    This closes #200 from sijie/client_changes/speculative_policy, closes #209
    Sijie Guo committed with sijie Jun 29, 2017
  3. ISSUE #207: change the HashSet to BitSet to handle duplicated bookies…

    … on reading entries
    
    Descriptions of the changes in this PR:
    
    Problem:
    
    If there happens to have duplicated bookies in same ledger (it happened before when ensemble change still has problem), the read doesn't work as expected. It hang forever.
    
    Solution:
    
    Change the HashSet to BitSet to use bookieIndex rather than InetSocketAddress to track the heardfrom bookies set.
    
    ---
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
    - [x] Make sure the PR title is formatted like:
        `<Issue #>: Description of pull request`
        `e.g. Issue 123: Description ...`
    - [x] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`.
    - [x] Replace `<Issue #>` in the title with the actual Issue number, if there is one.
    
    ---
    
    Author: Sijie Guo <sijie@apache.org>
    Author: Sijie Guo <sijieg@twitter.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>, Matteo Merli <mmerli@apache.org>
    
    This closes #199 from sijie/client_changes/bitset, closes #207
    sijie committed Jun 29, 2017
  4. Issue 212: change github PR template to adjust both issue# and jira# (#…

    …213)
    
    change PR template to adjust both issue# and jira#
    
    closes #212
    jiazhai committed with eolivelli Jun 29, 2017
Commits on Jun 28, 2017
  1. BOOKKEEPER-1086: ZkUnderreplicationManager cache watcher

    Previously, getLedgerToReplicate left watches each time it traversed the
    tree until it found a suitable replication target.  Since we don't have
    a way of canceling watches, these watches tended to get abandoned,
    particularly on interior nodes, which aren't changed much.  Thus,
    over time, some nodes would build up a very large number of watch.
    
    Instead, introduce a caching mechanism to remember outstanding watches
    and avoid ever creating two watches on the same node.
    
    Author: Samuel Just <sjustsalesforce.com>
    
    Author: Samuel Just <sjust@salesforce.com>
    
    Reviewers: Enrico Olivelli <eolivelli@gmail.com>, Jia Zhai <None>, Sijie Guo <sijie@apache.org>
    
    This closes #193 from athanatos/forupstream/BOOKKEEPER-1098
    athanatos committed with sijie Jun 28, 2017