Return-Path: Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: (qmail 74682 invoked from network); 7 Jul 2009 01:25:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Jul 2009 01:25:26 -0000 Received: (qmail 38434 invoked by uid 500); 7 Jul 2009 01:25:36 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 38397 invoked by uid 500); 7 Jul 2009 01:25:36 -0000 Mailing-List: contact hdfs-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-issues@hadoop.apache.org Delivered-To: mailing list hdfs-issues@hadoop.apache.org Received: (qmail 38387 invoked by uid 99); 7 Jul 2009 01:25:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jul 2009 01:25:36 +0000 X-ASF-Spam-Status: No, hits=-1998.8 required=10.0 tests=ALL_TRUSTED,FS_REPLICA X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jul 2009 01:25:34 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id CE4A5234C004 for ; Mon, 6 Jul 2009 18:25:14 -0700 (PDT) Message-ID: <1094271464.1246929914830.JavaMail.jira@brutus> Date: Mon, 6 Jul 2009 18:25:14 -0700 (PDT) From: "Matei Zaharia (JIRA)" To: hdfs-issues@hadoop.apache.org Subject: [jira] Commented: (HDFS-385) Design a pluggable interface to place replicas of blocks in HDFS MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HDFS-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727863#action_12727863 ] Matei Zaharia commented on HDFS-385: ------------------------------------ Hey Dhruba, a couple of quick questions: * Why is excludedNodes a HashMap? A HashSet should perform at least as well and use less memory. * Why is verifyBlockPlacement part of the abstract API? It seems to be something that can be checked regardless of the replication policy as long as you know the network topology. Is this just in case the policy does not want to use the existing NetworkTopology class? > Design a pluggable interface to place replicas of blocks in HDFS > ---------------------------------------------------------------- > > Key: HDFS-385 > URL: https://issues.apache.org/jira/browse/HDFS-385 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: dhruba borthakur > Assignee: dhruba borthakur > Fix For: 0.21.0 > > Attachments: BlockPlacementPluggable.txt, BlockPlacementPluggable2.txt, BlockPlacementPluggable3.txt, BlockPlacementPluggable4.txt, BlockPlacementPluggable4.txt > > > The current HDFS code typically places one replica on local rack, the second replica on remote random rack and the third replica on a random node of that remote rack. This algorithm is baked in the NameNode's code. It would be nice to make the block placement algorithm a pluggable interface. This will allow experimentation of different placement algorithms based on workloads, availability guarantees and failure models. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.