[
https://issues.apache.org/jira/browse/HBASE-13262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378731#comment-14378731
]
Josh Elser commented on HBASE-13262:
------------------------------------
bq. would there still be a mechanism for the server to indicate to the client
that the whole scan is done
Ah, that's a good point. So, as I understand it, we have the following cases
which the RS will return to a client:
* {{Result}}s and more results on this region
* {{Result}}s and no more result on this region (this was the original "bug")
* No {{Result}}s and no more results on this region (but we need to check the
other Regions)
* No {{Result}}s and the filter is done (this filter case)
It might be possible to differentiate between the 3 and 4th point if we knew
when {{Result[]}} was null instead of just empty, specifically, for the filter
case, if the client could get a ScanResponse in which the {{Result[]}} was
actually null, we could still keep them separate. I'm not a big fan of that
though, nor am I convinced it would even work. I don't quite understand how the
non-protobuf serialization of {{Result}}s works presently.
That said, hasResults could be left solely for the filter-termination case, and
I could introduce a "moreResultsInRegion" attribute after all. hasResults would
still be a bit goofy WRT its name, but some comments can make it clear that
it's purpose is explicitly for the filter case and nothing else.
> ResultScanner doesn't return all rows in Scan
> ---------------------------------------------
>
> Key: HBASE-13262
> URL: https://issues.apache.org/jira/browse/HBASE-13262
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.0.0, 1.1.0
> Environment: Single node, pseduo-distributed 1.1.0-SNAPSHOT
> Reporter: Josh Elser
> Assignee: Josh Elser
> Priority: Blocker
> Fix For: 2.0.0, 1.1.0, 0.98.13
>
> Attachments: 13262-0.98-testpatch.txt, HBASE-13262-branch-1-v2.patch,
> HBASE-13262-branch-1-v3.patch, HBASE-13262-branch-1.patch,
> HBASE-13262-v1.patch, HBASE-13262-v2.patch, HBASE-13262-v3.patch,
> HBASE-13262.patch, regionserver-logging.diff, testrun_0.98.txt,
> testrun_branch1.0.txt
>
>
> Tried to write a simple Java client again 1.1.0-SNAPSHOT.
> * Write 1M rows, each row with 1 family, and 10 qualifiers (values [0-9]),
> for a total of 10M cells written
> * Read back the data from the table, ensure I saw 10M cells
> Running it against {{04ac1891}} (and earlier) yesterday, I would get ~20% of
> the actual rows. Running against 1.0.0, returns all 10M records as expected.
> [Code I was
> running|https://github.com/joshelser/hbase-hwhat/blob/master/src/main/java/hbase/HBaseTest.java]
> for the curious.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)