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

Vinay commented on HDFS-5283:
-----------------------------

Thanks zing for the update on patch.

bq. For dir-deletion scenario, instead of changing the current snapshot code 
(i.e., to convert all the INodeFileUC under the deleted dir to 
INodeFIleUCWithSnapshot),
We need to have some reference which tells that the BlockCollection resides 
inside the snapshot if we are not able to find outside. I think In directory 
delete case with snapshot, changing the Inode types recursively is necessary. 
This keeps the behaviour of both cases ( file deletion and directory deletion ) 
in consistent.
Any thoughts..?


I have small queries on the patch:
1. {{storedBlock.addNode(node);}} is it required.? This is done only for the 
finalized blocks.
2. {noformat}   /*
     * 1. if bc is an instance of INodeFileUnderConstructionWithSnapshot, and
     * bc is not in the current fsdirectory tree, bc must represent a snapshot
     * file. 
     * 2. if fullName is not an absolute path, bc cannot be existent in the 
     * current fsdirectory tree. 
     * 3. if bc is not the current node associated with fullName, bc must be a
     * snapshot inode.
     */
    return true;{noformat}
As of current code for all three cases returning true without explicitly 
checking holds good. But in any of the future changes in the code related in 
this area we will still get true as return value. Do you think we need to check 
something here.?

> NN not coming out of startup safemode due to under construction blocks only 
> inside snapshots also counted in safemode threshhold
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-5283
>                 URL: https://issues.apache.org/jira/browse/HDFS-5283
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: snapshots
>    Affects Versions: 3.0.0, 2.1.1-beta
>            Reporter: Vinay
>            Assignee: Vinay
>            Priority: Blocker
>         Attachments: HDFS-5283.000.patch, HDFS-5283.patch, HDFS-5283.patch
>
>
> This is observed in one of our env:
> 1. A MR Job was running which has created some temporary files and was 
> writing to them.
> 2. Snapshot was taken
> 3. And Job was killed and temporary files were deleted.
> 4. Namenode restarted.
> 5. After restart Namenode was in safemode waiting for blocks
> Analysis
> ---------
> 1. Since the snapshot taken also includes the temporary files which were 
> open, and later original files are deleted.
> 2. UnderConstruction blocks count was taken from leases. not considered the 
> UC blocks only inside snapshots
> 3. So safemode threshold count was more and NN did not come out of safemode



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to