[ 
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)

Reply via email to