Package org.apache.bookkeeper.bookie
Class BookieStateManager
- java.lang.Object
- 
- org.apache.bookkeeper.bookie.BookieStateManager
 
- 
- All Implemented Interfaces:
- java.lang.AutoCloseable,- StateManager
 
 @StatsDoc(name="bookie", category="server", help="Bookie state manager related stats") public class BookieStateManager extends java.lang.Object implements StateManager An implementation of StateManager.
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface org.apache.bookkeeper.bookie.StateManagerStateManager.ShutdownHandler
 
- 
 - 
Field SummaryFields Modifier and Type Field Description (package private) java.util.concurrent.ExecutorServicestateService
 - 
Constructor SummaryConstructors Constructor Description BookieStateManager(ServerConfiguration conf, RegistrationManager registrationManager)BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, java.util.List<java.io.File> statusDirs, java.util.function.Supplier<BookieId> bookieIdSupplier, java.util.function.Supplier<BookieServiceInfo> bookieServiceInfoProvider)BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, LedgerDirsManager ledgerDirsManager, java.util.function.Supplier<BookieServiceInfo> bookieServiceInfoProvider)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the manager, release its resources.(package private) voiddoRegisterBookie()voiddoTransitionToReadOnlyMode()voiddoTransitionToWritableMode()voidforceToReadOnly()Turn state to the read only, just flag.voidforceToShuttingDown()Turn state to the shutting down progress,just the flag.voidforceToUnregistered()Turn state to not registered, just the flag.StateManager.ShutdownHandlergetShutdownHandler()voidinitState()Init state of Bookie when launch bookie.booleanisAvailableForHighPriorityWrites()Check if the bookie is available for high priority writes or not.booleanisReadOnly()Check is ReadOnly.(package private) booleanisRegistered()booleanisRunning()Check is Running.booleanisShuttingDown()Check is Shutting down.java.util.concurrent.Future<java.lang.Void>registerBookie(boolean throwException)Register the bookie to RegistrationManager.voidsetHighPriorityWritesAvailability(boolean available)Enable/Disable the availability for high priority writes.voidsetShutdownHandler(StateManager.ShutdownHandler handler)java.util.concurrent.Future<java.lang.Void>transitionToReadOnlyMode()Change the state of bookie to ReadOnly mode.java.util.concurrent.Future<java.lang.Void>transitionToWritableMode()Change the state of bookie to Writable mode.
 
- 
- 
- 
Constructor Detail- 
BookieStateManagerpublic BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, LedgerDirsManager ledgerDirsManager, java.util.function.Supplier<BookieServiceInfo> bookieServiceInfoProvider) throws java.io.IOException - Throws:
- java.io.IOException
 
 - 
BookieStateManagerpublic BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, java.util.List<java.io.File> statusDirs, java.util.function.Supplier<BookieId> bookieIdSupplier, java.util.function.Supplier<BookieServiceInfo> bookieServiceInfoProvider) throws java.io.IOException - Throws:
- java.io.IOException
 
 - 
BookieStateManagerBookieStateManager(ServerConfiguration conf, RegistrationManager registrationManager) throws java.io.IOException - Throws:
- java.io.IOException
 
 
- 
 - 
Method Detail- 
initStatepublic void initState() Description copied from interface:StateManagerInit state of Bookie when launch bookie.- Specified by:
- initStatein interface- StateManager
 
 - 
forceToShuttingDownpublic void forceToShuttingDown() Description copied from interface:StateManagerTurn state to the shutting down progress,just the flag.- Specified by:
- forceToShuttingDownin interface- StateManager
 
 - 
forceToReadOnlypublic void forceToReadOnly() Description copied from interface:StateManagerTurn state to the read only, just flag.- Specified by:
- forceToReadOnlyin interface- StateManager
 
 - 
forceToUnregisteredpublic void forceToUnregistered() Description copied from interface:StateManagerTurn state to not registered, just the flag.- Specified by:
- forceToUnregisteredin interface- StateManager
 
 - 
isReadOnlypublic boolean isReadOnly() Description copied from interface:StateManagerCheck is ReadOnly.- Specified by:
- isReadOnlyin interface- StateManager
 
 - 
isAvailableForHighPriorityWritespublic boolean isAvailableForHighPriorityWrites() Description copied from interface:StateManagerCheck if the bookie is available for high priority writes or not.- Specified by:
- isAvailableForHighPriorityWritesin interface- StateManager
- Returns:
- true if the bookie is available for high priority writes; otherwise false.
 
 - 
setHighPriorityWritesAvailabilitypublic void setHighPriorityWritesAvailability(boolean available) Description copied from interface:StateManagerEnable/Disable the availability for high priority writes.- Specified by:
- setHighPriorityWritesAvailabilityin interface- StateManager
- Parameters:
- available- the flag to enable/disable the availability for high priority writes.
 
 - 
isRunningpublic boolean isRunning() Description copied from interface:StateManagerCheck is Running.- Specified by:
- isRunningin interface- StateManager
 
 - 
isShuttingDownpublic boolean isShuttingDown() Description copied from interface:StateManagerCheck is Shutting down.- Specified by:
- isShuttingDownin interface- StateManager
 
 - 
closepublic void close() Description copied from interface:StateManagerClose the manager, release its resources.- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- StateManager
 
 - 
registerBookiepublic java.util.concurrent.Future<java.lang.Void> registerBookie(boolean throwException) Description copied from interface:StateManagerRegister the bookie to RegistrationManager.- Specified by:
- registerBookiein interface- StateManager
 
 - 
transitionToWritableModepublic java.util.concurrent.Future<java.lang.Void> transitionToWritableMode() Description copied from interface:StateManagerChange the state of bookie to Writable mode.- Specified by:
- transitionToWritableModein interface- StateManager
 
 - 
transitionToReadOnlyModepublic java.util.concurrent.Future<java.lang.Void> transitionToReadOnlyMode() Description copied from interface:StateManagerChange the state of bookie to ReadOnly mode.- Specified by:
- transitionToReadOnlyModein interface- StateManager
 
 - 
doRegisterBookievoid doRegisterBookie() throws java.io.IOException- Throws:
- java.io.IOException
 
 - 
doTransitionToWritableModepublic void doTransitionToWritableMode() 
 - 
doTransitionToReadOnlyModepublic void doTransitionToReadOnlyMode() 
 - 
setShutdownHandlerpublic void setShutdownHandler(StateManager.ShutdownHandler handler) - Specified by:
- setShutdownHandlerin interface- StateManager
 
 - 
getShutdownHandlerpublic StateManager.ShutdownHandler getShutdownHandler() 
 - 
isRegisteredboolean isRegistered() 
 
- 
 
-