|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.executor.EventHandler
org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler
@InterfaceAudience.Private public abstract class TakeSnapshotHandler
A handler for taking snapshots from the master.
This is not a subclass of TableEventHandler because using that would incur an extra META scan.
The snapshotRegions(List) call should get implemented for each snapshot flavor.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.apache.hadoop.hbase.executor.EventHandler |
|---|
EventHandler.EventHandlerListener |
| Field Summary | |
|---|---|
protected org.apache.hadoop.conf.Configuration |
conf
|
protected org.apache.hadoop.fs.FileSystem |
fs
|
protected MasterServices |
master
|
protected MetricsMaster |
metricsMaster
|
protected ForeignExceptionDispatcher |
monitor
|
protected org.apache.hadoop.fs.Path |
rootDir
|
protected HBaseProtos.SnapshotDescription |
snapshot
|
protected TableName |
snapshotTable
|
protected MonitoredTask |
status
|
protected TableLockManager.TableLock |
tableLock
|
protected TableLockManager |
tableLockManager
|
protected org.apache.hadoop.fs.Path |
workingDir
|
| Fields inherited from class org.apache.hadoop.hbase.executor.EventHandler |
|---|
eventType, seqids, server, waitingTimeForEvents |
| Constructor Summary | |
|---|---|
TakeSnapshotHandler(HBaseProtos.SnapshotDescription snapshot,
MasterServices masterServices,
MetricsMaster metricsMaster)
|
|
| Method Summary | |
|---|---|
void |
cancel(String why)
Actively cancel a running snapshot. |
void |
completeSnapshot(org.apache.hadoop.fs.Path snapshotDir,
org.apache.hadoop.fs.Path workingDir,
org.apache.hadoop.fs.FileSystem fs)
Reset the manager to allow another snapshot to proceed |
long |
getCompletionTimestamp()
|
ForeignException |
getException()
Get the value of the captured exception. |
ForeignException |
getExceptionIfFailed()
Get the exception that caused the snapshot to fail, if the snapshot has failed. |
HBaseProtos.SnapshotDescription |
getSnapshot()
|
boolean |
hasException()
Non-exceptional form of ForeignExceptionSnare.rethrowException(). |
boolean |
isFinished()
Check to see if the snapshot is finished, where finished may be success or failure. |
TakeSnapshotHandler |
prepare()
Event handlers should do all the necessary checks in this method (rather than in the constructor, or in process()) so that the caller, which is mostly executed in the ipc context can fail fast. |
void |
process()
Execute the core common portions of taking a snapshot. |
protected void |
releaseTableLock()
|
void |
rethrowException()
Rethrow an exception currently held by the ForeignExceptionSnare. |
void |
rethrowExceptionIfFailed()
Rethrow the exception returned by SnapshotSentinel.getExceptionIfFailed(). |
protected abstract void |
snapshotRegions(List<Pair<HRegionInfo,ServerName>> regions)
Snapshot the specified regions |
| Methods inherited from class org.apache.hadoop.hbase.executor.EventHandler |
|---|
compareTo, getEventType, getInformativeName, getListener, getPriority, getSeqid, run, setListener, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final MasterServices master
protected final MetricsMaster metricsMaster
protected final HBaseProtos.SnapshotDescription snapshot
protected final org.apache.hadoop.conf.Configuration conf
protected final org.apache.hadoop.fs.FileSystem fs
protected final org.apache.hadoop.fs.Path rootDir
protected final org.apache.hadoop.fs.Path workingDir
protected final ForeignExceptionDispatcher monitor
protected final TableLockManager tableLockManager
protected final TableLockManager.TableLock tableLock
protected final MonitoredTask status
protected final TableName snapshotTable
| Constructor Detail |
|---|
public TakeSnapshotHandler(HBaseProtos.SnapshotDescription snapshot,
MasterServices masterServices,
MetricsMaster metricsMaster)
snapshot - descriptor of the snapshot to takemasterServices - master services provider| Method Detail |
|---|
public TakeSnapshotHandler prepare()
throws Exception
EventHandler
prepare in class EventHandlerException - when something goes wrongpublic void process()
snapshotRegions(List)
call should get implemented for each snapshot flavor.
process in class EventHandlerprotected void releaseTableLock()
public void completeSnapshot(org.apache.hadoop.fs.Path snapshotDir,
org.apache.hadoop.fs.Path workingDir,
org.apache.hadoop.fs.FileSystem fs)
throws SnapshotCreationException,
IOException
snapshotDir - final path of the snapshotworkingDir - directory where the in progress snapshot was builtfs - FileSystem where the snapshot was built
SnapshotCreationException - if the snapshot could not be moved
IOException - the filesystem could not be reached
protected abstract void snapshotRegions(List<Pair<HRegionInfo,ServerName>> regions)
throws IOException,
org.apache.zookeeper.KeeperException
IOException
org.apache.zookeeper.KeeperExceptionpublic void cancel(String why)
SnapshotSentinel
cancel in interface SnapshotSentinelwhy - Reason for cancellation.public boolean isFinished()
SnapshotSentinel
isFinished in interface SnapshotSentinelpublic long getCompletionTimestamp()
getCompletionTimestamp in interface SnapshotSentinelpublic HBaseProtos.SnapshotDescription getSnapshot()
getSnapshot in interface SnapshotSentinelpublic ForeignException getExceptionIfFailed()
SnapshotSentinel
getExceptionIfFailed in interface SnapshotSentinelForeignException that caused the snapshot to fail, or null if the
snapshot is still in progress or has succeeded
public void rethrowExceptionIfFailed()
throws ForeignException
SnapshotSentinelSnapshotSentinel.getExceptionIfFailed().
If there is no exception this is a no-op.
rethrowExceptionIfFailed in interface SnapshotSentinelForeignException - all exceptions from remote sources are procedure exceptions
public void rethrowException()
throws ForeignException
ForeignExceptionSnareForeignExceptionSnare. If there is
no exception this is a no-op
rethrowException in interface ForeignExceptionSnareForeignException - all exceptions from remote sources are procedure exceptionspublic boolean hasException()
ForeignExceptionSnareForeignExceptionSnare.rethrowException(). Checks to see if any
process to which the exception checkers is bound has created an error that
would cause a failure.
hasException in interface ForeignExceptionSnarepublic ForeignException getException()
ForeignExceptionSnare
getException in interface ForeignExceptionSnare
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||