[
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?
Thanks.
> 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, HBASE-17045-v4.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
(v6.3.4#6332)