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