Class AbstractHierarchicalLedgerManager

java.lang.Object
org.apache.bookkeeper.meta.AbstractZkLedgerManager
org.apache.bookkeeper.meta.AbstractHierarchicalLedgerManager
All Implemented Interfaces:
Closeable, AutoCloseable, LedgerManager, org.apache.zookeeper.Watcher
Direct Known Subclasses:
HierarchicalLedgerManager, LegacyHierarchicalLedgerManager, LongHierarchicalLedgerManager

public abstract class AbstractHierarchicalLedgerManager extends AbstractZkLedgerManager
An abstract class for managing hierarchical ledgers.
  • Constructor Details

    • AbstractHierarchicalLedgerManager

      public AbstractHierarchicalLedgerManager(AbstractConfiguration conf, org.apache.zookeeper.ZooKeeper zk)
      Constructor.
      Parameters:
      conf - Configuration object
      zk - ZooKeeper Client Handle
  • Method Details

    • asyncProcessLevelNodes

      void asyncProcessLevelNodes(String path, BookkeeperInternalCallbacks.Processor<String> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, Object context, int successRc, int failureRc)
      Process hash nodes in a given path.
    • getLedgerId

      long getLedgerId(String... levelNodes) throws IOException
      Throws:
      IOException
    • ledgerListToSet

      protected NavigableSet<Long> ledgerListToSet(List<String> ledgerNodes, String path)
      Get all ledger ids in the given zk path.
      Overrides:
      ledgerListToSet in class AbstractZkLedgerManager
      Parameters:
      ledgerNodes - List of ledgers in the given path example:- {L1652, L1653, L1650}
      path - The zookeeper path of the ledger ids. The path should start with example (with ledgerRootPath = /ledgers):- /ledgers/00/0053
      Returns:
      ledger id hash set