@InterfaceAudience.Private @InterfaceStability.Evolving public final class BackupSystemTable extends java.lang.Object implements java.io.Closeable
Constructor and Description |
---|
BackupSystemTable(Connection conn) |
Modifier and Type | Method and Description |
---|---|
void |
addIncrementalBackupTableSet(java.util.Set<TableName> tables,
java.lang.String backupRoot)
Add tables to global incremental backup set
|
void |
addToBackupSet(java.lang.String name,
java.lang.String[] newTables)
Add backup set (list of tables)
|
void |
addWALFiles(java.util.List<java.lang.String> files,
java.lang.String backupId,
java.lang.String backupRoot)
Register WAL files as eligible for deletion
|
void |
close() |
void |
deleteBackupInfo(java.lang.String backupId)
Deletes backup status from hbase:backup table
|
void |
deleteBackupSet(java.lang.String name)
Delete backup set
|
void |
deleteBulkLoadedFiles(java.util.Map<byte[],java.lang.String> map) |
java.util.List<TableName> |
describeBackupSet(java.lang.String name)
Get backup set description (list of tables)
|
java.util.ArrayList<BackupInfo> |
getBackupContexts(BackupInfo.BackupState status)
Get all backup session with a given status (in desc order by time)
|
java.util.ArrayList<BackupInfo> |
getBackupHistory() |
java.util.ArrayList<BackupInfo> |
getBackupHistory(boolean onlyCompleted)
Get all completed backup information (in desc order by time)
|
java.util.Set<TableName> |
getIncrementalBackupTableSet(java.lang.String backupRoot)
Return the current tables covered by incremental backup.
|
static int |
getIndex(TableName tbl,
java.util.List<TableName> sTableList) |
static HTableDescriptor |
getSystemTableDescriptor()
Get backup system table descriptor
|
static TableName |
getTableName() |
static java.lang.String |
getTableNameAsString() |
java.util.List<TableName> |
getTablesForBackupType(BackupType type) |
java.util.Iterator<org.apache.hadoop.hbase.backup.impl.BackupSystemTable.WALItem> |
getWALFilesIterator(java.lang.String backupRoot)
Register WAL files as eligible for deletion
|
boolean |
hasBackupSessions()
Checks if we have at least one backup session in hbase:backup This API is used by
BackupLogCleaner
|
boolean |
isWALFileDeletable(java.lang.String file)
Check if WAL file is eligible for deletion
Future: to support all backup destinations
|
java.util.List<java.lang.String> |
listBackupSets()
Get backup set list
|
BackupInfo |
readBackupInfo(java.lang.String backupId)
Reads backup status object (instance of BackupContext) from hbase:backup table
|
java.lang.String |
readBackupStartCode(java.lang.String backupRoot)
Read the last backup start code (timestamp) of last successful backup.
|
java.util.Map<byte[],java.lang.String> |
readBulkLoadedFiles(java.lang.String backupId) |
java.util.Map<byte[],java.util.List<Path>>[] |
readBulkLoadedFiles(java.lang.String backupId,
java.util.List<TableName> sTableList) |
java.util.HashMap<TableName,java.util.HashMap<java.lang.String,java.lang.Long>> |
readLogTimestampMap(java.lang.String backupRoot)
Read the timestamp for each region server log after the last successful backup.
|
Pair<java.util.Map<TableName,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<Pair<java.lang.String,java.lang.Boolean>>>>>,java.util.List<byte[]>> |
readOrigBulkloadRows(java.util.List<TableName> tableList) |
java.util.HashMap<java.lang.String,java.lang.Long> |
readRegionServerLastLogRollResult(java.lang.String backupRoot)
Get the Region Servers log information after the last log roll from hbase:backup.
|
void |
removeFromBackupSet(java.lang.String name,
java.lang.String[] toRemove)
Remove tables from backup set (list of tables)
|
void |
removeOrigBulkLoadedRows(java.util.List<TableName> lst,
java.util.List<byte[]> rows) |
void |
updateBackupInfo(BackupInfo context)
Updates status (state) of a backup session in hbase:backup table
|
void |
writeBackupStartCode(java.lang.Long startCode,
java.lang.String backupRoot)
Write the start code (timestamp) to hbase:backup.
|
void |
writeBulkLoadedFiles(java.util.List<TableName> sTableList,
java.util.Map<byte[],java.util.List<Path>>[] maps,
java.lang.String backupId) |
void |
writeOrigBulkLoad(TableName tabName,
byte[] region,
byte[] family,
java.util.List<Pair<Path,Path>> pairs) |
void |
writeOrigBulkLoad(TableName tabName,
byte[] region,
java.util.Map<byte[],java.util.List<Path>> finalPaths) |
void |
writeRegionServerLastLogRollResult(java.lang.String server,
java.lang.Long ts,
java.lang.String backupRoot)
Writes Region Server last roll log result (timestamp) to hbase:backup table
|
void |
writeRegionServerLogTimestamp(java.util.Set<TableName> tables,
java.util.HashMap<java.lang.String,java.lang.Long> newTimestamps,
java.lang.String backupRoot)
Write the current timestamps for each regionserver to hbase:backup
after a successful full or incremental backup.
|
public BackupSystemTable(Connection conn) throws java.io.IOException
java.io.IOException
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public void updateBackupInfo(BackupInfo context) throws java.io.IOException
context
- contextjava.io.IOException
- exceptionpublic void deleteBackupInfo(java.lang.String backupId) throws java.io.IOException
backupId
- backup idjava.io.IOException
- exceptionpublic BackupInfo readBackupInfo(java.lang.String backupId) throws java.io.IOException
backupId
- - backupIdjava.io.IOException
public java.lang.String readBackupStartCode(java.lang.String backupRoot) throws java.io.IOException
backupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic java.util.Map<byte[],java.lang.String> readBulkLoadedFiles(java.lang.String backupId) throws java.io.IOException
java.io.IOException
public java.util.Map<byte[],java.util.List<Path>>[] readBulkLoadedFiles(java.lang.String backupId, java.util.List<TableName> sTableList) throws java.io.IOException
java.io.IOException
public void deleteBulkLoadedFiles(java.util.Map<byte[],java.lang.String> map) throws java.io.IOException
java.io.IOException
public void writeBackupStartCode(java.lang.Long startCode, java.lang.String backupRoot) throws java.io.IOException
startCode
- start codebackupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic void writeOrigBulkLoad(TableName tabName, byte[] region, java.util.Map<byte[],java.util.List<Path>> finalPaths) throws java.io.IOException
java.io.IOException
public void writeOrigBulkLoad(TableName tabName, byte[] region, byte[] family, java.util.List<Pair<Path,Path>> pairs) throws java.io.IOException
java.io.IOException
public void removeOrigBulkLoadedRows(java.util.List<TableName> lst, java.util.List<byte[]> rows) throws java.io.IOException
java.io.IOException
public Pair<java.util.Map<TableName,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<Pair<java.lang.String,java.lang.Boolean>>>>>,java.util.List<byte[]>> readOrigBulkloadRows(java.util.List<TableName> tableList) throws java.io.IOException
java.io.IOException
public void writeBulkLoadedFiles(java.util.List<TableName> sTableList, java.util.Map<byte[],java.util.List<Path>>[] maps, java.lang.String backupId) throws java.io.IOException
java.io.IOException
public java.util.HashMap<java.lang.String,java.lang.Long> readRegionServerLastLogRollResult(java.lang.String backupRoot) throws java.io.IOException
backupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic void writeRegionServerLastLogRollResult(java.lang.String server, java.lang.Long ts, java.lang.String backupRoot) throws java.io.IOException
server
- - Region Server nametimestamp
- - last log timestampbackupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic java.util.ArrayList<BackupInfo> getBackupHistory(boolean onlyCompleted) throws java.io.IOException
onlyCompeleted,
- true, if only successfully completed sessionsjava.io.IOException
- exceptionpublic java.util.ArrayList<BackupInfo> getBackupHistory() throws java.io.IOException
java.io.IOException
public java.util.ArrayList<BackupInfo> getBackupContexts(BackupInfo.BackupState status) throws java.io.IOException
status
- statusjava.io.IOException
- exceptionpublic void writeRegionServerLogTimestamp(java.util.Set<TableName> tables, java.util.HashMap<java.lang.String,java.lang.Long> newTimestamps, java.lang.String backupRoot) throws java.io.IOException
tables
- tablesnewTimestamps
- timestampsbackupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic java.util.List<TableName> getTablesForBackupType(BackupType type) throws java.io.IOException
java.io.IOException
public java.util.HashMap<TableName,java.util.HashMap<java.lang.String,java.lang.Long>> readLogTimestampMap(java.lang.String backupRoot) throws java.io.IOException
backupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic java.util.Set<TableName> getIncrementalBackupTableSet(java.lang.String backupRoot) throws java.io.IOException
backupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic void addIncrementalBackupTableSet(java.util.Set<TableName> tables, java.lang.String backupRoot) throws java.io.IOException
tables
- - set of tablesbackupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic void addWALFiles(java.util.List<java.lang.String> files, java.lang.String backupId, java.lang.String backupRoot) throws java.io.IOException
files
- filesbackupId
- backup idbackupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic java.util.Iterator<org.apache.hadoop.hbase.backup.impl.BackupSystemTable.WALItem> getWALFilesIterator(java.lang.String backupRoot) throws java.io.IOException
backupRoot
- root directory path to backupjava.io.IOException
- exceptionpublic boolean isWALFileDeletable(java.lang.String file) throws java.io.IOException
file
- filejava.io.IOException
- exceptionpublic boolean hasBackupSessions() throws java.io.IOException
java.io.IOException
- exceptionpublic java.util.List<java.lang.String> listBackupSets() throws java.io.IOException
java.io.IOException
public java.util.List<TableName> describeBackupSet(java.lang.String name) throws java.io.IOException
name
- - set's namejava.io.IOException
public void addToBackupSet(java.lang.String name, java.lang.String[] newTables) throws java.io.IOException
name
- - set nametables
- - list of tables, comma-separatedjava.io.IOException
public void removeFromBackupSet(java.lang.String name, java.lang.String[] toRemove) throws java.io.IOException
name
- - set nametables
- - list of tables, comma-separatedjava.io.IOException
public void deleteBackupSet(java.lang.String name) throws java.io.IOException
name
- set's namejava.io.IOException
public static HTableDescriptor getSystemTableDescriptor()
public static java.lang.String getTableNameAsString()
public static TableName getTableName()