ZanderXu commented on PR #4369:
URL: https://github.com/apache/hadoop/pull/4369#issuecomment-1148728940

   Thanks @Hexiaoqiao .
   When client is recovering pipeline, the source dn of selected to transfer 
block to new DN may be abnormal, so that the source dn cannot transfer the 
block to the new node normally, but the failed exception not returned to the 
client,  caused the client to think that the transfer is completed 
successfully. Because new DN not contains the block, so client will fail to 
build the pipeline and mark the new DN is bad. And then Client will add the new 
DN into exclude list to get a new DN for the new loop pipeline recovery. 
   The new pipeline recovery will still choose the abnormal dn as source dn to 
transfer block, and will failed again..
   
   So Dn should return the failed transfer exception to client, so that client 
can choose anther existed dn as source dn to transfer the block to new DN.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to