Package org.apache.bookkeeper.meta
Class MSLedgerManagerFactory.MsLedgerManager
- java.lang.Object
- 
- org.apache.bookkeeper.meta.MSLedgerManagerFactory.MsLedgerManager
 
- 
- All Implemented Interfaces:
- java.io.Closeable,- java.lang.AutoCloseable,- LedgerManager,- MetastoreWatcher
 - Enclosing class:
- MSLedgerManagerFactory
 
 static class MSLedgerManagerFactory.MsLedgerManager extends java.lang.Object implements LedgerManager, MetastoreWatcher 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description (package private) classMSLedgerManagerFactory.MsLedgerManager.MSLedgerRangeIteratorprotected classMSLedgerManagerFactory.MsLedgerManager.ReadLedgerMetadataTask- 
Nested classes/interfaces inherited from interface org.apache.bookkeeper.meta.LedgerManagerLedgerManager.LedgerRange, LedgerManager.LedgerRangeIterator
 
- 
 - 
Field SummaryFields Modifier and Type Field Description (package private) AbstractConfigurationconf(package private) static java.lang.StringIDGEN_ZNODE(package private) MetastoreScannableTableledgerTableprotected java.util.concurrent.ConcurrentMap<java.lang.Long,java.util.Set<BookkeeperInternalCallbacks.LedgerMetadataListener>>listeners(package private) intmaxEntriesPerScan(package private) MetaStoremetastore(package private) java.util.concurrent.ScheduledExecutorServicescheduler(package private) org.apache.zookeeper.ZooKeeperzk
 - 
Constructor SummaryConstructors Constructor Description MsLedgerManager(AbstractConfiguration conf, org.apache.zookeeper.ZooKeeper zk, MetaStore metastore)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidasyncProcessLedgers(MetastoreCursor cursor, BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc)voidasyncProcessLedgers(BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc)Loop to process all ledgers.voidclose()java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>>createLedgerMetadata(long lid, LedgerMetadata metadata)Create a new ledger with provided ledger id and metadata.(package private) voiddoAsyncProcessLedgers(MetastoreCursor cursor, BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc)LedgerManager.LedgerRangeIteratorgetLedgerRanges(long zkOpTimeoutMs)Loop to scan a range of metadata from metadata storage.static booleanisSpecialZnode(java.lang.String znode)Whether the znode a special znode.voidprocess(MSWatchedEvent e)java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>>readLedgerMetadata(long ledgerId)Read ledger metadata of a specified ledger.voidregisterLedgerMetadataListener(long ledgerId, BookkeeperInternalCallbacks.LedgerMetadataListener listener)Register the ledger metadata listener on ledgerId.java.util.concurrent.CompletableFuture<java.lang.Void>removeLedgerMetadata(long ledgerId, Version version)Remove a specified ledger metadata by ledgerId and version.voidunregisterLedgerMetadataListener(long ledgerId, BookkeeperInternalCallbacks.LedgerMetadataListener listener)Unregister the ledger metadata listener on ledgerId.java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>>writeLedgerMetadata(long ledgerId, LedgerMetadata metadata, Version currentVersion)Write ledger metadata.
 
- 
- 
- 
Field Detail- 
zkfinal org.apache.zookeeper.ZooKeeper zk 
 - 
conffinal AbstractConfiguration conf 
 - 
metastorefinal MetaStore metastore 
 - 
ledgerTablefinal MetastoreScannableTable ledgerTable 
 - 
maxEntriesPerScanfinal int maxEntriesPerScan 
 - 
IDGEN_ZNODEstatic final java.lang.String IDGEN_ZNODE - See Also:
- Constant Field Values
 
 - 
listenersprotected final java.util.concurrent.ConcurrentMap<java.lang.Long,java.util.Set<BookkeeperInternalCallbacks.LedgerMetadataListener>> listeners 
 - 
schedulerjava.util.concurrent.ScheduledExecutorService scheduler 
 
- 
 - 
Constructor Detail- 
MsLedgerManagerMsLedgerManager(AbstractConfiguration conf, org.apache.zookeeper.ZooKeeper zk, MetaStore metastore) 
 
- 
 - 
Method Detail- 
processpublic void process(MSWatchedEvent e) - Specified by:
- processin interface- MetastoreWatcher
 
 - 
registerLedgerMetadataListenerpublic void registerLedgerMetadataListener(long ledgerId, BookkeeperInternalCallbacks.LedgerMetadataListener listener)Description copied from interface:LedgerManagerRegister the ledger metadata listener on ledgerId.- Specified by:
- registerLedgerMetadataListenerin interface- LedgerManager
- Parameters:
- ledgerId- ledger id.
- listener- listener.
 
 - 
