[
https://issues.apache.org/jira/browse/HBASE-13262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14380396#comment-14380396
]
Jonathan Lawlor commented on HBASE-13262:
-----------------------------------------
[~elserj] This is looking good, I like the introduction of the new flag. Some
quick review below:
When setting the flag inside RSRpcServices, I think we should be checking the
size limit and the caching (i.e. row) limit. Currently the batch limit and size
limit are being checked, but the batch limit should be replaced with a check
against {{i >= rows}}.
The reason behind replacing the batch limit check with a caching limit check is
that the batch is a limit on the number of cells per Result. So reaching the
batch limit doesn't necessarily mean we are done with the scan but rather that
we have accumulated enough cells necessary for a Result to be formed. On the
other hand, it would be worthwhile to add a check against the caching limit
(i.e. {{i >= rows}}). I think your intention was probably to check the caching
limit it's just that the terminology surrounding batch is a little misleading
(even the javadoc on {{Scan#setBatch}} is misleading; "values" instead of
"cells").
Also, just a note on backporting to 0.98 and branch-1.0. Because NextState is
only in branch-1+, the corresponding check for size limit will simply be
{{currentScanResultSize >= maxResultSize}} (looks like you have it covered in
this patch actually) and the cache limit check will still be {{i>=rows}}.
> 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-v4.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)