Secondary Namenode dies when a mkdir on a non-existent parent directory is run ------------------------------------------------------------------------------
Key: HDFS-1904 URL: https://issues.apache.org/jira/browse/HDFS-1904 Project: Hadoop HDFS Issue Type: Bug Components: name-node Affects Versions: 0.23.0 Environment: Linux Reporter: Ravi Prakash Priority: Critical Steps to reproduce: 1. I pulled trunk using git. The last git commit were For hadoop-common commit bbd8581a905aa734015efb3a0366b33639f4c16f Author: Tsz-wo Sze <szets...@apache.org> Date: Fri May 6 22:03:13 2011 +0000 Remove the empty file accidentally checked it with HADOOP-7249. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1100400 13f79535-47bb-0310-9956-ffa450edef68 For hadoop-hdfs commit 1ca9d6518fe1341ca4082ef61ea40d2daa215ee7 Author: Todd Lipcon <t...@apache.org> Date: Sun May 8 20:43:24 2011 +0000 HDFS-1866. Document dfs.datanode.max.transfer.threads in hdfs-default.xml. Contributed by Harsh J Chouraria. git-svn-id: https://svn.apache.org/repos/asf/hadoop/hdfs/trunk@1100811 13f79535-47bb-0310-9956-ffa450edef68 2. Built using ant mvn-install. Setup three directories in dfs.name.dir. Formatted namenode. Started using start-dfs.sh 3. [ravihadoop@localhost hadoop]$ hdfs dfs -ls / # Initially the HDFS filesystem is empty [ravihadoop@localhost hadoop]$ hdfs dfs -mkdir /home/ravihadoop # /home here doesn't exist. But mkdir doesn't complain [ravihadoop@localhost hadoop]$ hdfs dfs -ls / Found 1 items drwxr-xr-x - ravihadoop supergroup 0 2011-05-09 12:24 /home [ravihadoop@localhost hadoop]$ hdfs dfs -ls /home Found 1 items drwxr-xr-x - ravihadoop supergroup 0 2011-05-09 12:24 /home/ravihadoop [ravihadoop@localhost hadoop]$ hdfs dfs -put ~/test.sh /home/ravihadoop/test.sh [ravihadoop@localhost hadoop]$ The last command makes the Secondary namenode keel over and die with this exception: 2011-05-09 12:25:03,611 INFO org.apache.hadoop.hdfs.util.GSet: VM type = 32-bit 2011-05-09 12:25:03,611 INFO org.apache.hadoop.hdfs.util.GSet: 2% max memory = 19.26 MB 2011-05-09 12:25:03,611 INFO org.apache.hadoop.hdfs.util.GSet: capacity = 2^22 = 4194304 entries 2011-05-09 12:25:03,611 INFO org.apache.hadoop.hdfs.util.GSet: recommended=4194304, actual=4194304 2011-05-09 12:25:03,750 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: fsOwner=ravihadoop 2011-05-09 12:25:03,750 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: supergroup=supergroup 2011-05-09 12:25:03,750 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true 2011-05-09 12:25:03,750 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: dfs.block.invalidate.limit=1000 2011-05-09 12:25:03,750 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isBlockTokenEnabled=false blockKeyUpdateInterval=0 min(s), blockTokenLifetime=0 min(s) 2011-05-09 12:25:03,751 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Caching file names occuring more than 10 times 2011-05-09 12:25:03,755 ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Throwable Exception in doCheckpoint: 2011-05-09 12:25:03,755 ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: java.lang.NullPointerException: Panic: parent does not exist at org.apache.hadoop.hdfs.server.namenode.FSDirectory.addChild(FSDirectory.java:1693) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.addChild(FSDirectory.java:1707) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.addNode(FSDirectory.java:1544) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.unprotectedAddFile(FSDirectory.java:288) at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:234) at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:116) at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:62) at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSEdits(FSImage.java:723) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$CheckpointStorage.doMerge(SecondaryNameNode.java:720) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode$CheckpointStorage.access$500(SecondaryNameNode.java:610) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doMerge(SecondaryNameNode.java:487) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doCheckpoint(SecondaryNameNode.java:448) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.doWork(SecondaryNameNode.java:312) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.run(SecondaryNameNode.java:276) at java.lang.Thread.run(Thread.java:619) 2011-05-09 12:25:03,756 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down SecondaryNameNode at localhost.localdomain/192.168.1.4 ************************************************************/ -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira