You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "stack (JIRA)" <ji...@apache.org> on 2009/11/12 02:58:40 UTC
[jira] Commented: (HDFS-630) In
DFSOutputStream.nextBlockOutputStream(), the client can exclude specific
datanodes when locating the next block.
[ https://issues.apache.org/jira/browse/HDFS-630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776791#action_12776791 ]
stack commented on HDFS-630:
----------------------------
Cosmin: I applied your patch but it seems to bring on an issue where I get "java.io.IOException: Cannot complete block: block has not been COMMITTED by the client" closing a log file. See the hdfs-user mailing list. Grep for message subject: "Cannot complete block: block has not been COMMITTED by the client". Do you see this? Thanks.
> In DFSOutputStream.nextBlockOutputStream(), the client can exclude specific datanodes when locating the next block.
> -------------------------------------------------------------------------------------------------------------------
>
> Key: HDFS-630
> URL: https://issues.apache.org/jira/browse/HDFS-630
> Project: Hadoop HDFS
> Issue Type: New Feature
> Components: hdfs client
> Affects Versions: 0.21.0
> Reporter: Ruyue Ma
> Assignee: Ruyue Ma
> Priority: Minor
> Fix For: 0.21.0
>
> Attachments: 0001-Fix-HDFS-630-for-0.21.patch, HDFS-630.patch
>
>
> created from hdfs-200.
> If during a write, the dfsclient sees that a block replica location for a newly allocated block is not-connectable, it re-requests the NN to get a fresh set of replica locations of the block. It tries this dfs.client.block.write.retries times (default 3), sleeping 6 seconds between each retry ( see DFSClient.nextBlockOutputStream).
> This setting works well when you have a reasonable size cluster; if u have few datanodes in the cluster, every retry maybe pick the dead-datanode and the above logic bails out.
> Our solution: when getting block location from namenode, we give nn the excluded datanodes. The list of dead datanodes is only for one block allocation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.