Class ZkIsolatedBookieEnsemblePlacementPolicy

java.lang.Object
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy
org.apache.pulsar.bookie.rackawareness.IsolatedBookieEnsemblePlacementPolicy
org.apache.pulsar.zookeeper.ZkIsolatedBookieEnsemblePlacementPolicy
All Implemented Interfaces:
org.apache.bookkeeper.client.EnsemblePlacementPolicy, org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy<org.apache.bookkeeper.net.BookieNode>

public class ZkIsolatedBookieEnsemblePlacementPolicy extends IsolatedBookieEnsemblePlacementPolicy
Retained for compatibility since this class can be referred to from config files.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.bookkeeper.client.EnsemblePlacementPolicy

    org.apache.bookkeeper.client.EnsemblePlacementPolicy.PlacementPolicyAdherence, org.apache.bookkeeper.client.EnsemblePlacementPolicy.PlacementResult<T extends Object>

    Nested classes/interfaces inherited from interface org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy

    org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble<T extends org.apache.bookkeeper.net.Node>, org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate<T extends org.apache.bookkeeper.net.Node>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.bookkeeper.proto.BookieAddressResolver
     
    protected Map<org.apache.bookkeeper.net.BookieNode,org.apache.bookkeeper.client.WeightedRandomSelection.WeightedObject>
     
    protected org.apache.bookkeeper.stats.OpStatsLogger
     
    protected org.apache.bookkeeper.stats.OpStatsLogger
     
    protected org.apache.bookkeeper.net.DNSToSwitchMapping
     
    protected final Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.net.BookieNode>
     
    protected final Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.net.BookieNode>
     
    protected com.google.common.collect.ImmutableSet<org.apache.bookkeeper.net.BookieId>
     
    static final String
     
    protected final ReentrantReadWriteLock
     
    protected org.apache.bookkeeper.net.NetworkTopology
     
    protected org.apache.bookkeeper.client.WeightedRandomSelection<org.apache.bookkeeper.net.BookieNode>
     

    Fields inherited from class org.apache.pulsar.bookie.rackawareness.IsolatedBookieEnsemblePlacementPolicy

    ISOLATION_BOOKIE_GROUPS, SECONDARY_ISOLATION_BOOKIE_GROUPS

    Fields inherited from class org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl

    enforceDurability, enforceMinNumRacksPerWriteQuorum, failedToResolveNetworkLocationCounter, ignoreLocalNodeInPlacementPolicy, localNode, minNumRacksPerWriteQuorum, numWritableBookiesInDefaultRack, readReorderedCounter, reorderReadsRandom, reorderThresholdPendingRequests, REPP_RANDOM_READ_REORDERING, slowBookies, stabilizePeriodSeconds, statsLogger, timer, useHostnameResolveLocalNodePlacementPolicy
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Set<org.apache.bookkeeper.net.Node>
    convertBookiesToNodes(Collection<org.apache.bookkeeper.net.BookieId> arg0)
     
    protected org.apache.bookkeeper.net.BookieNode
    convertBookieToNode(org.apache.bookkeeper.net.BookieId arg0)
     
    protected org.apache.bookkeeper.net.BookieNode
    createBookieNode(org.apache.bookkeeper.net.BookieId arg0)
     
    protected org.apache.bookkeeper.net.BookieNode
     
    static int
    differBetweenBookies(List<org.apache.bookkeeper.net.BookieId> arg0, List<org.apache.bookkeeper.net.BookieId> arg1)
     
    void
    onBookieRackChange(List<org.apache.bookkeeper.net.BookieId> arg0)
     
    protected String
    resolveNetworkLocation(org.apache.bookkeeper.net.BookieId arg0)
     
    void
    updateBookieInfo(Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.client.BookieInfoReader.BookieInfo> arg0)
     

    Methods inherited from class org.apache.pulsar.bookie.rackawareness.IsolatedBookieEnsemblePlacementPolicy

    initialize, newEnsemble, replaceBookie

    Methods inherited from class org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy

    handleBookiesThatJoined, handleBookiesThatLeft, initialize, initialize, newEnsemble, onClusterChanged, reorderReadLACSequence, reorderReadSequence, replaceToAdherePlacementPolicy, selectFromNetworkLocation, selectFromNetworkLocation, selectFromNetworkLocation, uninitalize

    Methods inherited from class org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl

    addDefaultRackBookiesIfMinNumRacksIsEnforced, areAckedBookiesAdheringToPlacementPolicy, getDefaultRack, isEnsembleAdheringToPlacementPolicy, newEnsembleInternal, registerSlowBookie, selectRandom, selectRandomFromRack, selectRandomInternal, withDefaultRack

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.bookkeeper.client.EnsemblePlacementPolicy

    areAckedBookiesAdheringToPlacementPolicy, getStickyReadBookieIndex, isEnsembleAdheringToPlacementPolicy, registerSlowBookie, updateBookieInfo

    Methods inherited from interface org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy

    onBookieRackChange
  • Field Details

    • REPP_DNS_RESOLVER_CLASS

      public static final String REPP_DNS_RESOLVER_CLASS
      See Also:
    • knownBookies

      protected final Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.net.BookieNode> knownBookies
    • historyBookies

      protected final Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.net.BookieNode> historyBookies
    • rwLock

      protected final ReentrantReadWriteLock rwLock
    • bookieInfoMap

      protected Map<org.apache.bookkeeper.net.BookieNode,org.apache.bookkeeper.client.WeightedRandomSelection.WeightedObject> bookieInfoMap
    • readOnlyBookies

      protected com.google.common.collect.ImmutableSet<org.apache.bookkeeper.net.BookieId> readOnlyBookies
    • weightedSelection

      protected org.apache.bookkeeper.client.WeightedRandomSelection<org.apache.bookkeeper.net.BookieNode> weightedSelection
    • topology

      protected org.apache.bookkeeper.net.NetworkTopology topology
    • dnsResolver

      protected org.apache.bookkeeper.net.DNSToSwitchMapping dnsResolver
    • bookieAddressResolver

      protected org.apache.bookkeeper.proto.BookieAddressResolver bookieAddressResolver
    • bookiesJoinedCounter

      @StatsDoc(name="BOOKIES_JOINED", help="The distribution of number of bookies joined the cluster on each network topology change") protected org.apache.bookkeeper.stats.OpStatsLogger bookiesJoinedCounter
    • bookiesLeftCounter

      @StatsDoc(name="BOOKIES_LEFT", help="The distribution of number of bookies left the cluster on each network topology change") protected org.apache.bookkeeper.stats.OpStatsLogger bookiesLeftCounter
  • Constructor Details

    • ZkIsolatedBookieEnsemblePlacementPolicy

      public ZkIsolatedBookieEnsemblePlacementPolicy()
  • Method Details

    • onBookieRackChange

      public void onBookieRackChange(List<org.apache.bookkeeper.net.BookieId> arg0)
      Specified by:
      onBookieRackChange in interface org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy<org.apache.bookkeeper.net.BookieNode>
    • differBetweenBookies

      public static int differBetweenBookies(List<org.apache.bookkeeper.net.BookieId> arg0, List<org.apache.bookkeeper.net.BookieId> arg1)
    • updateBookieInfo

      public void updateBookieInfo(Map<org.apache.bookkeeper.net.BookieId,org.apache.bookkeeper.client.BookieInfoReader.BookieInfo> arg0)
      Specified by:
      updateBookieInfo in interface org.apache.bookkeeper.client.EnsemblePlacementPolicy
    • createBookieNode

      protected org.apache.bookkeeper.net.BookieNode createBookieNode(org.apache.bookkeeper.net.BookieId arg0)
    • createDummyLocalBookieNode

      protected org.apache.bookkeeper.net.BookieNode createDummyLocalBookieNode(String arg0)
    • resolveNetworkLocation

      protected String resolveNetworkLocation(org.apache.bookkeeper.net.BookieId arg0)
    • convertBookiesToNodes

      protected Set<org.apache.bookkeeper.net.Node> convertBookiesToNodes(Collection<org.apache.bookkeeper.net.BookieId> arg0)
    • convertBookieToNode

      protected org.apache.bookkeeper.net.BookieNode convertBookieToNode(org.apache.bookkeeper.net.BookieId arg0)