hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4663) Datanode should delete files under tmp when upgraded from 0.17
Date Mon, 17 Nov 2008 19:23:44 GMT

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

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

Actualy, on second thoughts, this does not seem to be a bug. For example, let's say that we
have a cluster that is running 0.20 release of hadoop. When you restart a datanode, all files
in the "tmp" directory need to be moved to the real block directory. The reason being that
a FileSystem.sync() call demands that data once written to the datanode should persist. Thus,
the problem you are seeing is not related to cluster upgrade.

≥these files end up failing block verification and eventually get deleted. But cause incorrect
over-replication at the namenode before that.

Maybe we should try to improve the situation here. Is it possible to put the blocks that got
moved from "tmp" to the real block directory at the head of the block-to-verify list so that
their CRC validation occur first? 

Another optimization (that i do not particularly like) is that the client can tell the datanode
if the client has invoked FileSystem.sync(). The Datanode can persist this information. At
datanode startup time, the Datanode moves only those blocks that were marked as "synced" earlier.


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


Mime
View raw message