Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
When worked for HDFS-6532, I found that the error recovery will happens when responder close fails. The related codes:
{code:title=DataStreamer.java|borderStyle=solid} public void run() { long lastPacket = Time.monotonicNow(); TraceScope scope = null; while (!streamerClosed && dfsClient.clientRunning) { // if the Responder encountered an error, shutdown Responder if (errorState.hasError() && response != null) { try { response.close(); response.join(); response = null; } catch (InterruptedException e) { // If interruptedException happens, the response will not be set to null // and that will lead the error recovry. LOG.warn("Caught exception", e); } } // Here need add a finally block to set response as null ...
Can see the related comment:https://issues.apache.org/jira/browse/HDFS-6532?focusedCommentId=15448770&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15448770