[ https://issues.apache.org/jira/browse/HDFS-6908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14108592#comment-14108592 ]
Hadoop QA commented on HDFS-6908: --------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12663979/HDFS-6908.003.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 1 new or modified test files. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. There were no new javadoc warning messages. {color:green}+1 eclipse:eclipse{color}. The patch built with eclipse:eclipse. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 core tests{color}. The patch failed these unit tests in hadoop-hdfs-project/hadoop-hdfs: org.apache.hadoop.hdfs.TestFileAppend org.apache.hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFS org.apache.hadoop.hdfs.web.TestWebHdfsFileSystemContract {color:green}+1 contrib tests{color}. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/7744//testReport/ Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/7744//console This message is automatically generated. > incorrect snapshot directory diff generated by snapshot deletion > ---------------------------------------------------------------- > > Key: HDFS-6908 > URL: https://issues.apache.org/jira/browse/HDFS-6908 > Project: Hadoop HDFS > Issue Type: Bug > Components: snapshots > Reporter: Juan Yu > Assignee: Juan Yu > Priority: Critical > Attachments: HDFS-6908.001.patch, HDFS-6908.002.patch, > HDFS-6908.003.patch > > > In the following scenario, delete snapshot could generate incorrect snapshot > directory diff and corrupted fsimage, if you restart NN after that, you will > get NullPointerException. > 1. create a directory and create a file under it > 2. take a snapshot > 3. create another file under that directory > 4. take second snapshot > 5. delete both files and the directory > 6. delete second snapshot > incorrect directory diff will be generated. > Restart NN will throw NPE > {code} > java.lang.NullPointerException > at > org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot$Loader.addToDeletedList(FSImageFormatPBSnapshot.java:246) > at > org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot$Loader.loadDeletedList(FSImageFormatPBSnapshot.java:265) > at > org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot$Loader.loadDirectoryDiffList(FSImageFormatPBSnapshot.java:328) > at > org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot$Loader.loadSnapshotDiffSection(FSImageFormatPBSnapshot.java:192) > 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:168) > at > org.apache.hadoop.hdfs.server.namenode.FSImageFormat$LoaderDelegator.load(FSImageFormat.java:208) > at > org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:906) > at > org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:892) > at > org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:715) > at > org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:653) > at > org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:276) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:882) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:629) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:498) > at > org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:554) > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)