[
https://issues.apache.org/jira/browse/HBASE-9488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13762800#comment-13762800
]
chunhui shen commented on HBASE-9488:
-------------------------------------
bq.we instead pass one arg 'boolean shortScan'.
In the method HStore#getScanners,
{format}storeFilesToScan
=this.storeEngine.getStoreFileManager().getFilesForScanOrGet(isGet, startRow,
stopRow);{format}
The arg 'isGet' is used, thus need a new arg to specify whether using pread
bq.Is this caching location? Will we cache a location across changes? i.e.
changes in location for the HRegionInfo?
Sure, it use current client region cache mechanism
bq.Does this have to public +public class ClientSmallScanner extends
AbstractClientScanner {?
Existed ClientScanner is also public, keep the same with it
bq.You should instead say that the amount of data should be small and inside
the one region.
If the scan range is within one data block, it could be considered as a small
scan
bq.Should the Scan check that the stoprow is inside a single region and fail if
not?
Now, I hope it is controlled by user. e.g. if the scan cross multi regions, but
only scan two rows, in that case, small scan also be better.
Improve the javadoc of Scan#small in patch-V2
review board:
https://reviews.apache.org/r/14059/
> Improve performance for small scan
> ----------------------------------
>
> Key: HBASE-9488
> URL: https://issues.apache.org/jira/browse/HBASE-9488
> Project: HBase
> Issue Type: Improvement
> Components: Client, Performance, Scanners
> Reporter: chunhui shen
> Assignee: chunhui shen
> Attachments: HBASE-9488-trunk.patch, test results.jpg
>
>
> Now, one scan operation would call 3 RPC at least:
> openScanner();
> next();
> closeScanner();
> I think we could reduce the RPC call to one for small scan to get better
> performance
> Also using pread is better than seek+read for small scan (For this point, see
> more on HBASE-7266)
> Implements such a small scan as the patch, and take the performance test as
> following:
> a.Environment:
> patched on 0.94 version
> one regionserver;
> one client with 50 concurrent threads;
> KV size:50/100;
> 100% LRU cache hit ratio;
> Random start row of scan
> b.Results:
> See the picture attachment
> *Usage:*
> Scan scan = new Scan(startRow,stopRow);
> scan.setSmall(true);
> ResultScanner scanner = table.getScanner(scan);
> Set the new 'small' attribute as true for scan, others are the same
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira