diff --git a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/ColumnFamilyMismatchException.java b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/ColumnFamilyMismatchException.java index 87cc896e182d..3c1ecde57091 100644 --- a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/ColumnFamilyMismatchException.java +++ b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/ColumnFamilyMismatchException.java @@ -20,12 +20,13 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.hbase.HBaseIOException; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.yetus.audience.InterfaceAudience; @InterfaceAudience.Public -public final class ColumnFamilyMismatchException extends BackupException { +public final class ColumnFamilyMismatchException extends HBaseIOException { private final List mismatchedTables; private ColumnFamilyMismatchException(String msg, List mismatchedTables) { diff --git a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java index 88780fd28288..4aa076caeb14 100644 --- a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java +++ b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java @@ -267,6 +267,12 @@ private void updateFileLists(List activeFiles, List archiveFiles LOG.debug(newlyArchived.size() + " files have been archived."); } + /** + * @throws IOException If the execution of the backup fails + * @throws ColumnFamilyMismatchException If the column families of the current table do not match + * the column families for the last full backup. In which + * case, a full backup should be taken + */ @Override public void execute() throws IOException, ColumnFamilyMismatchException { try { @@ -489,7 +495,7 @@ private void verifyCfCompatibility(Set tables, try { fs = FileSystem.get(new URI(fullBackupInfo.getBackupRootDir()), conf); } catch (URISyntaxException e) { - throw new IOException("Unable to get fs", e); + throw new IOException("Unable to get fs for backup " + fullBackupInfo.getBackupId(), e); } SnapshotProtos.SnapshotDescription snapshotDescription =