[ 
https://issues.apache.org/jira/browse/HADOOP-3007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raghu Angadi updated HADOOP-3007:
---------------------------------

    Attachment: HADOOP-3007.patch

Attached patch does the following :

* Renames conflicting arguments for receiveBlock().
* Replaces mirrorOut's accesses with : {code}
try {
  access mirrorOut;
} catch (IOException e) {
  handleMirrorOutError(e);
} {code}
* Note that with HADOOP-1702, number of places where mirrorOut is written to 
goes down and reduces repeat of the above pattern.
* It does not change any other behaviour. If this goes after HADOOP-3033, the 
patch will be smaller since 'currentWrite' is removed there.

> 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
>
>
> 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