MetaReader#fullScan doesn't stop scanning when vistor returns false in 0.90 version ------------------------------------------------------------------------------------
Key: HBASE-5020 URL: https://issues.apache.org/jira/browse/HBASE-5020 Project: HBase Issue Type: Bug Reporter: chunhui shen Attachments: hbase-5020.patch In current 0.90 code, {code} public static void fullScan(CatalogTracker catalogTracker, final Visitor visitor, final byte [] startrow) throws IOException { HRegionInterface metaServer = catalogTracker.waitForMetaServerConnectionDefault(); Scan scan = new Scan(); if (startrow != null) scan.setStartRow(startrow); scan.addFamily(HConstants.CATALOG_FAMILY); long scannerid = metaServer.openScanner( HRegionInfo.FIRST_META_REGIONINFO.getRegionName(), scan); try { Result data; while((data = metaServer.next(scannerid)) != null) { if (!data.isEmpty()) visitor.visit(data); } } finally { metaServer.close(scannerid); } return; } {code} If visitor.visit(data) return false, the scan will not stop; However, it is not the same as the description of Visitor {code} public interface Visitor { /** * Visit the catalog table row. * @param r A row from catalog table * @return True if we are to proceed scanning the table, else false if * we are to stop now. */ public boolean visit(final Result r) throws IOException; } {code} I think it is a miss, and trunk doesn't exist this hole. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira