Return-Path: Delivered-To: apmail-lucene-hadoop-dev-archive@locus.apache.org Received: (qmail 8950 invoked from network); 22 Feb 2007 23:34:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Feb 2007 23:34:27 -0000 Received: (qmail 44146 invoked by uid 500); 22 Feb 2007 23:34:35 -0000 Delivered-To: apmail-lucene-hadoop-dev-archive@lucene.apache.org Received: (qmail 44119 invoked by uid 500); 22 Feb 2007 23:34:35 -0000 Mailing-List: contact hadoop-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-dev@lucene.apache.org Delivered-To: mailing list hadoop-dev@lucene.apache.org Received: (qmail 44110 invoked by uid 99); 22 Feb 2007 23:34:34 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Feb 2007 15:34:34 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Feb 2007 15:34:25 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C82D87141E1 for ; Thu, 22 Feb 2007 15:34:05 -0800 (PST) Message-ID: <8744825.1172187245817.JavaMail.jira@brutus> Date: Thu, 22 Feb 2007 15:34:05 -0800 (PST) From: "dhruba borthakur (JIRA)" To: hadoop-dev@lucene.apache.org Subject: [jira] Updated: (HADOOP-940) pendingReplications of FSNamesystem is not informative In-Reply-To: <27276251.1169771269345.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] dhruba borthakur updated HADOOP-940: ------------------------------------ Attachment: pendingReplication.patch First version of code. Review comments welcome. A new thread that records all replications that are currently in progress. If a replication request does not complete in 10 minutes, then the block is put back in neededReplication. > pendingReplications of FSNamesystem is not informative > ------------------------------------------------------ > > Key: HADOOP-940 > URL: https://issues.apache.org/jira/browse/HADOOP-940 > Project: Hadoop > Issue Type: Improvement > Components: dfs > Affects Versions: 0.10.1 > Reporter: Hairong Kuang > Attachments: pendingReplication.patch > > > Currently when a neededReplication block is scheduled to be replicated, it is put to the pendingReplications queue. When it is no longer under replicated, it is pulled out of the pendingReplications queue. But the queue does not provide any information like how many targets have been choosen or who those targets are. PendingReplications are not used when deciding if a block is under replication. This may cause a block to be over replications or inaccurate estimate of its replication priority. > For example, when a block has 1 replicas but it's replication factor is 2, a data node is choosen to replicate this block and the block is put in the pendingReplications queue. If the block's replication factor is changed to be 3 before the block replication notification, which is the next block report, comes in, the block will be put into neededReplictions queue again under the assumption that it needs to choose 2 targets instead of 1. So the block will end up with 4 replicas. > I propose that we change pendingReplications to be a map from a block to the choosen data nodes. Data nodes in both pendingReplications and blockMap are used when deciding the total number of replicas that a block has. When the name node is notified that the block is replicated in a choosen data node, the data node is moved from pendingReplications to blockMap. > Each choosen target is also associated with a timer indicating how long it expects to receive the block replication notification. PendingReplications queue needs to be periodically scanned to remove those data nodes whose timer is expired. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.