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

dhruba borthakur commented on HADOOP-4663:
------------------------------------------

When a client is writing to a block on the datanode, it is good to create it in 
the "tmp" directory instead of the real block directory. This means that the 
datanode has a record that these blocks are not yet finalized and might need 
some recovery. In the typical case, existence of a block in the "tmp" directory 
means that the block is not yet confirmed to the namenode. In the current code, 
it is the client that actually triggers the recovery. 

Like Raghu proposed, it might be a good idea to name the original "tmp" 
directory as "tmp_writes". In fact, the blocks here are not temporary any more. 
It can be named as "blocks_inflight_dir" or something like that. However, if we 
change it now, won't we need an upgrade  that can handle the case when the 
"tmp" directory existed?

@Raghu: if we disable "sync" on 0.18.3, that will be an API incompatiblity from 
0.18.2. Is that acceptable?



> Datanode should delete files under tmp when upgraded from 0.17
> --------------------------------------------------------------
>
>                 Key: HADOOP-4663
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4663
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.18.0
>            Reporter: Raghu Angadi
>            Assignee: dhruba borthakur
>            Priority: Blocker
>             Fix For: 0.18.3
>
>         Attachments: deleteTmp.patch, deleteTmp2.patch
>
>
> Before 0.18, when Datanode restarts, it deletes files under data-dir/tmp  
> directory since these files are not valid anymore. But in 0.18 it moves these 
> files to normal directory incorrectly making them valid blocks. One of the 
> following would work :
> - remove the tmp files during upgrade, or
> - if the files under /tmp are in pre-18 format (i.e. no generation), delete 
> them.
> Currently effect of this bug is that, these files end up failing block 
> verification and eventually get deleted. But cause incorrect over-replication 
> at the namenode before that.
> Also it looks like our policy regd treating files under tmp needs to be 
> defined better. Right now there are probably one or two more bugs with it. 
> Dhruba, please file them if you rememeber.

-- 
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