GitHub user sijie opened a pull request:
https://github.com/apache/bookkeeper/pull/200
BookKeeper Client: 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.
---
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/sijie/bookkeeper
client_changes/speculative_policy
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/bookkeeper/pull/200.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 #200
----
commit 4b192f406aef57fbccc198f56820e30550368298
Author: Sijie Guo <[email protected]>
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
commit e79d62032af83bbd70dae1067768e81bb106677e
Author: Robin Dhamankar <[email protected]>
Date: 2014-11-04T01:22:35Z
BookKeeper Client: Speculative Read/Read LAC policy
- 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.
RB_ID=501463
----
---
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 [email protected] or file a JIRA ticket
with INFRA.
---