[ 
https://issues.apache.org/jira/browse/HADOOP-3329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594481#action_12594481
 ] 

dhruba borthakur commented on HADOOP-3329:
------------------------------------------

I think it is worthwhile to *not* store the DatanodeDescriptor in the fsimage 
at all. The "append" code needs the location of the last block of the file to 
do lease recovery. In the case when the namenode restarts and before it does 
lease recovery, it will get the block locations of the last block from 
datanodes as part of block reports. 

> DatanodeDescriptor objects stored in FSImage may be out dated.
> --------------------------------------------------------------
>
>                 Key: HADOOP-3329
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3329
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>            Reporter: Tsz Wo (Nicholas), SZE
>
> INodeFileUnderConstruction.targets is a DatanodeDescriptor array which stores 
> the locations for last block.  These DatanodeDescriptors are serialized and 
> stored in the FSImage.  However, a DatanodeDescriptor contains information 
> like IP address and ports.  These information may be out dated after a 
> datanode restart.
> We should probably only stored the storageID of a DatanodeDescriptor in 
> FSImage and then lookup the DatanodeDescriptor object from the datanodeMap.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to