Author: kihwal Date: Mon Feb 3 16:25:02 2014 New Revision: 1563972 URL: http://svn.apache.org/r1563972 Log: svn merge -c 1550335 merging from truk to branch-0.23 to fix:HDFS-5637. Try to refeatchToken while local read InvalidToken occurred.
Modified: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java Modified: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1563972&r1=1563971&r2=1563972&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Mon Feb 3 16:25:02 2014 @@ -36,6 +36,9 @@ Release 0.23.10 - 2013-12-09 HDFS-4995. Make getContentSummary less expensive. (kihwal) + 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 via Modified: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java?rev=1563972&r1=1563971&r2=1563972&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java Mon Feb 3 16:25:02 2014 @@ -47,6 +47,7 @@ import org.apache.hadoop.ipc.RPC; import org.apache.hadoop.ipc.RemoteException; import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.security.AccessControlException; +import org.apache.hadoop.security.token.SecretManager.InvalidToken; import org.apache.hadoop.security.token.Token; /**************************************************************** @@ -419,7 +420,8 @@ public class DFSInputStream extends FSIn } return chosenNode; } catch (IOException ex) { - if (ex instanceof InvalidBlockTokenException && refetchToken > 0) { + 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); @@ -690,7 +692,8 @@ public class DFSInputStream extends FSIn dfsClient.disableShortCircuit(); continue; } catch (IOException e) { - if (e instanceof InvalidBlockTokenException && refetchToken > 0) { + 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);