[ 
https://issues.apache.org/jira/browse/HBASE-20008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16370864#comment-16370864
 ] 

Toshihiro Suzuki edited comment on HBASE-20008 at 2/21/18 2:27 AM:
-------------------------------------------------------------------

[[email protected]] Sorry, forgot to mention. To reproduce the issue, we 
need the following diff:
{code}
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
index 0ed75a3..9eb20b0 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
@@ -183,8 +183,9 @@ public class RestoreSnapshotHandler extends 
TableEventHandler implements Snapsho
       String msg = "restore snapshot=" + 
ClientSnapshotDescriptionUtils.toString(snapshot)
           + " failed. Try re-running the restore command.";
       LOG.error(msg, e);
-      monitor.receive(new 
ForeignException(masterServices.getServerName().toString(), e));
-      throw new RestoreSnapshotException(msg, e);
+      IOException rse = new RestoreSnapshotException(msg, e, snapshot);
+      monitor.receive(new 
ForeignException(masterServices.getServerName().toString(), rse));
+      throw new RestoreSnapshotException(msg, rse);
     }
   }
{code}

Previously, it seems like the errors during restoring a snapshot are ignored 
and we should wrap IOException in RestoreSnapshotException as 
RestoreSnapshotException is DoNotRetryIOException.



was (Author: brfrn169):
[[email protected]] Sorry, forgot to mention. To reproduce the issue, we 
need the following diff:
{code}
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
index 0ed75a3..9eb20b0 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
@@ -183,8 +183,9 @@ public class RestoreSnapshotHandler extends 
TableEventHandler implements Snapsho
       String msg = "restore snapshot=" + 
ClientSnapshotDescriptionUtils.toString(snapshot)
           + " failed. Try re-running the restore command.";
       LOG.error(msg, e);
-      monitor.receive(new 
ForeignException(masterServices.getServerName().toString(), e));
-      throw new RestoreSnapshotException(msg, e);
+      IOException rse = new RestoreSnapshotException(msg, e, snapshot);
+      monitor.receive(new 
ForeignException(masterServices.getServerName().toString(), rse));
+      throw new RestoreSnapshotException(msg, rse);
     }
   }
{code}

Previously, it seems like the errors during restoring a snapshot ignores and we 
should wrap IOException in RestoreSnapshotException as RestoreSnapshotException 
is DoNotRetryIOException.


> [backport] NullPointerException when restoring a snapshot after splitting a 
> region
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-20008
>                 URL: https://issues.apache.org/jira/browse/HBASE-20008
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: stack
>            Assignee: Toshihiro Suzuki
>            Priority: Major
>         Attachments: HBASE-20008.branch-1.001.patch
>
>
> Bring parent fix back to branch-1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to