[
https://issues.apache.org/jira/browse/HDFS-1904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13031418#comment-13031418
]
Todd Lipcon commented on HDFS-1904:
-----------------------------------
Hi Ravi. Yes, I'm able to reproduce this on trunk. I wasn't able to repro on
branch-0.22, but I'm still trying to figure out what's going on.
If instead of having the secondary node do checkpoints every 3 seconds, I
manually start it with "hadoop secondarynamenode -checkpoint force" after each
operation, the issue does not occur. So I think it might be related to HDFS-1458
> 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.22.0
> Environment: Linux
> Reporter: Ravi Prakash
> Priority: Blocker
>
> Steps to reproduce:
> 1. I pulled trunk using git. The last git commit were
> For hadoop-common
> commit bbd8581a905aa734015efb3a0366b33639f4c16f
> Author: Tsz-wo Sze <[email protected]>
> 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 <[email protected]>
> 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