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