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.

Reply via email to