Ghatage opened a new pull request #2495:
URL: https://github.com/apache/bookkeeper/pull/2495


   If you have a very small cluster, 3 bookies, you must use **2-2-2** as 
replication parameters in order to guarantee durability and tolerate the 
failure of at least one bookie.
   With this situation you cannot leverage the striping feature of BookKeeper, 
when **ensembleSize > writeQuorumSize**.
   
   With striping you can distribute your data among all of the bookies, and use 
better the available disk space.
   You can also exploit the ability to write to/read from more disks (bookies) 
in parallel, achieving better overall performances.
   
   With this change we introduce a new client option "opportunistic striping", 
that basically tells to the BK client to use as much bookies as configured in 
the ensembleSize parameter in the best case scenario, and to use less and less 
bookies, up to the configured writeQuorumSize.
   
   - New ClientConfiguration option "opportunisticStriping"
   - in case of opportunisticStriping the client is allowed to use less bookies 
than the requested ensemble size, up to writeQuorumSize
   - add test cases
   
   Reviewers: Nicolò Boschi <[email protected]>, Anup Ghatage 
<[email protected]>
   
   This closes #2493 from eolivelli/fix/bp-43-impl-auto-striping
   
   Descriptions of the changes in this PR:
   
   
   
   ### Motivation
   
   (Explain: why you're making that change, what is the problem you're trying 
to solve)
   
   ### Changes
   
   (Describe: what changes you have made)
   
   Master Issue: #<master-issue-number>
   
   > ---
   > In order to uphold a high standard for quality for code contributions, 
Apache BookKeeper runs various precommit
   > checks for pull requests. A pull request can only be merged when it passes 
precommit checks.
   >
   > ---
   > Be sure to do all of the following to help us incorporate your contribution
   > quickly and easily:
   >
   > If this PR is a BookKeeper Proposal (BP):
   >
   > - [ ] Make sure the PR title is formatted like:
   >     `<BP-#>: Description of bookkeeper proposal`
   >     `e.g. BP-1: 64 bits ledger is support`
   > - [ ] Attach the master issue link in the description of this PR.
   > - [ ] Attach the google doc link if the BP is written in Google Doc.
   >
   > Otherwise:
   > 
   > - [ ] 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 
spotbugs:check`.
   > - [ ] Replace `<Issue #>` in the title with the actual Issue number.
   > 
   > ---
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to