[
https://issues.apache.org/jira/browse/HBASE-15325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15167290#comment-15167290
]
Ted Yu commented on HBASE-15325:
--------------------------------
{code}
396 boolean allResultSkiped = false;
{code}
nit: Skiped -> Skipped
{code}
503 Result r = rs;
{code}
Why is the above assignment needed ? rs and r reference the same Result, right ?
{code}
550 } while (allResultSkiped ||
551 (doneWithRegion(remainingResultSize, countdown,
serverHasMoreResults)
552 && (!partialResults.isEmpty() || possiblyNextScanner(countdown,
values == null))));
{code}
What if allResultSkiped is true and the original condition,
doneWithRegion(remainingResultSize, countdown, serverHasMoreResults)
&& (!partialResults.isEmpty() || possiblyNextScanner(countdown, values
== null)), is false ?
> ResultScanner allowing partial result will miss the rest of the row if the
> region is moved between two rpc requests
> -------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-15325
> URL: https://issues.apache.org/jira/browse/HBASE-15325
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.2.0, 1.1.3
> Reporter: Phil Yang
> Assignee: Phil Yang
> Priority: Critical
> Attachments: 15325-test.txt, HBASE-15325-v1.txt
>
>
> HBASE-11544 allow scan rpc return partial of a row to reduce memory usage for
> one rpc request. And client can setAllowPartial or setBatch to get several
> cells in a row instead of the whole row.
> However, the status of the scanner is saved on server and we need this to get
> the next part if there is a partial result before. If we move the region to
> another RS, client will get a NotServingRegionException and open a new
> scanner to the new RS which will be regarded as a new scan from the end of
> this row. So the rest cells of the row of last result will be missing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)