[ 
https://issues.apache.org/jira/browse/PHOENIX-3121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Samarth Jain updated PHOENIX-3121:
----------------------------------
    Attachment: PHOENIX-3121_v2.patch

Patch that introduces a guard around preventing calling advance() when we don't 
need to. [~jamestaylor] - please review. 

I think this is in general an optimization that applies whenever we have limit 
queries. I agree though that the reverse scan with PageFilter should return 
null quickly when the limit's worth of data has been read i.e. advance() should 
return immediately. This fix avoids making that potential extra RPC altogether.

> Queries with filter and reverse scan failing when limit is a multiple of 
> scanner cache size
> -------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3121
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3121
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Samarth Jain
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-3121.patch, PHOENIX-3121_v2.patch
>
>
> {code}
> org.apache.hadoop.hbase.UnknownScannerException: 
> org.apache.hadoop.hbase.UnknownScannerException: Unknown scanner '644116'. 
> This can happen due to any of the following reasons: a) Scanner id given is 
> wrong, b) Scanner lease expired because of long wait between consecutive 
> client checkins, c) Server may be closing down, d) RegionServer restart 
> during upgrade.
> If the issue is due to reason (b), a possible fix would be increasing the 
> value of'hbase.client.scanner.timeout.period' configuration.
>     at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3228)
>     at 
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32492)
>     at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2208)
>     at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)
>     at 
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
>     at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
>     at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to