Ability to specify scanner caching on a per-scan basis
------------------------------------------------------
Key: HBASE-1759
URL: https://issues.apache.org/jira/browse/HBASE-1759
Project: Hadoop HBase
Issue Type: Improvement
Components: client
Affects Versions: 0.20.0
Reporter: Ken Weiner
I think that clients should have the ability to configure the scanner caching
setting on a per-scan basis via the org.apache.hadoop.hbase.client.Scan object.
I propose adding a new caching property to the Scan class which would override
the HTable.scannerCaching property if set. This would turn the
HTable.scannerCaching property into more of a default setting.
The code inside ClientScanner (an inner-class implementation of ResultScanner)
would look like this:
{code}
// Use the caching from the Scan. If not set, use the default cache
setting for this table.
if (this.scan.getCaching() > 0) {
this.caching = this.scan.getCaching();
} else {
this.caching = HTable.this.scannerCaching;
}
{code}
Note that currently the only option for per-scan scanner caching configuration
is to modify the state of HTable for each Scan. This could lead to confusion
when HTables are pooled since the pool would potentially end up with many
HTables all configured differently.
I will attach a patch. I'm looking forward to hearing your comments.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.