diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java index 1c5a593..cc6a7c9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java @@ -28,6 +28,7 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.hbase.RemoteExceptionHandler; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; @@ -36,6 +37,7 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.PositionedReadable; import org.apache.hadoop.fs.Seekable; import org.apache.hadoop.hbase.util.FSUtils; +import org.apache.hadoop.ipc.RemoteException; /** * The FileLink is a sort of hardlink, that allows access to a file given a set of locations. @@ -302,6 +304,9 @@ public class FileLink { return(in); } catch (FileNotFoundException e) { // Try another file location + } catch (RemoteException re) { + IOException remoteEx = RemoteExceptionHandler.checkIOException(re); + if (!(remoteEx instanceof FileNotFoundException)) throw re; } } throw new FileNotFoundException("Unable to open link: " + fileLink);