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

Jimmy Xiang commented on HBASE-8314:
------------------------------------

HBASE-7878 should take care of lease recovery. But there still a chance we 
can't open the file, right? For example, if the file is under recovery, we can 
have the lease, but still don't know the block length?

I think this fix and 7878 both help in solving some HDFS related issue.
                
> 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

Reply via email to