unregisterLedgerMetadataListenerpublic void unregisterLedgerMetadataListener(long ledgerId, BookkeeperInternalCallbacks.LedgerMetadataListener listener)Description copied from interface:LedgerManagerUnregister the ledger metadata listener on ledgerId.- Specified by:
- unregisterLedgerMetadataListenerin interface- LedgerManager
- Parameters:
- ledgerId- ledger id.
- listener- ledger metadata listener.
 
 - 
closepublic void close() - Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
 
 - 
createLedgerMetadatapublic java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>> createLedgerMetadata(long lid, LedgerMetadata metadata) Description copied from interface:LedgerManagerCreate a new ledger with provided ledger id and metadata.- Specified by:
- createLedgerMetadatain interface- LedgerManager
- Parameters:
- lid- Ledger id provided to be created
- metadata- Metadata provided when creating the new ledger
- Returns:
- Future which, when completed returns the metadata of the newly created ledger.
         Completed with an exception:- BKException.BKLedgerExistExceptionif given ledger id exist
- BKException.ZKException/- BKException.BKMetadataSerializationExceptionfor other issues
 
 
 - 
removeLedgerMetadatapublic java.util.concurrent.CompletableFuture<java.lang.Void> removeLedgerMetadata(long ledgerId, Version version)Description copied from interface:LedgerManagerRemove a specified ledger metadata by ledgerId and version.- Specified by:
- removeLedgerMetadatain interface- LedgerManager
- Parameters:
- ledgerId- Ledger Id
- version- Ledger metadata version
- Returns:
- Future which, when completed, denotes that the ledger metadata has been removed.
         Completed with an exception:- BKException.BKMetadataVersionExceptionif version doesn't match
- BKException.BKNoSuchLedgerExistsOnMetadataServerExceptionif ledger not exist
- BKException.ZKExceptionfor other issues
 
 
 - 
readLedgerMetadatapublic java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>> readLedgerMetadata(long ledgerId) Description copied from interface:LedgerManagerRead ledger metadata of a specified ledger.- Specified by:
- readLedgerMetadatain interface- LedgerManager
- Parameters:
- ledgerId- Ledger Id
- Returns:
- Future which, when completed, contains the requested versioned metadata.
         Completed with an exception::- BKException.BKNoSuchLedgerExistsOnMetadataServerExceptionif ledger not exist
- BKException.ZKExceptionfor other issues
 
 
 - 
writeLedgerMetadatapublic java.util.concurrent.CompletableFuture<Versioned<LedgerMetadata>> writeLedgerMetadata(long ledgerId, LedgerMetadata metadata, Version currentVersion) Description copied from interface:LedgerManagerWrite ledger metadata.- Specified by:
- writeLedgerMetadatain interface- LedgerManager
- Parameters:
- ledgerId- Ledger Id
- metadata- Ledger Metadata to write
- currentVersion- The version of the metadata we expect to be overwriting.
- Returns:
- Future which, when completed, contains the newly written metadata.
         Completed with an exception:- BKException.BKMetadataVersionExceptionif version in metadata doesn't match
- BKException.ZKExceptionfor other issue
 
 
 - 
asyncProcessLedgerspublic void asyncProcessLedgers(BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc) Description copied from interface:LedgerManagerLoop to process all ledgers.- 
 After all ledgers were processed, finalCb will be triggered:
 
- if all ledgers are processed done with OK, success rc will be passed to finalCb.
- if some ledgers are processed failed, failure rc will be passed to finalCb.
 - Specified by:
- asyncProcessLedgersin interface- LedgerManager
- Parameters:
- processor- Ledger Processor to process a specific ledger
- finalCb- Callback triggered after all ledgers are processed
- context- Context of final callback
- successRc- Success RC code passed to finalCb when callback
- failureRc- Failure RC code passed to finalCb when exceptions occurred.
 
 - 
asyncProcessLedgersvoid asyncProcessLedgers(MetastoreCursor cursor, BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc) 
 - 
doAsyncProcessLedgersvoid doAsyncProcessLedgers(MetastoreCursor cursor, BookkeeperInternalCallbacks.Processor<java.lang.Long> processor, org.apache.zookeeper.AsyncCallback.VoidCallback finalCb, java.lang.Object context, int successRc, int failureRc) 
 - 
getLedgerRangespublic LedgerManager.LedgerRangeIterator getLedgerRanges(long zkOpTimeoutMs) Description copied from interface:LedgerManagerLoop to scan a range of metadata from metadata storage.- Specified by:
- getLedgerRangesin interface- LedgerManager
- Parameters:
- zkOpTimeoutMs- Iterator considers timeout while fetching ledger-range from zk.
- Returns:
- will return a iterator of the Ranges
 
 - 
isSpecialZnodepublic static boolean isSpecialZnode(java.lang.String znode) Whether the znode a special znode.- Parameters:
- znode- Znode Name
- Returns:
- true if the znode is a special znode otherwise false
 
 
- 
 
-