Skip to content

Commit

Permalink
HBASE-17508 Unify the implementation of small scan and regular scan f…
Browse files Browse the repository at this point in the history
…or sync client
  • Loading branch information
Apache9 committed Feb 5, 2017
1 parent 4e77b18 commit ffa0cea
Show file tree
Hide file tree
Showing 29 changed files with 520 additions and 1,817 deletions.
Expand Up @@ -560,16 +560,12 @@ public static Scan getScanForTableName(Connection connection, TableName tableNam
// Stop key appends the smallest possible char to the table name // Stop key appends the smallest possible char to the table name
byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION); byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);


Scan scan = getMetaScan(connection); Scan scan = getMetaScan(connection, -1);
scan.setStartRow(startKey); scan.setStartRow(startKey);
scan.setStopRow(stopKey); scan.setStopRow(stopKey);
return scan; return scan;
} }


private static Scan getMetaScan(Connection connection) {
return getMetaScan(connection, Integer.MAX_VALUE);
}

private static Scan getMetaScan(Connection connection, int rowUpperLimit) { private static Scan getMetaScan(Connection connection, int rowUpperLimit) {
Scan scan = new Scan(); Scan scan = new Scan();
int scannerCaching = connection.getConfiguration() int scannerCaching = connection.getConfiguration()
Expand All @@ -579,11 +575,11 @@ private static Scan getMetaScan(Connection connection, int rowUpperLimit) {
HConstants.DEFAULT_USE_META_REPLICAS)) { HConstants.DEFAULT_USE_META_REPLICAS)) {
scan.setConsistency(Consistency.TIMELINE); scan.setConsistency(Consistency.TIMELINE);
} }
if (rowUpperLimit <= scannerCaching) { if (rowUpperLimit > 0) {
scan.setSmall(true); scan.setLimit(rowUpperLimit);
scan.setReadType(Scan.ReadType.PREAD);
} }
int rows = Math.min(rowUpperLimit, scannerCaching); scan.setCaching(scannerCaching);
scan.setCaching(rows);
return scan; return scan;
} }
/** /**
Expand Down
Expand Up @@ -377,8 +377,8 @@ private void locateInMeta(TableName tableName, LocateRequest req) {
metaKey = createRegionName(tableName, req.row, NINES, false); metaKey = createRegionName(tableName, req.row, NINES, false);
} }
conn.getRawTable(META_TABLE_NAME) conn.getRawTable(META_TABLE_NAME)
.scanAll(new Scan().withStartRow(metaKey).setReversed(true).setReadType(ReadType.PREAD) .scanAll(new Scan().withStartRow(metaKey).setReversed(true).addFamily(CATALOG_FAMILY)
.addFamily(CATALOG_FAMILY).setLimit(1)) .setOneRowLimit())
.whenComplete((results, error) -> onScanComplete(tableName, req, results, error)); .whenComplete((results, error) -> onScanComplete(tableName, req, results, error));
} }


Expand Down

Large diffs are not rendered by default.

This file was deleted.

0 comments on commit ffa0cea

Please sign in to comment.