GitHub user sijie opened a pull request: https://github.com/apache/bookkeeper/pull/199
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: - [ ] Make sure the PR title is formatted like: `<Issue #>: Description of pull request` `e.g. Issue 123: Description ...` - [ ] Make sure tests pass via `mvn clean apache-rat:check install findbugs:check`. - [ ] Replace `<Issue #>` in the title with the actual Issue number, if there is one. --- You can merge this pull request into a Git repository by running: $ git pull https://github.com/sijie/bookkeeper client_changes/bitset Alternatively you can review and apply these changes as the patch at: https://github.com/apache/bookkeeper/pull/199.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #199 ---- commit 4b192f406aef57fbccc198f56820e30550368298 Author: Sijie Guo <sij...@twitter.com> Date: 2014-09-09T20:24:28Z Handle duplicated bookies on read entry or read lac with entry * change the HashSet to BitSet to use bookieIndex rather than InetSocketAddress to track the heardfrom bookies set. RB_ID=449651 ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---