protected static class TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble extends java.lang.Object implements ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode>, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode>
RoundRobinDistributionSchedule
,
which ensures that a write quorum should be covered by at least two racks.Modifier and Type | Class and Description |
---|---|
protected static interface |
TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet |
protected class |
TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSet |
protected class |
TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackQuorumCoverageSet |
Modifier and Type | Field and Description |
---|---|
(package private) int |
ackQuorumSize |
(package private) java.util.List<org.apache.bookkeeper.net.BookieNode> |
chosenNodes |
(package private) int |
distanceFromLeaves |
(package private) int |
ensembleSize |
(package private) int |
minNumRacksPerWriteQuorum |
(package private) int |
minRacksOrRegionsForDurability |
(package private) ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> |
parentEnsemble |
(package private) ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> |
parentPredicate |
(package private) java.util.Set<java.lang.String> |
racksOrRegions |
(package private) int |
writeQuorumSize |
Modifier | Constructor and Description |
---|---|
protected |
RRTopologyAwareCoverageEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
int distanceFromLeaves,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> parentEnsemble,
ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> parentPredicate,
int minNumRacksPerWriteQuorum) |
protected |
RRTopologyAwareCoverageEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
int distanceFromLeaves,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> parentEnsemble,
ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> parentPredicate,
java.util.Set<java.lang.String> racksOrRegions,
int minRacksOrRegionsForDurability,
int minNumRacksPerWriteQuorum) |
protected |
RRTopologyAwareCoverageEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
int distanceFromLeaves,
java.util.Set<java.lang.String> racksOrRegions,
int minRacksOrRegionsForDurability,
int minNumRacksPerWriteQuorum) |
protected |
RRTopologyAwareCoverageEnsemble(TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble that) |
Modifier and Type | Method and Description |
---|---|
boolean |
addNode(org.apache.bookkeeper.net.BookieNode node)
Append the new bookie node to the ensemble only if the ensemble doesnt
already contain the same bookie.
|
boolean |
apply(org.apache.bookkeeper.net.BookieNode candidate,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble) |
java.util.List<org.apache.bookkeeper.net.BookieSocketAddress> |
toList() |
java.lang.String |
toString() |
boolean |
validate()
Validates if an ensemble is valid.
|
final int distanceFromLeaves
final int ensembleSize
final int writeQuorumSize
final int ackQuorumSize
final int minRacksOrRegionsForDurability
final int minNumRacksPerWriteQuorum
final java.util.List<org.apache.bookkeeper.net.BookieNode> chosenNodes
final java.util.Set<java.lang.String> racksOrRegions
final ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> parentPredicate
final ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> parentEnsemble
protected RRTopologyAwareCoverageEnsemble(TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble that)
protected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)
protected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> parentPredicate, int minNumRacksPerWriteQuorum)
protected RRTopologyAwareCoverageEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, int distanceFromLeaves, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> parentPredicate, java.util.Set<java.lang.String> racksOrRegions, int minRacksOrRegionsForDurability, int minNumRacksPerWriteQuorum)
public boolean apply(org.apache.bookkeeper.net.BookieNode candidate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble)
apply
in interface ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode>
public boolean addNode(org.apache.bookkeeper.net.BookieNode node)
ITopologyAwareEnsemblePlacementPolicy.Ensemble
addNode
in interface ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode>
node
- new candidate bookie node.public java.util.List<org.apache.bookkeeper.net.BookieSocketAddress> toList()
toList
in interface ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode>
public boolean validate()
validate
in interface ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode>
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.