[ https://issues.apache.org/jira/browse/HADOOP-1134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12483363 ]
Doug Cutting commented on HADOOP-1134: -------------------------------------- > I am not sure what exactly we are not agreeing on. I'm not sure whether we are disagreeing. I'm just trying to clarify things that sound ambiguous and limit the scope of this issue. You've implied that checksums may be computed on datanodes, and I don't think they ought to be, at least not by the patch for this issue. That might be a subsequent optimization. > How the data is checksummed at the client while reading could be different > from how the data is checksummed while writing. I'd vote against that for this issue. For this issue I think we ought to focus on changing where checksums are stored, but keep the end-to-end checksum story simple. The checksums we compute & check should be the same before and after this. Subsequently we may optimize and further complicate things. > If some checksum does not match with two others, then it is considered > corrupt. That would not catch corruptions that happened before the first copy is received. I'm not fully comfortable with this shortcut. > Block level CRCs in HDFS > ------------------------ > > Key: HADOOP-1134 > URL: https://issues.apache.org/jira/browse/HADOOP-1134 > Project: Hadoop > Issue Type: New Feature > Components: dfs > Reporter: Raghu Angadi > Assigned To: Raghu Angadi > > Currently CRCs are handled at FileSystem level and are transparent to core > HDFS. See recent improvement HADOOP-928 ( that can add checksums to a given > filesystem ) regd more about it. Though this served us well there a few > disadvantages : > 1) This doubles namespace in HDFS ( or other filesystem implementations ). In > many cases, it nearly doubles the number of blocks. Taking namenode out of > CRCs would nearly double namespace performance both in terms of CPU and > memory. > 2) Since CRCs are transparent to HDFS, it can not actively detect corrupted > blocks. With block level CRCs, Datanode can periodically verify the checksums > and report corruptions to namnode such that name replicas can be created. > We propose to have CRCs maintained for all HDFS data in much the same way as > in GFS. I will update the jira with detailed requirements and design. This > will include same guarantees provided by current implementation and will > include a upgrade of current data. > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.