[ 
https://issues.apache.org/jira/browse/HDFS-1094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12878534#action_12878534
 ] 

Rodrigo Schmidt commented on HDFS-1094:
---------------------------------------

For this JIRA I'm implementing a general idea, in which configuration variables 
determine a subset of the racks that can be used for each block and a subset of 
machines within that rack.

However, the NetworkTopology class from Hadoop Common lacks methods to list 
racks or limit machines within a rack. I think this is fundamental for this 
JIRA or any other complex block placement policy (NetworkTopology has a very 
limited API).

Even though it's possible to circumvent the NetworkTopology limitations by 
accessing the namenode directly (through FSNameSystem passed as FSClusterStats 
to BlockPlacementPolicy), this makes the code really ugly.

I would like to get the general opinion about extending NetworkTopology from 
hadoop common.


> Intelligent block placement policy to decrease probability of block loss
> ------------------------------------------------------------------------
>
>                 Key: HDFS-1094
>                 URL: https://issues.apache.org/jira/browse/HDFS-1094
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: name-node
>            Reporter: dhruba borthakur
>            Assignee: Rodrigo Schmidt
>         Attachments: prob.pdf, prob.pdf
>
>
> The current HDFS implementation specifies that the first replica is local and 
> the other two replicas are on any two random nodes on a random remote rack. 
> This means that if any three datanodes die together, then there is a 
> non-trivial probability of losing at least one block in the cluster. This 
> JIRA is to discuss if there is a better algorithm that can lower probability 
> of losing a block.

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