Package org.apache.bookkeeper.bookie
Class BookieStateManager
java.lang.Object
org.apache.bookkeeper.bookie.BookieStateManager
- All Implemented Interfaces:
AutoCloseable,StateManager
@StatsDoc(name="bookie",
category="server",
help="Bookie state manager related stats")
public class BookieStateManager
extends 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 -
Constructor Summary
ConstructorsConstructorDescriptionBookieStateManager(ServerConfiguration conf, RegistrationManager registrationManager) BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, List<File> statusDirs, Supplier<BookieId> bookieIdSupplier, Supplier<BookieServiceInfo> bookieServiceInfoProvider) BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, LedgerDirsManager ledgerDirsManager, Supplier<BookieServiceInfo> bookieServiceInfoProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the manager, release its resources.(package private) voidvoidvoiddoTransitionToReadOnlyMode(boolean isManuallyModify) voidvoiddoTransitionToWritableMode(boolean isManuallyModify) voidTurn state to the read only, just flag.voidTurn state to the shutting down progress,just the flag.voidTurn state to not registered, just the flag.voidInit state of Bookie when launch bookie.booleanCheck if the bookie is available for high priority writes or not.booleanCheck is forceReadOnly.booleanCheck is ReadOnly.booleanCheck is readOnlyModeEnabled.(package private) booleanbooleanCheck is Running.booleanCheck is Shutting down.registerBookie(boolean throwException) Register the bookie to RegistrationManager.voidsetHighPriorityWritesAvailability(boolean available) Enable/Disable the availability for high priority writes.voidtransitionToReadOnlyMode(boolean isManuallyModify) Change the state of bookie to ReadOnly mode.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, waitMethods inherited from interface org.apache.bookkeeper.bookie.StateManager
transitionToReadOnlyMode, transitionToWritableMode
-
Field Details
-
stateService
-
-
Constructor Details
-
BookieStateManager
public BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, LedgerDirsManager ledgerDirsManager, Supplier<BookieServiceInfo> bookieServiceInfoProvider) throws IOException - Throws:
IOException
-
BookieStateManager
public BookieStateManager(ServerConfiguration conf, StatsLogger statsLogger, RegistrationManager rm, List<File> statusDirs, Supplier<BookieId> bookieIdSupplier, Supplier<BookieServiceInfo> bookieServiceInfoProvider) throws IOException - Throws:
IOException
-
BookieStateManager
BookieStateManager(ServerConfiguration conf, RegistrationManager registrationManager) throws IOException - Throws:
IOException
-
-
Method Details
-
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 interfaceAutoCloseable- Specified by:
closein interfaceStateManager
-
registerBookie
Description copied from interface:StateManagerRegister the bookie to RegistrationManager.- Specified by:
registerBookiein interfaceStateManager
-
transitionToWritableMode
Description copied from interface:StateManagerChange the state of bookie to Writable mode.- Specified by:
transitionToWritableModein interfaceStateManager
-
transitionToReadOnlyMode
Description copied from interface:StateManagerChange the state of bookie to ReadOnly mode.- Specified by:
transitionToReadOnlyModein interfaceStateManager
-
doRegisterBookie
- Throws:
IOException
-
doTransitionToWritableMode
public void doTransitionToWritableMode() -
doTransitionToWritableMode
public void doTransitionToWritableMode(boolean isManuallyModify) -
doTransitionToReadOnlyMode
public void doTransitionToReadOnlyMode() -
doTransitionToReadOnlyMode
public void doTransitionToReadOnlyMode(boolean isManuallyModify) -
setShutdownHandler
- Specified by:
setShutdownHandlerin interfaceStateManager
-
getShutdownHandler
-
isRegistered
boolean isRegistered()
-