HBASE-26108 add option to disable scanMetrics in TableSnapshotInputFormat (#3520)

Signed-off-by Anoop Sam John <anoopsamjohn@apache.org>
This commit is contained in:
huaxiangsun 2021-07-22 12:22:31 -07:00 committed by GitHub
parent b42676c29d
commit d10847cc3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -107,6 +107,14 @@ public class TableSnapshotInputFormatImpl {
public static final String SNAPSHOT_INPUTFORMAT_ROW_LIMIT_PER_INPUTSPLIT =
"hbase.TableSnapshotInputFormat.row.limit.per.inputsplit";
/**
* Whether to enable scan metrics on Scan, default to true
*/
public static final String SNAPSHOT_INPUTFORMAT_SCAN_METRICS_ENABLED =
"hbase.TableSnapshotInputFormat.scan_metrics.enabled";
public static final boolean SNAPSHOT_INPUTFORMAT_SCAN_METRICS_ENABLED_DEFAULT = true;
/**
* Implementation class for InputSplit logic common between mapred and mapreduce.
*/
@ -240,7 +248,6 @@ public class TableSnapshotInputFormatImpl {
scan.setIsolationLevel(IsolationLevel.READ_UNCOMMITTED);
// disable caching of data blocks
scan.setCacheBlocks(false);
scan.setScanMetricsEnabled(true);
scanner =
new ClientSideRegionScanner(conf, fs, new Path(split.restoreDir), htd, hri, scan, null);
@ -381,6 +388,10 @@ public class TableSnapshotInputFormatImpl {
boolean localityEnabled = conf.getBoolean(SNAPSHOT_INPUTFORMAT_LOCALITY_ENABLED_KEY,
SNAPSHOT_INPUTFORMAT_LOCALITY_ENABLED_DEFAULT);
boolean scanMetricsEnabled = conf.getBoolean(SNAPSHOT_INPUTFORMAT_SCAN_METRICS_ENABLED,
SNAPSHOT_INPUTFORMAT_SCAN_METRICS_ENABLED_DEFAULT);
scan.setScanMetricsEnabled(scanMetricsEnabled);
List<InputSplit> splits = new ArrayList<>();
for (HRegionInfo hri : regionManifests) {
// load region descriptor