Return-Path: Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: (qmail 13409 invoked from network); 16 Feb 2010 19:21:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Feb 2010 19:21:52 -0000 Received: (qmail 1679 invoked by uid 500); 16 Feb 2010 19:21:52 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 1632 invoked by uid 500); 16 Feb 2010 19:21:52 -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 1622 invoked by uid 99); 16 Feb 2010 19:21:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Feb 2010 19:21:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED 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, 16 Feb 2010 19:21:50 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 1582029A0012 for ; Tue, 16 Feb 2010 11:21:29 -0800 (PST) Message-ID: <1901697981.311221266348089086.JavaMail.jira@brutus.apache.org> Date: Tue, 16 Feb 2010 19:21:29 +0000 (UTC) From: "Suresh Srinivas (JIRA)" To: hdfs-issues@hadoop.apache.org Subject: [jira] Commented: (HDFS-946) NameNode should not return full path name when lisitng a diretory or getting the status of a file In-Reply-To: <2145634073.12491265229687974.JavaMail.jira@brutus.apache.org> 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-946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834396#action_12834396 ] Suresh Srinivas commented on HDFS-946: -------------------------------------- # TestDFSShell.java not sure why the methods are named starting with caps. Also is the change to this file needed? # FSDirectory.createFileStatus - consider moving isDirectory check outside. Also current code extends beyond 80 columns. # HDFSFileStatus #* consider naming it HdfsFileStatus #* final static public should public static final #* since this if for HDFS, comments in the code about different notions in the FS is not required in methods getPermission(), getOwner(), getGroup(), #* Some of the method parameters and other variables could be declared final # getFulName() - without unnecessary else code is more readable. Same for getFullPath() > NameNode should not return full path name when lisitng a diretory or getting the status of a file > ------------------------------------------------------------------------------------------------- > > Key: HDFS-946 > URL: https://issues.apache.org/jira/browse/HDFS-946 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Hairong Kuang > Assignee: Hairong Kuang > Fix For: 0.22.0 > > Attachments: HDFSFileStatus.patch, HDFSFileStatus1.patch > > > FSDirectory#getListring(String src) has the following code: > int i = 0; > for (INode cur : contents) { > listing[i] = createFileStatus(srcs+cur.getLocalName(), cur); > i++; > } > So listing a directory will return an array of FileStatus. Each FileStatus element has the full path name. This increases the return message size and adds non-negligible CPU time to the operation. > FSDirectory#getFileInfo(String) does not need to return the file name either. > Another optimization is that in the version of FileStatus that's used in the wire protocol, the field path does not need to be Path; It could be a String or a byte array ideally. This could avoid unnecessary creation of the Path objects at NameNode, thus help reduce the GC problem observed when a large number of getFileInfo or getListing operations hit NameNode. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.