@InterfaceAudience.Private public class RestoreSnapshotHelper extends java.lang.Object
The helper assumes that a table is already created, and by calling restore() the content present in the snapshot will be restored as the new content of the table.
Clone from Snapshot: If the target table is empty, the restore operation is just a "clone operation", where the only operations are:
Restore from Snapshot:
Modifier and Type | Class and Description |
---|---|
static class |
RestoreSnapshotHelper.RestoreMetaChanges
Describe the set of operations needed to update hbase:meta after restore.
|
Constructor and Description |
---|
RestoreSnapshotHelper(Configuration conf,
FileSystem fs,
SnapshotManifest manifest,
HTableDescriptor tableDescriptor,
Path rootDir,
ForeignExceptionDispatcher monitor,
MonitoredTask status) |
RestoreSnapshotHelper(Configuration conf,
FileSystem fs,
SnapshotManifest manifest,
HTableDescriptor tableDescriptor,
Path rootDir,
ForeignExceptionDispatcher monitor,
MonitoredTask status,
boolean createBackRefs) |
Modifier and Type | Method and Description |
---|---|
HRegionInfo |
cloneRegionInfo(HRegionInfo snapshotRegionInfo)
Create a new
HRegionInfo from the snapshot region info. |
static HTableDescriptor |
cloneTableSchema(HTableDescriptor snapshotTableDescriptor,
TableName tableName)
Create a new table descriptor cloning the snapshot table schema.
|
static void |
copySnapshotForScanner(Configuration conf,
FileSystem fs,
Path rootDir,
Path restoreDir,
java.lang.String snapshotName)
Copy the snapshot files for a snapshot scanner, discards meta changes.
|
RestoreSnapshotHelper.RestoreMetaChanges |
restoreHdfsRegions()
Restore the on-disk table to a specified snapshot state.
|
static void |
restoreSnapshotACL(HBaseProtos.SnapshotDescription snapshot,
TableName newTableName,
Configuration conf) |
public RestoreSnapshotHelper(Configuration conf, FileSystem fs, SnapshotManifest manifest, HTableDescriptor tableDescriptor, Path rootDir, ForeignExceptionDispatcher monitor, MonitoredTask status)
public RestoreSnapshotHelper(Configuration conf, FileSystem fs, SnapshotManifest manifest, HTableDescriptor tableDescriptor, Path rootDir, ForeignExceptionDispatcher monitor, MonitoredTask status, boolean createBackRefs)
public RestoreSnapshotHelper.RestoreMetaChanges restoreHdfsRegions() throws java.io.IOException
java.io.IOException
public HRegionInfo cloneRegionInfo(HRegionInfo snapshotRegionInfo)
HRegionInfo
from the snapshot region info.
Keep the same startKey, endKey, regionId and split information but change
the table name.snapshotRegionInfo
- Info for region to clone.public static HTableDescriptor cloneTableSchema(HTableDescriptor snapshotTableDescriptor, TableName tableName) throws java.io.IOException
snapshotTableDescriptor
- tableName
- java.io.IOException
public static void copySnapshotForScanner(Configuration conf, FileSystem fs, Path rootDir, Path restoreDir, java.lang.String snapshotName) throws java.io.IOException
conf
- fs
- rootDir
- restoreDir
- snapshotName
- java.io.IOException
public static void restoreSnapshotACL(HBaseProtos.SnapshotDescription snapshot, TableName newTableName, Configuration conf) throws java.io.IOException
java.io.IOException