Package org.apache.bookkeeper.client
Class TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble
- java.lang.Object
- 
- org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble
 
- 
- All Implemented Interfaces:
- ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode>,- ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode>
 - Enclosing class:
- TopologyAwareEnsemblePlacementPolicy
 
 protected static class TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble extends java.lang.Object implements ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode>, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> A predicate checking the rack coverage for write quorum inRoundRobinDistributionSchedule, which ensures that a write quorum should be covered by at least two racks.
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static interfaceTopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSetprotected classTopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSetprotected classTopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackQuorumCoverageSet
 - 
Field SummaryFields Modifier and Type Field Description (package private) intackQuorumSize(package private) java.util.List<BookieNode>chosenNodes(package private) intdistanceFromLeaves(package private) intensembleSize(package private) intminNumRacksPerWriteQuorum(package private) intminRacksOrRegionsForDurability(package private) ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode>parentEnsemble(package private) ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode>parentPredicate(package private) java.util.Set<java.lang.String>racksOrRegions(package private) intwriteQuorumSize
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedRRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)protectedRRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode> parentPredicate, int minNumRacksPerWriteQuorum)protectedRRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode> parentPredicate, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)protectedRRTopologyAwareCoverageEnsemble(TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble that)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddNode(BookieNode node)Append the new bookie node to the ensemble only if the ensemble doesnt already contain the same bookie.booleanapply(BookieNode candidate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> ensemble)java.util.List<BookieId>toList()java.lang.StringtoString()booleanvalidate()Validates if an ensemble is valid.
 
- 
- 
- 
Field Detail- 
distanceFromLeavesfinal int distanceFromLeaves 
 - 
ensembleSizefinal int ensembleSize 
 - 
writeQuorumSizefinal int writeQuorumSize 
 - 
ackQuorumSizefinal int ackQuorumSize 
 - 
minRacksOrRegionsForDurabilityfinal int minRacksOrRegionsForDurability 
 - 
minNumRacksPerWriteQuorumfinal int minNumRacksPerWriteQuorum 
 - 
chosenNodesfinal java.util.List<BookieNode> chosenNodes 
 - 
racksOrRegionsfinal java.util.Set<java.lang.String> racksOrRegions 
 - 
parentPredicatefinal ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode> parentPredicate 
 - 
parentEnsemblefinal ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> parentEnsemble 
 
- 
 - 
Constructor Detail- 
RRTopologyAwareCoverageEnsembleprotected RRTopologyAwareCoverageEnsemble(TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble that) 
 - 
RRTopologyAwareCoverageEnsembleprotected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)
 - 
RRTopologyAwareCoverageEnsembleprotected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode> parentPredicate, int minNumRacksPerWriteQuorum)
 - 
RRTopologyAwareCoverageEnsembleprotected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode> parentPredicate, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)
 
- 
 - 
Method Detail- 
applypublic boolean apply(BookieNode candidate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode> ensemble) - Specified by:
- applyin interface- ITopologyAwareEnsemblePlacementPolicy.Predicate<BookieNode>
 
 - 
addNodepublic boolean addNode(BookieNode node) Description copied from interface:ITopologyAwareEnsemblePlacementPolicy.EnsembleAppend the new bookie node to the ensemble only if the ensemble doesnt already contain the same bookie.- Specified by:
- addNodein interface- ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode>
- Parameters:
- node- new candidate bookie node.
- Returns:
- true if the node was added
 
 - 
toListpublic java.util.List<BookieId> toList() - Specified by:
- toListin interface- ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode>
- Returns:
- list of addresses representing the ensemble
 
 - 
validatepublic boolean validate() Validates if an ensemble is valid.- Specified by:
- validatein interface- ITopologyAwareEnsemblePlacementPolicy.Ensemble<BookieNode>
- Returns:
- true if the ensemble is valid; false otherwise
 
 - 
toStringpublic java.lang.String toString() - Overrides:
- toStringin class- java.lang.Object
 
 
- 
 
-