hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Liochon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8314) HLogSplitter can retry to open a 0-length hlog file
Date Fri, 12 Apr 2013 15:24:16 GMT

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

Nicolas Liochon commented on HBASE-8314:

I would expect that if we have the lease, we will be able to get the file length. Maybe a
subset of unfortunate synchronisations and caches can make this false. I would expect this
to be impossible on recent hdfs versions with HBASE-7878. This said, the patch won't break
anything (it's just a retry), and I have seen strange bugs on HDFS around this. May be we
should add a warning in the code we don't expect it to happen?
> HLogSplitter can retry to open a 0-length hlog file
> ---------------------------------------------------
>                 Key: HBASE-8314
>                 URL: https://issues.apache.org/jira/browse/HBASE-8314
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: region-server.log, trunk-8314.patch
> In case a HLog file is of size 0, and it is under recovery, HLogSplitter will fail to
open it since it can get the file length, therefore, master can't start.
> {noformat}
> java.io.IOException: Cannot obtain block length for LocatedBlock{...; getBlockSize()=0;
corrupt=false; offset=0; locs=[...]}
>     at org.apache.hadoop.hdfs.DFSInputStream.readBlockLength(DFSInputStream.java:238)
>     at org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:182)
>     at org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:124)
>     at org.apache.hadoop.hdfs.DFSInputStream.<init>(DFSInputStream.java:117)
>     at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1080)
> {noformat}

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message