hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kihwal Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-7788) Post 2.6 namenode may not start up with an image containing inodes created with an old release.
Date Thu, 12 Feb 2015 18:05:13 GMT

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

Kihwal Lee commented on HDFS-7788:
----------------------------------

The stack trace:

{panel}
2015-02-09 19:02:28,361 \[main\] FATAL namenode.NameNode: Failed to start
namenode.java.lang.IllegalArgumentException: Illagal value: PREFERRED_BLOCK_SIZE = 0 <
MIN = 1
        at org.apache.hadoop.hdfs.util.LongBitFormat.combine(LongBitFormat.java:58)
        at org.apache.hadoop.hdfs.server.namenode.INodeFile$HeaderFormat.toLong(INodeFile.java:106)
        at org.apache.hadoop.hdfs.server.namenode.INodeFile.<init>(INodeFile.java:128)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode$Loader.loadINodeFile(FSImageFormatPBINode.java:291)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode$Loader.loadINode(FSImageFormatPBINode.java:266)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode$Loader.loadINodeSection(FSImageFormatPBINode.java:221)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormatProtobuf$Loader.loadInternal(FSImageFormatProtobuf.java:254)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormatProtobuf$Loader.load(FSImageFormatProtobuf.java:180)
        at org.apache.hadoop.hdfs.server.namenode.FSImageFormat$LoaderDelegator.load(FSImageFormat.java:226)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:926)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:910)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:729)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:665)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.doUpgrade(FSImage.java:374)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:268)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1053)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:757)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:538)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:597)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:764)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:748)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1441)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1507)
2015-02-09 19:02:28,381 \[main\] INFO util.ExitUtil: Exiting with status 1
2015-02-09 19:02:28,384 \[Thread-1\] INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at xxxx
************************************************************/
{panel}

> Post 2.6 namenode may not start up with an image containing inodes created with an old
release.
> -----------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7788
>                 URL: https://issues.apache.org/jira/browse/HDFS-7788
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Kihwal Lee
>            Priority: Blocker
>
> Before HDFS-4305, which was fixed in 2.1.0-beta, clients could specify arbitrarily small
preferred block size for a file including 0. This was normally done by faulty clients or failed
creates, but it was possible.
> Until 2.5, reading a fsimage containing inodes with 0 byte preferred block size was allowed.
So if a fsimage contained such an inode, the namenode would come up fine.  In 2.6, the preferred
block size is required be > 0. Because of this change, the image that worked with 2.5 may
not work with 2.6.
> If a cluster ran a version of hadoop earlier than 2.1.0-beta before, it is under this
risk even if it worked fine with 2.5.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message