[ 
https://issues.apache.org/jira/browse/HADOOP-3007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12580593#action_12580593
 ] 

dhruba borthakur commented on HADOOP-3007:
------------------------------------------

All code looks good except the first block.

This portion of code is used when the socket connection is being set up. At 
this point, it is better for the connection request to fail if any one mirror 
fails so that the client can get a fresh new set of 3 datanodes for the 
pipeline and start all over again.

> DataNode pipelining : failure on mirror results in failure on upstream 
> datanode
> -------------------------------------------------------------------------------
>
>                 Key: HADOOP-3007
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3007
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.16.0
>            Reporter: Raghu Angadi
>            Assignee: Raghu Angadi
>            Priority: Blocker
>             Fix For: 0.16.2
>
>         Attachments: HADOOP-3007.patch, HADOOP-3007.patch
>
>
> When datanode is transfering data to other datanodes (as opposed to a client 
> write()), DN currently receiving the data is supposed to continued to receive 
> even if the downstream (mirror) datanode fails.
> I think there are two minor bugs in receiveBlock() :
> # mirrorSock masks this.mirrorSock, which could be set to null by other 
> members like receiveChunk() to indicate failure.
> # when this.mirrorSock is non null, failure to write to it at in 
> receiveBlock() should be handled same way as in receiveChunk().
> I am not sure if this should block 0.16.1, but should surely block 0.16.2.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to