Return-Path: X-Original-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C3FB47E26 for ; Thu, 15 Dec 2011 22:26:01 +0000 (UTC) Received: (qmail 72473 invoked by uid 500); 15 Dec 2011 22:26:01 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 72452 invoked by uid 500); 15 Dec 2011 22:26:01 -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 72444 invoked by uid 99); 15 Dec 2011 22:26:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Dec 2011 22:26:01 +0000 X-ASF-Spam-Status: No, hits=-2001.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Dec 2011 22:25:53 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 56FB8115771 for ; Thu, 15 Dec 2011 22:25:32 +0000 (UTC) Date: Thu, 15 Dec 2011 22:25:32 +0000 (UTC) From: "Todd Lipcon (Commented) (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <1696866051.17272.1323987932357.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <41277235.23317.1322602060004.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HDFS-2602) NN should log newly-allocated blocks without losing BlockInfo MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HDFS-2602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13170534#comment-13170534 ] Todd Lipcon commented on HDFS-2602: ----------------------------------- - can updateBlocks take the INodeFile object itself, rather than the path? In both cases, we already have the INodeFile object, so the lookup is redundant - in updateBlocks, in the case that the last block in the file is updating its generation stamp, don't you need to call {{oldBlock.setGenerationStamp(newBlock.getGenerationStamp()}}? Does append work correctly cross restart? - style nit: {{i++}} instead of {{i ++}} in the "adding blocks" case > NN should log newly-allocated blocks without losing BlockInfo > ------------------------------------------------------------- > > Key: HDFS-2602 > URL: https://issues.apache.org/jira/browse/HDFS-2602 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: ha > Affects Versions: HA branch (HDFS-1623) > Reporter: Todd Lipcon > Assignee: Aaron T. Myers > Priority: Critical > Attachments: HDFS-2602.patch, HDFS-2602.patch, HDFS-2602.patch > > > Without the patch in HDFS-1108, new block allocations aren't logged to the edits log. For HA, we'll need that functionality and we'll need to make sure that block locations aren't blown away in the Standby NN when tailing the edits log. > As described in HDFS-1975: > When we close a file, or add another block to a file, we write OP_CLOSE or OP_ADD in the txn log. FSEditLogLoader, when it sees these types of transactions, creates new BlockInfo objects for all of the blocks listed in the transaction. These new BlockInfos have no block locations associated. So, when we close a file, the SBNN loses its block locations info for that file and is no longer "hot". > I have an ugly hack which copies over the old BlockInfos from the existing INode, but I'm not convinced it's the right way. It might be cleaner to add new opcode types like OP_ADD_ADDITIONAL_BLOCK, and actually treat OP_CLOSE as just a finalization of INodeFileUnderConstruction to INodeFile, rather than replacing block info at all. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira