[ https://issues.apache.org/jira/browse/HADOOP-1134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486444 ]
Raghu Angadi commented on HADOOP-1134: -------------------------------------- > If the only copy of a block has no CRC, shouldn't we still permit folks to > access the data somehow? I don't think we should just remove the block in > that case. Agreeed. earlier in the Jira I mentioned that Namnode should be enhanced to treat 'block corrupt' message from Datanode properly. i.e. try to create a new replica and not delete the block until a new replica can be created. I wanted to imply if CRC file does not exist, it will be treated just like a corrupt block (whatever the policy may be). I somehow thought you meant to distinguish between 'missing checksum' and 'checksum mismatch'. > access the data even if it doesn't have a checksum. Wouldn't that be > preferable to data loss? yes. This will be built into client-datanode data transfer protocol. > 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.