Interface BookieWatcher

  • All Known Implementing Classes:
    BookieWatcherImpl

    public interface BookieWatcher
    Watch for Bookkeeper cluster status.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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()  
      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.
      void releaseAllQuarantinedBookies()
      Release all quarantined bookies, let it can 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.
    • Method Detail

      • getBookies

        java.util.Set<org.apache.bookkeeper.net.BookieId> getBookies()
                                                              throws BKException
        Throws:
        BKException
      • getAllBookies

        java.util.Set<org.apache.bookkeeper.net.BookieId> getAllBookies()
                                                                 throws BKException
        Throws:
        BKException
      • getReadOnlyBookies

        java.util.Set<org.apache.bookkeeper.net.BookieId> getReadOnlyBookies()
                                                                      throws BKException
        Throws:
        BKException
      • getBookieAddressResolver

        org.apache.bookkeeper.proto.BookieAddressResolver getBookieAddressResolver()
      • isBookieUnavailable

        boolean isBookieUnavailable​(org.apache.bookkeeper.net.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<org.apache.bookkeeper.net.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 Size
        writeQuorumSize - Write Quorum Size
        Returns:
        list of bookies for new ensemble.
        Throws:
        BKException.BKNotEnoughBookiesException
      • replaceBookie

        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
        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​(org.apache.bookkeeper.net.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.