[
https://issues.apache.org/jira/browse/HBASE-8314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13647963#comment-13647963
]
Enis Soztutar commented on HBASE-8314:
--------------------------------------
Sorry to come late to this. After 7878, we should never be in a situation where
this patch is needed. Otherwise, it means that we can get a file length that is
shorter than the actual file length and lose data. Lease recovery triggers, two
things lease recovery and block recovery. Shall we do an addendum to log a
warning that this should not happen on the retry?
> 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
> Fix For: 0.98.0, 0.95.1
>
> Attachments: region-server.log, trunk-8314.patch, trunk-8314_v2.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