@InterfaceAudience.Private public class RestoreSnapshotHandler extends TableEventHandler implements SnapshotSentinel
Uses RestoreSnapshotHelper to replace the table content with the
data available in the snapshot.
EventHandler.EventHandlerListenermasterServices, tableLock, tableNameeventType, seqids, server, waitingTimeForEvents| Constructor and Description |
|---|
RestoreSnapshotHandler(MasterServices masterServices,
HBaseProtos.SnapshotDescription snapshot,
HTableDescriptor htd) |
| Modifier and Type | Method and Description |
|---|---|
void |
cancel(String why)
Actively cancel a running snapshot.
|
protected void |
completed(Throwable exception)
Called after that process() is completed.
|
long |
getCompletionTimestamp() |
ForeignException |
getExceptionIfFailed()
Get the exception that caused the snapshot to fail, if the snapshot has failed.
|
HBaseProtos.SnapshotDescription |
getSnapshot() |
protected void |
handleTableOperation(List<HRegionInfo> hris)
The restore table is executed in place.
|
boolean |
isFinished()
Check to see if the snapshot is finished, where finished may be success or failure.
|
RestoreSnapshotHandler |
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 |
rethrowExceptionIfFailed()
Rethrow the exception returned by
SnapshotSentinel.getExceptionIfFailed(). |
getTableDescriptor, prepareWithTableLock, process, releaseTableLock, reOpenAllRegionscompareTo, getEventType, getInformativeName, getListener, getPriority, getSeqid, handleException, run, setListener, toStringpublic RestoreSnapshotHandler(MasterServices masterServices, HBaseProtos.SnapshotDescription snapshot, HTableDescriptor htd) throws IOException
IOExceptionpublic RestoreSnapshotHandler prepare() throws IOException
EventHandlerprepare in class TableEventHandlerIOExceptionprotected void handleTableOperation(List<HRegionInfo> hris) throws IOException
handleTableOperation in class TableEventHandlerIOExceptionprotected void completed(Throwable exception)
TableEventHandlercompleted in class TableEventHandlerexception - null if process() is successful or not null if something has failed.public boolean isFinished()
SnapshotSentinelisFinished in interface SnapshotSentinelpublic long getCompletionTimestamp()
getCompletionTimestamp in interface SnapshotSentinelpublic HBaseProtos.SnapshotDescription getSnapshot()
getSnapshot in interface SnapshotSentinelpublic void cancel(String why)
SnapshotSentinelcancel in interface SnapshotSentinelwhy - Reason for cancellation.public ForeignException getExceptionIfFailed()
SnapshotSentinelgetExceptionIfFailed in interface SnapshotSentinelForeignException that caused the snapshot to fail, or null if the
snapshot is still in progress or has succeededpublic 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 exceptionsCopyright © 2014 The Apache Software Foundation. All rights reserved.