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] Updated: (HADOOP-2012) Periodic verification at the Datanode
Date Tue, 09 Oct 2007 04:36:50 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-2012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

dhruba borthakur updated HADOOP-2012:
-------------------------------------

    Component/s: dfs
    Description: 
Currently on-disk data corruption on data blocks is detected only when it is read by the client
or by another datanode.  These errors are detected much earlier if datanode can periodically
verify the data checksums for the local blocks.

Some of the issues to consider :

- How should we check the blocks ( no more often than once every couple of weeks ?)
- How do we keep track of when a block was last verfied ( there is a .meta file associcated
with each lock ).
- What action to take once a corruption is detected
- Scanning should be done as a very low priority with rest of the datanode disk traffic in
mind.

  was:

Currently on-disk data corruption on data blocks is detected only when it is read by the client
or by another datanode.  These errors are detected much earlier if datanode can periodically
verify the data checksums for the local blocks.

Some of the issues to consider :

- How should we check the blocks ( no more often than once every couple of weeks ?)
- How do we keep track of when a block was last verfied ( there is a .meta file associcated
with each lock ).
- What action to take once a corruption is detected
- Scanning should be done as a very low priority with rest of the datanode disk traffic in
mind.


Another proposal would be to dedicate a certain percentage of the disk bandwidth (e.g. 5%)
to verifications tasks. (I believe HDFS adopts a similar approach for rebalancing, wherein
a certain bandwidth is reserved for rebalancing jobs).

The Datanode would continuously keep verifying blocks in a round-robin manner. Would it be
enough to store the last verification time of a block only on memory (and not on the disk)
and start on a random block when datanode restarts? Once a corruption is detected, it can
remove that block and trigger a block report.

> Periodic verification at the Datanode
> -------------------------------------
>
>                 Key: HADOOP-2012
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2012
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: dfs
>            Reporter: Raghu Angadi
>            Assignee: Raghu Angadi
>
> Currently on-disk data corruption on data blocks is detected only when it is read by
the client or by another datanode.  These errors are detected much earlier if datanode can
periodically verify the data checksums for the local blocks.
> Some of the issues to consider :
> - How should we check the blocks ( no more often than once every couple of weeks ?)
> - How do we keep track of when a block was last verfied ( there is a .meta file associcated
with each lock ).
> - What action to take once a corruption is detected
> - Scanning should be done as a very low priority with rest of the datanode disk traffic
in mind.

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