hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17045) Unify the implementation of small scan and regular scan
Date Wed, 18 Jan 2017 04:10:27 GMT

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

Duo Zhang commented on HBASE-17045:

We reuse the Scan object across different scan operations in the UT, and we may modify the
Scan object during scan. The problem is gone after I modify the UT to always use a new Scan
object every time.

The root cause is that, the logic of the while loop in ClientScanner.loadCache is broken.
We may still issue a next request even if the moreResultsInRegion is false. And now we will
close the scanner automatically when moreResultsInRegion is false at RS side, so we will get
an UnknownScannerException and reset the startRow of the Scan object and open a new scanner.
If later we use this Scan object to get a scanner then we can not get the results we want
as the startRow is changed.

Will try to fix this when porting this feature to the sync client.

[~stack] [~enis] Any concerns?


> Unify the implementation of small scan and regular scan
> -------------------------------------------------------
>                 Key: HBASE-17045
>                 URL: https://issues.apache.org/jira/browse/HBASE-17045
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client, scan
>    Affects Versions: 2.0.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0
>         Attachments: HBASE-17045.patch, HBASE-17045-v1.patch, HBASE-17045-v2.patch, HBASE-17045-v3.patch,
> See [~enis]'s comment in HBASE-16838
> https://issues.apache.org/jira/browse/HBASE-16838?focusedCommentId=15637803&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15637803
> But there is another scenario that we need small scan is that, we do not know the stop
row but we only want a small set of results. For example, in the implementation of region
locator, we will use small scan and set caching to 1 as we only need one row.
> So I think we need to add a new option(maybe called limit?) for the scan object, and
deprecate the small option. And the server side modification should also be committed to branch-1
to simplify the logic of async client in 2.0.

This message was sent by Atlassian JIRA

View raw message