[ https://issues.apache.org/jira/browse/HDFS-5428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13825718#comment-13825718 ]
Tsz Wo (Nicholas), SZE commented on HDFS-5428: ---------------------------------------------- - In loadINode(..), we should also check if lastBlk.getNumBytes() < blockSize. If it is a full block, we should not convert it to BlockInfoUnderConstruction. - How about using inode id path (/.reserved/.inodes/<inodeid>) instead of .snapshot? - There are some white space changes in SnapshotManager and other places. > under construction files deletion after snapshot+checkpoint+nn restart leads > nn safemode > ---------------------------------------------------------------------------------------- > > Key: HDFS-5428 > URL: https://issues.apache.org/jira/browse/HDFS-5428 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 3.0.0, 2.2.0 > Reporter: Vinay > Assignee: Vinay > Attachments: HDFS-5428-v2.patch, HDFS-5428.000.patch, > HDFS-5428.001.patch, HDFS-5428.002.patch, HDFS-5428.003.patch, HDFS-5428.patch > > > 1. allow snapshots under dir /foo > 2. create a file /foo/test/bar and start writing to it > 3. create a snapshot s1 under /foo after block is allocated and some data has > been written to it > 4. Delete the directory /foo/test > 5. wait till checkpoint or do saveNameSpace > 6. restart NN. > NN enters to safemode. > Analysis: > Snapshot nodes loaded from fsimage are always complete and all blocks will be > in COMPLETE state. > So when the Datanode reports RBW blocks those will not be updated in > blocksmap. > Some of the FINALIZED blocks will be marked as corrupt due to length mismatch. -- This message was sent by Atlassian JIRA (v6.1#6144)