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