@StatsDoc(name="bookie_watcher",
help="Bookie watcher related stats")
class BookieWatcherImpl
extends java.lang.Object
implements BookieWatcher
| Modifier and Type | Field and Description |
|---|---|
(package private) com.google.common.cache.Cache<org.apache.bookkeeper.net.BookieId,java.lang.Boolean> |
quarantinedBookies |
| Constructor and Description |
|---|
BookieWatcherImpl(ClientConfiguration conf,
EnsemblePlacementPolicy placementPolicy,
org.apache.bookkeeper.discover.RegistrationClient registrationClient,
org.apache.bookkeeper.proto.BookieAddressResolver bookieAddressResolver,
org.apache.bookkeeper.stats.StatsLogger statsLogger) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<org.apache.bookkeeper.net.BookieId> |
getAllBookies() |
org.apache.bookkeeper.proto.BookieAddressResolver |
getBookieAddressResolver() |
java.util.Set<org.apache.bookkeeper.net.BookieId> |
getBookies() |
java.util.Set<org.apache.bookkeeper.net.BookieId> |
getReadOnlyBookies() |
void |
initialBlockingBookieRead()
Blocks until bookies are read from zookeeper, used in the
BookKeeper constructor. |
boolean |
isBookieUnavailable(org.apache.bookkeeper.net.BookieId id)
Determine if a bookie should be considered unavailable.
|
java.util.List<org.apache.bookkeeper.net.BookieId> |
newEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
java.util.Map<java.lang.String,byte[]> customMetadata)
Create an ensemble with given ensembleSize and writeQuorumSize.
|
void |
quarantineBookie(org.apache.bookkeeper.net.BookieId bookie)
Quarantine bookie so it will not be preferred to be chosen for new ensembles.
|
org.apache.bookkeeper.net.BookieId |
replaceBookie(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
java.util.Map<java.lang.String,byte[]> customMetadata,
java.util.List<org.apache.bookkeeper.net.BookieId> existingBookies,
int bookieIdx,
java.util.Set<org.apache.bookkeeper.net.BookieId> excludeBookies)
Choose a bookie to replace bookie bookieIdx in existingBookies.
|
final com.google.common.cache.Cache<org.apache.bookkeeper.net.BookieId,java.lang.Boolean> quarantinedBookies
public BookieWatcherImpl(ClientConfiguration conf, EnsemblePlacementPolicy placementPolicy, org.apache.bookkeeper.discover.RegistrationClient registrationClient, org.apache.bookkeeper.proto.BookieAddressResolver bookieAddressResolver, org.apache.bookkeeper.stats.StatsLogger statsLogger)
public java.util.Set<org.apache.bookkeeper.net.BookieId> getBookies()
throws BKException
getBookies in interface BookieWatcherBKExceptionpublic java.util.Set<org.apache.bookkeeper.net.BookieId> getAllBookies()
throws BKException
getAllBookies in interface BookieWatcherBKExceptionpublic org.apache.bookkeeper.proto.BookieAddressResolver getBookieAddressResolver()
getBookieAddressResolver in interface BookieWatcherpublic java.util.Set<org.apache.bookkeeper.net.BookieId> getReadOnlyBookies()
throws BKException
getReadOnlyBookies in interface BookieWatcherBKExceptionpublic boolean isBookieUnavailable(org.apache.bookkeeper.net.BookieId id)
isBookieUnavailable in interface BookieWatcherid - Bookie to checkpublic void initialBlockingBookieRead()
throws BKException
BookKeeper constructor.BKException - when failed to read bookiespublic java.util.List<org.apache.bookkeeper.net.BookieId> newEnsemble(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
java.util.Map<java.lang.String,byte[]> customMetadata)
throws BKException.BKNotEnoughBookiesException
BookieWatchernewEnsemble in interface BookieWatcherensembleSize - Ensemble SizewriteQuorumSize - Write Quorum SizeBKException.BKNotEnoughBookiesExceptionpublic org.apache.bookkeeper.net.BookieId replaceBookie(int ensembleSize,
int writeQuorumSize,
int ackQuorumSize,
java.util.Map<java.lang.String,byte[]> customMetadata,
java.util.List<org.apache.bookkeeper.net.BookieId> existingBookies,
int bookieIdx,
java.util.Set<org.apache.bookkeeper.net.BookieId> excludeBookies)
throws BKException.BKNotEnoughBookiesException
BookieWatcherreplaceBookie in interface BookieWatcherexistingBookies - list of existing bookies.bookieIdx - index of the bookie in the list to be replaced.BKException.BKNotEnoughBookiesExceptionpublic void quarantineBookie(org.apache.bookkeeper.net.BookieId bookie)
quarantineBookie in interface BookieWatcherbookie - Copyright © 2011–2024 The Apache Software Foundation. All rights reserved.