You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Appy (JIRA)" <ji...@apache.org> on 2016/07/11 18:59:11 UTC

[jira] [Commented] (HBASE-11625) Reading datablock throws "Invalid HFile block magic" and can not switch to hdfs checksum

    [ https://issues.apache.org/jira/browse/HBASE-11625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15371410#comment-15371410 ] 

Appy commented on HBASE-11625:
------------------------------

[~ndimiduk] Committing this now.
The unittest for this was something that struck me after long hard thinking and was the best thing i could do to test this. Testing this in live is not possible because that'd require corrupting hfiles (or simulating it) in hdfs, and i don't know how to do it.

Since this is core logic, any IT test should be enough to make sure that this fix (which is significantly different than master branch's fix) doesn't break anything.

> Reading datablock throws "Invalid HFile block magic" and can not switch to hdfs checksum 
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-11625
>                 URL: https://issues.apache.org/jira/browse/HBASE-11625
>             Project: HBase
>          Issue Type: Bug
>          Components: HFile
>    Affects Versions: 0.94.21, 0.98.4, 0.98.5, 1.0.1.1, 1.0.3
>            Reporter: qian wang
>            Assignee: Appy
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.2
>
>         Attachments: 2711de1fdf73419d9f8afc6a8b86ce64.gz, HBASE-11625-branch-1-v1.patch, HBASE-11625-branch-1.2-v1.patch, HBASE-11625-branch-1.2-v2.patch, HBASE-11625-branch-1.2-v3.patch, HBASE-11625-branch-1.2-v4.patch, HBASE-11625-master-v2.patch, HBASE-11625-master-v3.patch, HBASE-11625-master.patch, HBASE-11625.branch-1.1.001.patch, HBASE-11625.patch, correct-hfile, corrupted-header-hfile
>
>
> when using hbase checksum,call readBlockDataInternal() in hfileblock.java, it could happen file corruption but it only can switch to hdfs checksum inputstream till validateBlockChecksum(). If the datablock's header corrupted when b = new HFileBlock(),it throws the exception "Invalid HFile block magic" and the rpc call fail



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)