[
https://issues.apache.org/jira/browse/HBASE-15325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15194898#comment-15194898
]
Phil Yang commented on HBASE-15325:
-----------------------------------
{quote}
Here in test we allow partial results but we have
assertFalse(result1.isPartial()); ? Why so?
{quote}
It is the last Result of this row, this Result is not partial.
{quote}
lastCellOfLoadCache -> lastCellLoadedToCache ?
{quote}
Ok, my English is not good :(
{quote}
updateLastCellOfLoadCache(this.lastResult); Seems we will do this always. We
can do this only when lastResult is partial? Now this.lastResult is cur result.
And nullify of the lastResult is not partial.
{quote}
Sounds good, I can add if (this.lastResult.isPartial() || scan.getBatch() > 0 )
on it.
{quote}
Then u can negate the return value for reversed scan.
{quote}
ReveredScanner only revers row, not column. So we can only negate the value of
compareRows.
> 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
> Components: dataloss, Scanners
> Affects Versions: 1.2.0, 1.1.3
> Reporter: Phil Yang
> Assignee: Phil Yang
> Priority: Critical
> Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.4, 1.4.0
>
> Attachments: 15325-test.txt, HBASE-15325-v1.txt, HBASE-15325-v2.txt,
> HBASE-15325-v3.txt, HBASE-15325-v5.txt, HBASE-15325-v6.1.txt,
> HBASE-15325-v6.2.txt, HBASE-15325-v6.3.txt, HBASE-15325-v6.4.txt,
> HBASE-15325-v6.5.txt, HBASE-15325-v6.txt, HBASE-15325-v7.patch,
> HBASE-15325-v8.patch, HBASE-15325-v9.patch
>
>
> 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)