[
https://issues.apache.org/jira/browse/HDFS-7599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14273804#comment-14273804
]
Yongjun Zhang commented on HDFS-7599:
-------------------------------------
Hi [[email protected]],
Thanks a lot for your good suggestions and question. This exception is thrown
from DFSOutputStream, where the file name is available. The more complete
logging is:
{code}
if (nodes.length <= 1) {
lastException.set(new IOException("All datanodes " + pipelineMsg
+ " are bad. Aborting..."));
streamerClosed = true;
return false;
}
DFSClient.LOG.warn("Error Recovery for block " + block +
" in pipeline " + pipelineMsg +
": bad datanode " + nodes[errorIndex]);
{code}
When the log level of the application is only "ERROR", the WARN above is not
shown. Even if the WARN is shown, it doesn't show the file name too. I think it
will help to add the file name there too.
I will look into having a new exception and wiki article as you suggested.
> Add more information to exception msg when pipeline recovery fails
> ------------------------------------------------------------------
>
> Key: HDFS-7599
> URL: https://issues.apache.org/jira/browse/HDFS-7599
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: dfsclient
> Affects Versions: 2.6.0
> Reporter: Yongjun Zhang
> Assignee: Yongjun Zhang
> Labels: supportability
>
> When pipeline recovery fails with the following exception, can not easily
> identify the associated file and block, propose to add the info for better
> debuggability:
> {code}
> java.io.IOException: All datanodes <...> are bad. Aborting...
> at
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1127)
> at
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.processDatanodeError(DFSOutputStream.java:924)
> at
> org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:486)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)