hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1904) Secondary Namenode dies when a mkdir on a non-existent parent directory is run
Date Tue, 10 May 2011 22:41:47 GMT

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

Todd Lipcon commented on HDFS-1904:
-----------------------------------

Yes, I've verified that this is due to HDFS-1458. I applied the following change to disable
the behavior from that JIRA:

{noformat}
diff --git a/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java b/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
index 0fc7167..f5bf4fc 100644
--- a/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
+++ b/src/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
@@ -348,7 +348,7 @@ public class SecondaryNameNode implements Runnable {
             Collection<File> list;
             File[] srcNames;
             boolean downloadImage = true;
-            if (sig.imageDigest.equals(
+            if (false && sig.imageDigest.equals(
                     checkpointImage.getStorage().imageDigest)) {
               downloadImage = false;
               LOG.info("Image has not changed. Will not download image.");
{noformat}

and cannot reproduce the problem. Good news is that this means it's only on trunk, not 0.22.

> 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 <szetszwo@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 <todd@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

Mime
View raw message