HDFS-2976 corrected the previous wrong commit for this issue.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1298507 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b19d1186ab
commit
6c0c140350
|
@ -644,60 +644,6 @@ public class DFSClient implements java.io.Closeable {
|
||||||
return local;
|
return local;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Should the block access token be refetched on an exception
|
|
||||||
*
|
|
||||||
* @param ex Exception received
|
|
||||||
* @param targetAddr Target datanode address from where exception was received
|
|
||||||
* @return true if block access token has expired or invalid and it should be
|
|
||||||
* refetched
|
|
||||||
*/
|
|
||||||
private static boolean tokenRefetchNeeded(IOException ex,
|
|
||||||
InetSocketAddress targetAddr) {
|
|
||||||
/*
|
|
||||||
* Get a new access token and retry. Retry is needed in 2 cases. 1) When
|
|
||||||
* both NN and DN re-started while DFSClient holding a cached access token.
|
|
||||||
* 2) In the case that NN fails to update its access key at pre-set interval
|
|
||||||
* (by a wide margin) and subsequently restarts. In this case, DN
|
|
||||||
* re-registers itself with NN and receives a new access key, but DN will
|
|
||||||
* delete the old access key from its memory since it's considered expired
|
|
||||||
* based on the estimated expiration date.
|
|
||||||
*/
|
|
||||||
if (ex instanceof InvalidBlockTokenException || ex instanceof InvalidToken) {
|
|
||||||
LOG.info("Access token was invalid when connecting to " + targetAddr
|
|
||||||
+ " : " + ex);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Should the block access token be refetched on an exception
|
|
||||||
*
|
|
||||||
* @param ex Exception received
|
|
||||||
* @param targetAddr Target datanode address from where exception was received
|
|
||||||
* @return true if block access token has expired or invalid and it should be
|
|
||||||
* refetched
|
|
||||||
*/
|
|
||||||
private static boolean tokenRefetchNeeded(IOException ex,
|
|
||||||
InetSocketAddress targetAddr) {
|
|
||||||
/*
|
|
||||||
* Get a new access token and retry. Retry is needed in 2 cases. 1) When
|
|
||||||
* both NN and DN re-started while DFSClient holding a cached access token.
|
|
||||||
* 2) In the case that NN fails to update its access key at pre-set interval
|
|
||||||
* (by a wide margin) and subsequently restarts. In this case, DN
|
|
||||||
* re-registers itself with NN and receives a new access key, but DN will
|
|
||||||
* delete the old access key from its memory since it's considered expired
|
|
||||||
* based on the estimated expiration date.
|
|
||||||
*/
|
|
||||||
if (ex instanceof InvalidBlockTokenException || ex instanceof InvalidToken) {
|
|
||||||
LOG.info("Access token was invalid when connecting to " + targetAddr
|
|
||||||
+ " : " + ex);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cancel a delegation token
|
* Cancel a delegation token
|
||||||
* @param token the token to cancel
|
* @param token the token to cancel
|
||||||
|
|
Loading…
Reference in New Issue