[
https://issues.apache.org/jira/browse/HBASE-10549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921716#comment-13921716
]
Ted Yu commented on HBASE-10549:
--------------------------------
In deleteMetaInfo():
{code}
+ meta = new HTable(util.getConfiguration(),
HTableDescriptor.META_TABLEDESC.getTableName());
{code}
Close meta at the end of deleteMetaInfo().
{code}
+ // TODO Auto-generated catch block
+ e.printStackTrace();
{code}
Replace the above with log statement.
{code}
+ if (indexForCallable < 0
+ || (indexForCallable == startEndKeys.getFirst().length - 1)
+ && !Bytes.equals(startEndKeys.getSecond()[indexForCallable],
HConstants.EMPTY_BYTE_ARRAY)
+ || indexForCallable + 1 < startEndKeys.getFirst().length
+ && !(Bytes.compareTo(startEndKeys.getSecond()[indexForCallable],
+ startEndKeys.getFirst()[indexForCallable + 1]) == 0)) {
{code}
If you break the above check into 3, the exception message would point out the
exact cause, making it more user friendly.
> When there is a hole, LoadIncrementalHFiles will hang in an infinite loop.
> --------------------------------------------------------------------------
>
> Key: HBASE-10549
> URL: https://issues.apache.org/jira/browse/HBASE-10549
> Project: HBase
> Issue Type: Bug
> Components: HFile
> Affects Versions: 0.94.11
> Reporter: yuanxinen
> Fix For: 0.96.2, 0.98.1, 0.99.0, 0.94.18
>
> Attachments: HBASE-10549-trunk.patch
>
>
> First,I explan my test steps.
> 1.importtsv
> 2.split the region
> 3.delete the region info from .META.(make a hole)
> 4.LoadIncrementalHFiles (this step will hung up in an infinite loop)
> I check the log,there are two issues
> 1.it create _tmp folder in an infinite loop.
> hdfs://hacluster/output3/i/_tmp/_tmp/_tmp/_tmp/_tmp/_tmp/test_table,136.bottom
> 2.when slpliting the hfile,it put the first line data(1211) into two
> files(top and bottom)
> Input
> File=hdfs://hacluster/output3/i/3ac6ec287c644a8fb72d96b13e31f576,outFile=hdfs://hacluster/output3/i/_tmp/test_table,2.top,KeyValue=1211/i:value/1390469306407/Put/vlen=1/ts=0
> Input
> File=hdfs://hacluster/output3/i/3ac6ec287c644a8fb72d96b13e31f576,outFile=hdfs://hacluster/output3/i/_tmp/test_table,2.bottom,KeyValue=1211/i:value/1390469306407/Put/vlen=1/ts=0
> and then I check the code.
> So I think before spliting the hfile,we should check the consistency of
> startkey and endkey,if something wrong,we should throw the exception,and stop
> LoadIncrementalHFiles.
--
This message was sent by Atlassian JIRA
(v6.2#6252)