[
https://issues.apache.org/jira/browse/HBASE-10900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13993877#comment-13993877
]
Hadoop QA commented on HBASE-10900:
-----------------------------------
{color:red}-1 overall{color}. Here are the results of testing the latest
attachment
http://issues.apache.org/jira/secure/attachment/12644142/HBASE-10900-trunk-v4.patch
against trunk revision .
ATTACHMENT ID: 12644142
{color:green}+1 @author{color}. The patch does not contain any @author
tags.
{color:green}+1 tests included{color}. The patch appears to include 14 new
or modified tests.
{color:green}+1 javac{color}. The applied patch does not increase the
total number of javac compiler warnings.
{color:red}-1 javadoc{color}. The javadoc tool appears to have generated 7
warning messages.
{color:red}-1 findbugs{color}. The patch appears to introduce 7 new
Findbugs (version 1.3.9) warnings.
{color:green}+1 release audit{color}. The applied patch does not increase
the total number of release audit warnings.
{color:red}-1 lineLengths{color}. The patch introduces the following lines
longer than 100:
+ + " -overwrite With this option, restore overwrites to
the existing table if there's any in\n"
+ + " The restore dependencies can be checked by
using \"-check\" option,\n"
+ + " or using \"hbase backup describe\" command.
Without this option, only\n"
+ throw new IOException("Existing table found in target while no
\"-overwrite\" option found");
{color:green}+1 site{color}. The mvn site goal succeeds with this patch.
{color:red}-1 core tests{color}. The patch failed these unit tests:
{color:red}-1 core zombie tests{color}. There are 1 zombie test(s):
Test results:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//testReport/
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output:
https://builds.apache.org/job/PreCommit-HBASE-Build/9491//console
This message is automatically generated.
> FULL table backup and restore
> -----------------------------
>
> Key: HBASE-10900
> URL: https://issues.apache.org/jira/browse/HBASE-10900
> Project: HBase
> Issue Type: Task
> Reporter: Demai Ni
> Assignee: Demai Ni
> Fix For: 0.99.0
>
> Attachments: HBASE-10900-fullbackup-trunk-v1.patch,
> HBASE-10900-trunk-v2.patch, HBASE-10900-trunk-v3.patch,
> HBASE-10900-trunk-v4.patch
>
>
> h2. Feature Description
> This is a subtask of
> [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] to support FULL
> backup/restore, and will complete the following function:
> {code:title=Backup Restore example|borderStyle=solid}
> /* backup from sourcecluster to targetcluster
> */
> /* if no table name specified, all tables from source cluster will be
> backuped */
> [sourcecluster]$ hbase backup create full
> hdfs://hostname.targetcluster.org:9000/userid/backupdir t1_dn,t2_dn,t3_dn
> /* restore on targetcluser, this is a local restore
> */
> /* backup_1396650096738 - backup image name
> */
> /* t1_dn,etc are the original table names. All tables will be restored if not
> specified */
> /* t1_dn_restore, etc. are the restored table. if not specified, orginal
> table name will be used*/
> [targetcluster]$ hbase restore /userid/backupdir backup_1396650096738
> t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore
> /* restore from targetcluster back to source cluster, this is a remote restore
> [sourcecluster]$ hbase restore
> hdfs://hostname.targetcluster.org:9000/userid/backupdir backup_1396650096738
> t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore
> {code}
> h2. Detail layout and frame work for the next jiras
> The patch is a wrapper of the existing snapshot and exportSnapshot, and will
> use as the base framework for the over-all solution of
> [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] as described
> below:
> * *bin/hbase* : end-user command line interface to invoke
> BackupClient and RestoreClient
> * *BackupClient.java* : 'main' entry for backup operations. This patch will
> only support 'full' backup. In future jiras, will support:
> ** *create* incremental backup
> ** *cancel* an ongoing backup
> ** *delete* an exisitng backup image
> ** *describe* the detailed informaiton of backup image
> ** show *history* of all successful backups
> ** show the *status* of the latest backup request
> ** *convert* incremental backup WAL files into HFiles. either on-the-fly
> during create or after create
> ** *merge* backup image
> ** *stop* backup a table of existing backup image
> ** *show* tables of a backup image
> * *BackupCommands.java* : a place to keep all the command usages and options
> * *BackupManager.java* : handle backup requests on server-side, create
> BACKUP ZOOKEEPER nodes to keep track backup. The timestamps kept in zookeeper
> will be used for future incremental backup (not included in this jira).
> Create BackupContext and DispatchRequest.
> * *BackupHandler.java* : in this patch, it is a wrapper of snapshot and
> exportsnapshot. In future jiras,
> ** *timestamps* info will be recorded in ZK
> ** carry on *incremental* backup.
> ** update backup *progress*
> ** set flags of *status*
> ** build up *backupManifest* file(in this jira only limited info for
> fullback. later on, timestamps and dependency of multipl backup images are
> also recorded here)
> ** clean up after *failed* backup
> ** clean up after *cancelled* backup
> ** allow on-the-fly *convert* during incremental backup
> * *BackupContext.java* : encapsulate backup information like backup ID, table
> names, directory info, phase, TimeStamps of backup progress, size of data,
> ancestor info, etc.
> * *BackupCopier.java* : the copying operation. Later on, to support
> progress report and mapper estimation; and extends DisCp for progress
> updating to ZK during backup.
> * *BackupExcpetion.java*: to handle exception from backup/restore
> * *BackupManifest.java* : encapsulate all the backup image information. The
> manifest info will be bundled as manifest file together with data. So that
> each backup image will contain all the info needed for restore.
> * *BackupStatus.java* : encapsulate backup status at table level during
> backup progress
> * *BackupUtil.java* : utility methods during backup process
> * *RestoreClient.java* : 'main' entry for restore operations. This patch
> will only support 'full' backup.
> * *RestoreUtil.java* : utility methods during restore process
> * *ExportSnapshot.java* : remove 'final' so that another class
> SnapshotCopy.java can extends from it
> * *SnapshotCopy.java* : only a wrapper at this moment. But will be extended
> to keep track progress(maybe should implemented in ExportSnapshot directly?)
> * *BackupRestoreConstants.java* : add the constants used by
> backup/restore code.
> * *HBackupFilesystem.java* : the filesystem related api used by
> BackupClient and RestoreClient.
> h2. Global log roll
> currently a customized one under *org.apache.hadoop.hbase.backup.master* and
> *org.apache.hadoop.hbase.backup.regionserver*
> A seperated jira will opened to provide a general 'global log roll', and
> fullbackup code will be modified to use the general 'global log roll' later
> h2. Questions for your inputs
> * currently, the code is under *hbase-sever* because it already contain a
> package name called 'backup'. Another place is *hbase-client*. Any
> prefereence?
> * Is bin/hbase the right place as CLI interface? another place would be hbase
> shell.
--
This message was sent by Atlassian JIRA
(v6.2#6252)