HDFS-2209 datanode connection failure logging

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1180353 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Steve Loughran 2011-10-08 10:41:56 +00:00
parent 4972959173
commit 3ab2e79ad7
2 changed files with 12 additions and 5 deletions

View File

@ -798,6 +798,9 @@ Release 0.23.0 - Unreleased
HDFS-2209. Make MiniDFS easier to embed in other apps. (stevel) HDFS-2209. Make MiniDFS easier to embed in other apps. (stevel)
HDFS-2205. Log message for failed connection to datanode is not
followed by a success message. (Ravi Prakash via stevel)
OPTIMIZATIONS OPTIMIZATIONS
HDFS-1458. Improve checkpoint performance by avoiding unnecessary image HDFS-1458. Improve checkpoint performance by avoiding unnecessary image

View File

@ -388,6 +388,8 @@ private synchronized DatanodeInfo blockSeekTo(long target) throws IOException {
DatanodeInfo chosenNode = null; DatanodeInfo chosenNode = null;
int refetchToken = 1; // only need to get a new access token once int refetchToken = 1; // only need to get a new access token once
boolean connectFailedOnce = false;
while (true) { while (true) {
// //
// Compute desired block // Compute desired block
@ -409,6 +411,10 @@ private synchronized DatanodeInfo blockSeekTo(long target) throws IOException {
accessToken, accessToken,
offsetIntoBlock, blk.getNumBytes() - offsetIntoBlock, offsetIntoBlock, blk.getNumBytes() - offsetIntoBlock,
buffersize, verifyChecksum, dfsClient.clientName); buffersize, verifyChecksum, dfsClient.clientName);
if(connectFailedOnce) {
DFSClient.LOG.info("Successfully connected to " + targetAddr +
" for block " + blk.getBlockId());
}
return chosenNode; return chosenNode;
} catch (IOException ex) { } catch (IOException ex) {
if (ex instanceof InvalidBlockTokenException && refetchToken > 0) { if (ex instanceof InvalidBlockTokenException && refetchToken > 0) {
@ -428,11 +434,9 @@ private synchronized DatanodeInfo blockSeekTo(long target) throws IOException {
refetchToken--; refetchToken--;
fetchBlockAt(target); fetchBlockAt(target);
} else { } else {
DFSClient.LOG.warn("Failed to connect to " + targetAddr connectFailedOnce = true;
+ ", add to deadNodes and continue " + ex); DFSClient.LOG.warn("Failed to connect to " + targetAddr + " for block"
if (DFSClient.LOG.isDebugEnabled()) { + ", add to deadNodes and continue. " + ex, ex);
DFSClient.LOG.debug("Connection failure ", ex);
}
// Put chosen node into dead list, continue // Put chosen node into dead list, continue
addToDeadNodes(chosenNode); addToDeadNodes(chosenNode);
} }