[ 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