[
https://issues.apache.org/jira/browse/HBASE-13984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14610796#comment-14610796
]
stack commented on HBASE-13984:
-------------------------------
[~jonathan.lawlor] FYI
So, idea is to pass back in the heartbeat, the 'next' row that would be
encountered so the Scan can be picked up later at this point?
bq. 1. Allow client set a flag whether pass the heartbeat (a fake row) to the
caller (via ResultScanner next)
Rather than a global config in hbase Configuration, why is this not an option
you'd specify on Scan? (What is an 'explicit' heartbeat vs a heartbeat?)
It seems entangled with client not taking partial results? Does it have to be?
Could someone want the next row AND want partial results?
These 'general' additions made just for the exotic case of an heartbeat
carrying the next Cell from which to carry on the Scan seems like too much
exposure on a pivotal class like ScannerCallable
+ /**
+ * @return Return the next cell when the most recent RPC response was a
heartbeat message and
+ * the server is only allowed break at row boundary. If the next
cell is beyond the
+ * scan range, null will be returned.
+ */
+ protected Cell getNextCell() {
+ return nextCell;
+ }
+
+ protected void setNextCell(Cell nextCell) {
+ this.nextCell = nextCell;
+ }
I think it important we get the flagging clean and clear so folks can easily
discover the existence of this new facility. Would also like to make it so we
can implement it w/o tarnishing meaning of current flags.
Thanks [~heliangliang]
> Add option to allow caller to know the heartbeat and scanner position when
> scanner timeout
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-13984
> URL: https://issues.apache.org/jira/browse/HBASE-13984
> Project: HBase
> Issue Type: Improvement
> Components: Scanners
> Reporter: He Liangliang
> Assignee: He Liangliang
> Attachments: HBASE-13984-V1.diff
>
>
> HBASE-13090 introduced scanner heartbeat. However, there are still some
> limitations (see HBASE-13215). In some application, for example, an operation
> access hbase to scan table data, and there is strict limit that this call
> must return in a fixed interval. At the same time, this call is stateless, so
> the call must return the next position to continue the scan. This is typical
> use case for online applications.
> Based on this requirement, some improvements are proposed:
> 1. Allow client set a flag whether pass the heartbeat (a fake row) to the
> caller (via ResultScanner next)
> 2. Allow the client pass a timeout to the server, which can override the
> server side default value
> 3. When requested by the client, the server peek the next cell and return to
> the client in the heartbeat message
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)