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

Jonathan Lawlor commented on HBASE-13215:
-----------------------------------------

Hey [~heliangliang], this sounds like it may be related/solved by the solution 
for HBASE-13090 that I am currently looking into. 

Over in that issue we have discussed bounding the execution time of scans on 
the server side. The idea is to set a time limit for the execution of the scan 
on the server and once that time limit is reached we send back a 
heartbeat/keep-alive message back to the client with whatever data we have 
accumulated thus far (potentially empty). This would prevent the scanner from 
timing out in the instance that you have described (where many cells have been 
deleted or filtered out). The client scanner would then issue future RPCs to 
the server if the data within the heartbeat/keep-alive message was not 
sufficient to service the applications request.

This mechanism is also nice because it is somewhat invisible to the application 
layer. All time limit handling is handled server side and the limit on the 
execution is implied through the defined client side scanner timeout. Thus, the 
application layer won't need to specify any additional limits; the timeouts 
will be handled automatically. 

> A limit on the raw key values is needed for each next call of a scanner
> -----------------------------------------------------------------------
>
>                 Key: HBASE-13215
>                 URL: https://issues.apache.org/jira/browse/HBASE-13215
>             Project: HBase
>          Issue Type: Improvement
>          Components: Scanners
>            Reporter: He Liangliang
>            Assignee: He Liangliang
>
> In the current scanner next, there are several limits: caching, batch and 
> size. But there is no limit on raw data scanned, so the time consumed by a 
> next call is unbounded. For example, many consecutive deleted or filtered out 
> cells will leads to a socket timeout. This can make user code get stuck.



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

Reply via email to