You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Konstantin Shvachko (JIRA)" <ji...@apache.org> on 2007/03/22 02:36:32 UTC
[jira] Created: (HADOOP-1142) NotReplicatedYetException is handled
incorrectly in DFSClient
NotReplicatedYetException is handled incorrectly in DFSClient
-------------------------------------------------------------
Key: HADOOP-1142
URL: https://issues.apache.org/jira/browse/HADOOP-1142
Project: Hadoop
Issue Type: Bug
Components: dfs
Affects Versions: 0.12.1, 0.10.0, 0.9.0
Reporter: Konstantin Shvachko
Priority: Minor
1) Looking at DFSOutputStream.locateFollowingBlock(), which catches a NotReplicatedYetException
and waits hoping that somebody else will replicate unreplicated block(s).
This is not going to happen because the client itself is responsible for confirming written blocks
(reportWrittenBlock()) to the name-node and nobody else will do it.
During pipelining the client sends the block body to data-nodes with shouldReportBlock set to false.
This means that data-nodes will not report anything to the name-node.
Which in case of locateFollowingBlock() means something bad has happened like HADOOP-1093
and the client should fail immediately rather than re-trying.
2) Both DFSOutputStream.locateFollowingBlock() and locateNewBlock() contain rather senseless
and somewhat misleading double infinite loops.
Owen confirms they were introduced by HADOOP-157. We should remove them.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.