hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-11592) Closing a file has a wasteful preconditions in NameNode
Date Thu, 30 Mar 2017 23:07:41 GMT

    [ https://issues.apache.org/jira/browse/HDFS-11592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15950037#comment-15950037

Hudson commented on HDFS-11592:

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #11504 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/11504/])
HDFS-11592. Closing a file has a wasteful preconditions in NameNode. (liuml07: rev e5f0622a6f40706d360d45200c8f259c79046438)
* (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java

> Closing a file has a wasteful preconditions in NameNode
> -------------------------------------------------------
>                 Key: HDFS-11592
>                 URL: https://issues.apache.org/jira/browse/HDFS-11592
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Eric Badger
>            Assignee: Eric Badger
>             Fix For: 3.0.0-alpha3, 2.8.1
>         Attachments: HDFS-11592.001.patch
> When a file is closed, the NN checks if all the blocks are complete. Instead of a simple
'if (!complete) throw new IllegalState(expensive-err-string)" it invokes "Preconditions.checkStatus(complete,
expensive-err-string)". The check is done in a loop for all blocks, so more blocks = more
penalty. The expensive string should only be computed when an error actually occurs. A telltale
sign is seeing this in a stacktrace:
> {noformat}
>        at java.lang.Class.getEnclosingMethod0(Native Method)
>         at java.lang.Class.getEnclosingMethodInfo(Class.java:1072)
>         at java.lang.Class.getEnclosingClass(Class.java:1272)
>         at java.lang.Class.getSimpleBinaryName(Class.java:1443)
>         at java.lang.Class.getSimpleName(Class.java:1309)
>         at org.apache.hadoop.hdfs.server.namenode.INodeFile.assertAllBlocksComplete(INodeFile.java:246)
> {noformat}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message