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.BookieId> |
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.EnsembleaddNode in interface ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode>node - new candidate bookie node.public java.util.List<org.apache.bookkeeper.net.BookieId> 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.ObjectCopyright © 2011–2024 The Apache Software Foundation. All rights reserved.