You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2015/09/26 19:17:04 UTC
[jira] [Comment Edited] (HBASE-13984) Add option to allow caller to
know the heartbeat and scanner position when scanner timeout
[ https://issues.apache.org/jira/browse/HBASE-13984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14909352#comment-14909352 ]
Andrew Purtell edited comment on HBASE-13984 at 9/26/15 5:16 PM:
-----------------------------------------------------------------
This looks like an unrelated fix, let's use a separate issue for it:
{code}
diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml
index 20ea50c..274e185 100644
--- a/hbase-protocol/pom.xml
+++ b/hbase-protocol/pom.xml
@@ -193,6 +193,7 @@
<include>RowProcessor.proto</include>
<include>RPC.proto</include>
<include>SecureBulkLoad.proto</include>
+ <include>Snapshot.proto</include>
<include>Tracing.proto</include>
<include>VisibilityLabels.proto</include>
<include>WAL.proto</include>
{code}
I don't see in the unit test changes where the new feature is tested. Where do we get the "heartbeat cell" from a Result and use it to make a new scan? Did I miss it? Edit: To clarify, I was looking for something where we set up some test data, run a scan without using the new feature (I guess not using heartbeats at all), count the results, then do it again with 'heartbeat cells' and timeouts and creating a new scan with startRow set appropriately, count the accumulated results again, finally confirm everything matches up.
was (Author: apurtell):
This looks like an unrelated fix, let's use a separate issue for it:
{code}
diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml
index 20ea50c..274e185 100644
--- a/hbase-protocol/pom.xml
+++ b/hbase-protocol/pom.xml
@@ -193,6 +193,7 @@
<include>RowProcessor.proto</include>
<include>RPC.proto</include>
<include>SecureBulkLoad.proto</include>
+ <include>Snapshot.proto</include>
<include>Tracing.proto</include>
<include>VisibilityLabels.proto</include>
<include>WAL.proto</include>
{code}
I don't see in the unit test changes where the new feature is tested. Where do we get the "heartbeat cell" from a Result and use it to make a new scan? Did I miss it?
> 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-13984-V2.diff, HBASE-13984-V3.diff, HBASE-13984-V3.patch, HBASE-13984-V4.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 result contains the scanner position) 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)