hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uma Maheswara Rao G (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5710) FSDirectory#getFullPathName should check inodes against null
Date Wed, 01 Jan 2014 06:27:50 GMT

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

Uma Maheswara Rao G commented on HDFS-5710:
-------------------------------------------

{code}
 /** Return the full path name of the specified inode */
  static String getFullPathName(INode inode) {
    INode[] inodes = getFullPathINodes(inode);
    return getFullPathName(inodes, inodes.length - 1);
  }
{code}
Yes, here NPE is possible. getFullPathINodes may return null in file deletion race, so, here
in next line it is getting length on that.

> FSDirectory#getFullPathName should check inodes against null
> ------------------------------------------------------------
>
>                 Key: HDFS-5710
>                 URL: https://issues.apache.org/jira/browse/HDFS-5710
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Ted Yu
>            Assignee: Uma Maheswara Rao G
>         Attachments: hdfs-5710-output.html
>
>
> From https://builds.apache.org/job/hbase-0.96-hadoop2/166/testReport/junit/org.apache.hadoop.hbase.mapreduce/TestTableInputFormatScan1/org_apache_hadoop_hbase_mapreduce_TestTableInputFormatScan1/
:
> {code}
> 2014-01-01 00:10:15,571 INFO  [IPC Server handler 2 on 50198] blockmanagement.BlockManager(1009):
BLOCK* addToInvalidates: blk_1073741967_1143 127.0.0.1:40188 127.0.0.1:46149 127.0.0.1:41496

> 2014-01-01 00:10:16,559 WARN  [org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationMonitor@93935b]
namenode.FSDirectory(1854): Could not get full path. Corresponding file might have deleted
already.
> 2014-01-01 00:10:16,560 FATAL [org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationMonitor@93935b]
blockmanagement.BlockManager$ReplicationMonitor(3127): ReplicationMonitor thread received
Runtime exception. 
> java.lang.NullPointerException
> 	at org.apache.hadoop.hdfs.server.namenode.FSDirectory.getFullPathName(FSDirectory.java:1871)
> 	at org.apache.hadoop.hdfs.server.namenode.INode.getFullPathName(INode.java:482)
> 	at org.apache.hadoop.hdfs.server.namenode.INodeFile.getName(INodeFile.java:316)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.chooseTarget(BlockPlacementPolicy.java:118)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeReplicationWorkForBlocks(BlockManager.java:1259)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeReplicationWork(BlockManager.java:1167)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.computeDatanodeWork(BlockManager.java:3158)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$ReplicationMonitor.run(BlockManager.java:3112)
> 	at java.lang.Thread.run(Thread.java:724)
> {code}
> Looks like getRelativePathINodes() returned null but getFullPathName() didn't check inodes
against null, leading to NPE.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message