Author: junping_du Date: Thu Dec 12 03:25:06 2013 New Revision: 1550339 URL: http://svn.apache.org/r1550339 Log: Merge 1550335 from trunk: HDFS-5637. Try to refeatchToken while local read InvalidToken occurred. (Liang Xie via junping_du)
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1550339&r1=1550338&r2=1550339&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Dec 12 03:25:06 2013 @@ -150,6 +150,9 @@ Release 2.4.0 - UNRELEASED HDFS-5023. TestSnapshotPathINodes.testAllowSnapshot is failing with jdk7 (Mit Desai via jeagles) + HDFS-5637. Try to refeatchToken while local read InvalidToken occurred. + (Liang Xie via junping_du) + OPTIMIZATIONS HDFS-5239. Allow FSNamesystem lock fairness to be configurable (daryn) Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java?rev=1550339&r1=1550338&r2=1550339&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java Thu Dec 12 03:25:06 2013 @@ -65,6 +65,7 @@ import org.apache.hadoop.ipc.RemoteExcep import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.net.unix.DomainSocket; import org.apache.hadoop.security.AccessControlException; +import org.apache.hadoop.security.token.SecretManager.InvalidToken; import org.apache.hadoop.security.token.Token; import org.apache.hadoop.util.IdentityHashStore; @@ -590,7 +591,8 @@ implements ByteBufferReadable, CanSetDro // The encryption key used is invalid. refetchEncryptionKey--; dfsClient.clearDataEncryptionKey(); - } else if (ex instanceof InvalidBlockTokenException && refetchToken > 0) { + } else if ((ex instanceof InvalidBlockTokenException || ex instanceof InvalidToken) + && refetchToken > 0) { DFSClient.LOG.info("Will fetch a new access token and retry, " + "access token was invalid when connecting to " + targetAddr + " : " + ex); @@ -976,7 +978,8 @@ implements ByteBufferReadable, CanSetDro // The encryption key used is invalid. refetchEncryptionKey--; dfsClient.clearDataEncryptionKey(); - } else if (e instanceof InvalidBlockTokenException && refetchToken > 0) { + } else if ((e instanceof InvalidBlockTokenException || e instanceof InvalidToken) + && refetchToken > 0) { DFSClient.LOG.info("Will get a new access token and retry, " + "access token was invalid when connecting to " + targetAddr + " : " + e);