Package org.apache.bookkeeper.client
Interface BookieWatcher
- 
- All Known Implementing Classes:
 BookieWatcherImpl
public interface BookieWatcherWatch for Bookkeeper cluster status. 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Set<BookieId>getAllBookies()BookieAddressResolvergetBookieAddressResolver()java.util.Set<BookieId>getBookies()java.util.Set<BookieId>getReadOnlyBookies()booleanisBookieUnavailable(BookieId id)Determine if a bookie should be considered unavailable.java.util.List<BookieId>newEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, java.util.Map<java.lang.String,byte[]> customMetadata)Create an ensemble with given ensembleSize and writeQuorumSize.voidquarantineBookie(BookieId bookie)Quarantine bookie so it will not be preferred to be chosen for new ensembles.voidreleaseAllQuarantinedBookies()Release all quarantined bookies, let it can be chosen for new ensembles.BookieIdreplaceBookie(int ensembleSize, int writeQuorumSize, int ackQuorumSize, java.util.Map<java.lang.String,byte[]> customMetadata, java.util.List<BookieId> existingBookies, int bookieIdx, java.util.Set<BookieId> excludeBookies)Choose a bookie to replace bookie bookieIdx in existingBookies. 
 - 
 
- 
- 
Method Detail
- 
getBookies
java.util.Set<BookieId> getBookies() throws BKException
- Throws:
 BKException
 
- 
getAllBookies
java.util.Set<BookieId> getAllBookies() throws BKException
- Throws:
 BKException
 
- 
getReadOnlyBookies
java.util.Set<BookieId> getReadOnlyBookies() throws BKException
- Throws:
 BKException
 
- 
getBookieAddressResolver
BookieAddressResolver getBookieAddressResolver()
 
- 
isBookieUnavailable
boolean isBookieUnavailable(BookieId id)
Determine if a bookie should be considered unavailable.- Parameters:
 id- Bookie to check- Returns:
 - whether or not the given bookie is unavailable
 
 
- 
newEnsemble
java.util.List<BookieId> newEnsemble(int ensembleSize, int writeQuorumSize, int ackQuorumSize, java.util.Map<java.lang.String,byte[]> customMetadata) throws BKException.BKNotEnoughBookiesException
Create an ensemble with given ensembleSize and writeQuorumSize.- Parameters:
 ensembleSize- Ensemble SizewriteQuorumSize- Write Quorum Size- Returns:
 - list of bookies for new ensemble.
 - Throws:
 BKException.BKNotEnoughBookiesException
 
- 
replaceBookie
BookieId replaceBookie(int ensembleSize, int writeQuorumSize, int ackQuorumSize, java.util.Map<java.lang.String,byte[]> customMetadata, java.util.List<BookieId> existingBookies, int bookieIdx, java.util.Set<BookieId> excludeBookies) throws BKException.BKNotEnoughBookiesException
Choose a bookie to replace bookie bookieIdx in existingBookies.- Parameters:
 existingBookies- list of existing bookies.bookieIdx- index of the bookie in the list to be replaced.- Returns:
 - the bookie to replace.
 - Throws:
 BKException.BKNotEnoughBookiesException
 
- 
quarantineBookie
void quarantineBookie(BookieId bookie)
Quarantine bookie so it will not be preferred to be chosen for new ensembles.- Parameters:
 bookie-
 
- 
releaseAllQuarantinedBookies
void releaseAllQuarantinedBookies()
Release all quarantined bookies, let it can be chosen for new ensembles. 
 - 
 
 -