HBASE-15076 Add getScanner(Scan scan, List<KeyValueScanner> additionalScanners) API into Region interface (Anoop Sam John)

This commit is contained in:
stack 2016-01-07 13:45:01 -08:00
parent 3d3677932a
commit 5bde960b95
2 changed files with 31 additions and 10 deletions

View File

@ -2575,6 +2575,12 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
return getScanner(scan, true); return getScanner(scan, true);
} }
@Override
public RegionScanner getScanner(Scan scan, List<KeyValueScanner> additionalScanners)
throws IOException {
return getScanner(scan, additionalScanners, true);
}
public RegionScanner getScanner(Scan scan, boolean copyCellsFromSharedMem) throws IOException { public RegionScanner getScanner(Scan scan, boolean copyCellsFromSharedMem) throws IOException {
RegionScanner scanner = getScanner(scan, null, copyCellsFromSharedMem); RegionScanner scanner = getScanner(scan, null, copyCellsFromSharedMem);
return scanner; return scanner;

View File

@ -392,6 +392,21 @@ public interface Region extends ConfigurationObserver {
*/ */
RegionScanner getScanner(Scan scan) throws IOException; RegionScanner getScanner(Scan scan) throws IOException;
/**
* Return an iterator that scans over the HRegion, returning the indicated columns and rows
* specified by the {@link Scan}. The scanner will also include the additional scanners passed
* along with the scanners for the specified Scan instance. Should be careful with the usage to
* pass additional scanners only within this Region
* <p>
* This Iterator must be closed by the caller.
*
* @param scan configured {@link Scan}
* @param additionalScanners Any additional scanners to be used
* @return RegionScanner
* @throws IOException read exceptions
*/
RegionScanner getScanner(Scan scan, List<KeyValueScanner> additionalScanners) throws IOException;
/** The comparator to be used with the region */ /** The comparator to be used with the region */
CellComparator getCellCompartor(); CellComparator getCellCompartor();