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.StateManager
StateManager.ShutdownHandler
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.ScheduledExecutorServicestateService
-
Constructor Summary
Constructors 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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the manager, release its resources.(package private) voiddoRegisterBookie()voiddoTransitionToReadOnlyMode(boolean isManuallyModify)voiddoTransitionToWritableMode(boolean isManuallyModify)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.booleanisForceReadOnly()Check is forceReadOnly.booleanisReadOnly()Check is ReadOnly.booleanisReadOnlyModeEnabled()Check is readOnlyModeEnabled.(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(boolean isManuallyModify)Change the state of bookie to ReadOnly mode.java.util.concurrent.Future<java.lang.Void>transitionToWritableMode(boolean isManuallyModify)Change the state of bookie to Writable mode.-
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.bookie.StateManager
transitionToReadOnlyMode, transitionToWritableMode
-
-
-
-
Constructor Detail
-
BookieStateManager
public BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, LedgerDirsManager ledgerDirsManager, java.util.function.Supplier<BookieServiceInfo> bookieServiceInfoProvider) throws java.io.IOException
- Throws:
java.io.IOException
-
BookieStateManager
public 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
-
BookieStateManager
BookieStateManager(ServerConfiguration conf, RegistrationManager registrationManager) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
initState
public void initState()
Description copied from interface:StateManagerInit state of Bookie when launch bookie.- Specified by:
initStatein interfaceStateManager
-
forceToShuttingDown
public void forceToShuttingDown()
Description copied from interface:StateManagerTurn state to the shutting down progress,just the flag.- Specified by:
forceToShuttingDownin interfaceStateManager
-
forceToReadOnly
public void forceToReadOnly()
Description copied from interface:StateManagerTurn state to the read only, just flag.- Specified by:
forceToReadOnlyin interfaceStateManager
-
forceToUnregistered
public void forceToUnregistered()
Description copied from interface:StateManagerTurn state to not registered, just the flag.- Specified by:
forceToUnregisteredin interfaceStateManager
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:StateManagerCheck is ReadOnly.- Specified by:
isReadOnlyin interfaceStateManager
-
isForceReadOnly
public boolean isForceReadOnly()
Description copied from interface:StateManagerCheck is forceReadOnly.- Specified by:
isForceReadOnlyin interfaceStateManager
-
isReadOnlyModeEnabled
public boolean isReadOnlyModeEnabled()
Description copied from interface:StateManagerCheck is readOnlyModeEnabled.- Specified by:
isReadOnlyModeEnabledin interfaceStateManager
-
isAvailableForHighPriorityWrites
public boolean isAvailableForHighPriorityWrites()
Description copied from interface:StateManagerCheck if the bookie is available for high priority writes or not.- Specified by:
isAvailableForHighPriorityWritesin interfaceStateManager- Returns:
- true if the bookie is available for high priority writes; otherwise false.
-
setHighPriorityWritesAvailability
public void setHighPriorityWritesAvailability(boolean available)
Description copied from interface:StateManagerEnable/Disable the availability for high priority writes.- Specified by:
setHighPriorityWritesAvailabilityin interfaceStateManager- Parameters:
available- the flag to enable/disable the availability for high priority writes.
-
isRunning
public boolean isRunning()
Description copied from interface:StateManagerCheck is Running.- Specified by:
isRunningin interfaceStateManager
-
isShuttingDown
public boolean isShuttingDown()
Description copied from interface:StateManagerCheck is Shutting down.- Specified by:
isShuttingDownin interfaceStateManager
-
close
public void close()
Description copied from interface:StateManagerClose the manager, release its resources.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceStateManager
-
registerBookie
public java.util.concurrent.Future<java.lang.Void> registerBookie(boolean throwException)
Description copied from interface:StateManagerRegister the bookie to RegistrationManager.- Specified by:
registerBookiein interfaceStateManager
-
transitionToWritableMode
public java.util.concurrent.Future<java.lang.Void> transitionToWritableMode(boolean isManuallyModify)
Description copied from interface:StateManagerChange the state of bookie to Writable mode.- Specified by:
transitionToWritableModein interfaceStateManager
-
transitionToReadOnlyMode
public java.util.concurrent.Future<java.lang.Void> transitionToReadOnlyMode(boolean isManuallyModify)
Description copied from interface:StateManagerChange the state of bookie to ReadOnly mode.- Specified by:
transitionToReadOnlyModein interfaceStateManager
-
doRegisterBookie
void doRegisterBookie() throws java.io.IOException- Throws:
java.io.IOException
-
doTransitionToWritableMode
public void doTransitionToWritableMode(boolean isManuallyModify)
-
doTransitionToReadOnlyMode
public void doTransitionToReadOnlyMode(boolean isManuallyModify)
-
setShutdownHandler
public void setShutdownHandler(StateManager.ShutdownHandler handler)
- Specified by:
setShutdownHandlerin interfaceStateManager
-
getShutdownHandler
public StateManager.ShutdownHandler getShutdownHandler()
-
isRegistered
boolean isRegistered()
-
-