You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by rm...@apache.org on 2024/10/28 23:00:31 UTC

(hbase) branch master updated: HBASE-28917 ColumnFamilyMismatchException mixes IA public and private (#6369)

This is an automated email from the ASF dual-hosted git repository.

rmattingly pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 1662ad84fdc HBASE-28917 ColumnFamilyMismatchException mixes IA public and private (#6369)
1662ad84fdc is described below

commit 1662ad84fdcd5a3129dfcdd7ee603e954f9bf5a7
Author: Hernan Romer <na...@gmail.com>
AuthorDate: Mon Oct 28 19:00:25 2024 -0400

    HBASE-28917 ColumnFamilyMismatchException mixes IA public and private (#6369)
    
    Co-authored-by: Hernan Gelaf-Romer <hg...@hubspot.com>
    Signed-off-by: Ray Mattingly <rm...@apache.org>
---
 .../hadoop/hbase/backup/impl/ColumnFamilyMismatchException.java   | 3 ++-
 .../hadoop/hbase/backup/impl/IncrementalTableBackupClient.java    | 8 +++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

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 87cc896e182..3c1ecde5709 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 @@ package org.apache.hadoop.hbase.backup.impl;
 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<TableName> mismatchedTables;
 
   private ColumnFamilyMismatchException(String msg, List<TableName> 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 88780fd2828..4aa076caeb1 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 @@ public class IncrementalTableBackupClient extends TableBackupClient {
     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 @@ public class IncrementalTableBackupClient extends TableBackupClient {
         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 =