@InterfaceAudience.Private @InterfaceStability.Evolving public interface ITopologyAwareEnsemblePlacementPolicy<T extends org.apache.bookkeeper.net.Node> extends EnsemblePlacementPolicy
All the implementations of this interface are using NetworkTopology
for placing ensembles.
EnsemblePlacementPolicy| Modifier and Type | Interface and Description |
|---|---|
static interface |
ITopologyAwareEnsemblePlacementPolicy.Ensemble<T extends org.apache.bookkeeper.net.Node>
Ensemble used to hold the result of an ensemble selected for placement.
|
static interface |
ITopologyAwareEnsemblePlacementPolicy.Predicate<T extends org.apache.bookkeeper.net.Node>
Predicate used when choosing an ensemble.
|
EnsemblePlacementPolicy.PlacementPolicyAdherence, EnsemblePlacementPolicy.PlacementResult<T>| Modifier and Type | Method and Description |
|---|---|
void |
handleBookiesThatJoined(java.util.Set<org.apache.bookkeeper.net.BookieId> joinedBookies)
Handle bookies that joined.
|
void |
handleBookiesThatLeft(java.util.Set<org.apache.bookkeeper.net.BookieId> leftBookies)
Handle bookies that left.
|
EnsemblePlacementPolicy.PlacementResult<java.util.List<org.apache.bookkeeper.net.BookieId>> |
newEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
java.util.Set<org.apache.bookkeeper.net.BookieId> excludeBookies,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<T> parentEnsemble,
ITopologyAwareEnsemblePlacementPolicy.Predicate<T> parentPredicate)
Create an ensemble with parent ensemble.
|
void |
onBookieRackChange(java.util.List<org.apache.bookkeeper.net.BookieId> bookieAddressList)
Handle rack change for the bookies.
|
T |
selectFromNetworkLocation(java.util.Set<java.lang.String> excludeRacks,
java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies,
ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> predicate,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble,
boolean fallbackToRandom)
Select a node from cluster excluding excludeBookies and bookie nodes of
excludeRacks.
|
T |
selectFromNetworkLocation(java.lang.String networkLoc,
java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies,
ITopologyAwareEnsemblePlacementPolicy.Predicate<T> predicate,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<T> ensemble,
boolean fallbackToRandom)
Select a node from a given network location.
|
T |
selectFromNetworkLocation(java.lang.String networkLoc,
java.util.Set<java.lang.String> excludeRacks,
java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies,
ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> predicate,
ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble,
boolean fallbackToRandom)
Select a node from networkLoc rack excluding excludeBookies.
|
areAckedBookiesAdheringToPlacementPolicy, getStickyReadBookieIndex, initialize, isEnsembleAdheringToPlacementPolicy, newEnsemble, onClusterChanged, registerSlowBookie, reorderReadLACSequence, reorderReadSequence, replaceBookie, uninitalize, updateBookieInfoEnsemblePlacementPolicy.PlacementResult<java.util.List<org.apache.bookkeeper.net.BookieId>> newEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, java.util.Set<org.apache.bookkeeper.net.BookieId> excludeBookies, ITopologyAwareEnsemblePlacementPolicy.Ensemble<T> parentEnsemble, ITopologyAwareEnsemblePlacementPolicy.Predicate<T> parentPredicate) throws BKException.BKNotEnoughBookiesException
ensembleSize - ensemble sizewriteQuorumSize - write quorum sizeackQuorumSize - ack quorum sizeexcludeBookies - exclude bookiesparentEnsemble - parent ensembleBKException.BKNotEnoughBookiesExceptionT selectFromNetworkLocation(java.lang.String networkLoc, java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies, ITopologyAwareEnsemblePlacementPolicy.Predicate<T> predicate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<T> ensemble, boolean fallbackToRandom) throws BKException.BKNotEnoughBookiesException
networkLoc - network locationexcludeBookies - exclude bookies setpredicate - predicate to applyensemble - ensemblefallbackToRandom - fallbackToRandomBKException.BKNotEnoughBookiesExceptionT selectFromNetworkLocation(java.util.Set<java.lang.String> excludeRacks, java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies, ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> predicate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble, boolean fallbackToRandom) throws BKException.BKNotEnoughBookiesException
excludeRacks - excludeBookies - predicate - ensemble - fallbackToRandom - BKException.BKNotEnoughBookiesExceptionT selectFromNetworkLocation(java.lang.String networkLoc, java.util.Set<java.lang.String> excludeRacks, java.util.Set<org.apache.bookkeeper.net.Node> excludeBookies, ITopologyAwareEnsemblePlacementPolicy.Predicate<org.apache.bookkeeper.net.BookieNode> predicate, ITopologyAwareEnsemblePlacementPolicy.Ensemble<org.apache.bookkeeper.net.BookieNode> ensemble, boolean fallbackToRandom) throws BKException.BKNotEnoughBookiesException
networkLoc - excludeRacks - excludeBookies - predicate - ensemble - fallbackToRandom - BKException.BKNotEnoughBookiesExceptionvoid handleBookiesThatLeft(java.util.Set<org.apache.bookkeeper.net.BookieId> leftBookies)
leftBookies - bookies that leftvoid handleBookiesThatJoined(java.util.Set<org.apache.bookkeeper.net.BookieId> joinedBookies)
joinedBookies - bookies that joined.void onBookieRackChange(java.util.List<org.apache.bookkeeper.net.BookieId> bookieAddressList)
bookieAddressList - Copyright © 2011–2024 The Apache Software Foundation. All rights reserved.