Repository: hadoop Updated Branches: refs/heads/branch-2 6e0b55fe7 -> 156b92e36
HDFS-10735 Distcp using webhdfs on secure HA clusters fails with StandbyException (cherry picked from commit 701c27a7762294e1a5fb2b3ac81f5534aa37f667) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/156b92e3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/156b92e3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/156b92e3 Branch: refs/heads/branch-2 Commit: 156b92e36bb04252a1c3ee7b334809021d963254 Parents: 6e0b55f Author: Benoy Antony <[email protected]> Authored: Fri Oct 14 10:26:39 2016 -0700 Committer: Benoy Antony <[email protected]> Committed: Fri Oct 14 10:29:42 2016 -0700 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/156b92e3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java index 92e6901..7f9a02e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java @@ -90,6 +90,7 @@ import org.apache.hadoop.io.retry.RetryPolicies; import org.apache.hadoop.io.retry.RetryPolicy; import org.apache.hadoop.io.retry.RetryUtils; import org.apache.hadoop.ipc.RemoteException; +import org.apache.hadoop.ipc.StandbyException; import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.security.AccessControlException; import org.apache.hadoop.security.SecurityUtil; @@ -479,6 +480,13 @@ public class WebHdfsFileSystem extends FileSystem } IOException re = JsonUtilClient.toRemoteException(m); + + //check if exception is due to communication with a Standby name node + if (re.getMessage() != null && re.getMessage().endsWith( + StandbyException.class.getSimpleName())) { + LOG.trace("Detected StandbyException", re); + throw new IOException(re); + } // extract UGI-related exceptions and unwrap InvalidToken // the NN mangles these exceptions but the DN does not and may need // to re-fetch a token if either report the token is expired --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
