[ 
https://issues.apache.org/jira/browse/PHOENIX-1267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16369141#comment-16369141
 ] 

Abhishek Singh Chouhan commented on PHOENIX-1267:
-------------------------------------------------

Apologies for the delay, got a bit busy.
 * Was thinking of having an attributeĀ as suggested above, something like 
"phoenix.query.smallScanThreshold" in QueryServices and its default of 100 in 
QueryServicesOption
 * In BaseQueryPlan.iterator(...) where we check for SMALL hint, also check for 
pointlookup and its count (since we would already have the calculated 
scanranges by this time in context), something like

{code:java}
if (statement.getHint().hasHint(Hint.SMALL) || (scanRanges.isPointLookup() && 
scanRanges.getPointLookupCount() < smallScanThreshold)) {
scan.setSmall(true);
}{code}
[~jamestaylor] [~vincentpoon] Please let me know if this sounds okay and i'll 
put up a patch. Thanks!!

> Set scan.setSmall(true) when appropriate
> ----------------------------------------
>
>                 Key: PHOENIX-1267
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1267
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Abhishek Singh Chouhan
>            Priority: Major
>              Labels: SFDC, newbie
>             Fix For: 4.14.0
>
>         Attachments: smallscan.patch, smallscan2.patch, smallscan3.patch
>
>
> There's a nice optimization that has been in HBase for a while now to set a 
> scan as "small". This prevents extra RPC calls, I believe. We should add a 
> hint for queries that forces it to be set/not set, and make our best guess on 
> when it should default to true.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to