[
https://issues.apache.org/jira/browse/HBASE-13090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14350874#comment-14350874
]
Jonathan Lawlor commented on HBASE-13090:
-----------------------------------------
bq. Doesn't RegionScanner get created when the scan starts? Can it not run the
timer?
That's true, the RegionScanner is created when the scan starts. It also remains
open Server-side as long as the Client does not close it (as is the case in
non-small scans). To keep all accounting of the timer within the RegionScanner
we could add a call to RegionScanner#updateTimeoutTimestamp (or something along
those lines) into RsRpcServices each time we either create or retrieve the
RegionScanner (would avoid accounting for timeouts within RsRpcServices). The
timestamp would need to be updated on each RsRpcServices#scan call to make sure
that we aren't using a previously defined timeout timestamp that would be too
restrictive at this point. Then all timeout information would be communicated
to RsRpcServices via the newly defined NextState from HBASE-11544.
> Progress heartbeats for long running scanners
> ---------------------------------------------
>
> Key: HBASE-13090
> URL: https://issues.apache.org/jira/browse/HBASE-13090
> Project: HBase
> Issue Type: New Feature
> Reporter: Andrew Purtell
>
> It can be necessary to set very long timeouts for clients that issue scans
> over large regions when all data in the region might be filtered out
> depending on scan criteria. This is a usability concern because it can be
> hard to identify what worst case timeout to use until scans are
> occasionally/intermittently failing in production, depending on variable scan
> criteria. It would be better if the client-server scan protocol can send back
> periodic progress heartbeats to clients as long as server scanners are alive
> and making progress.
> This is related but orthogonal to streaming scan (HBASE-13071).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)