You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Phil Yang (JIRA)" <ji...@apache.org> on 2016/02/25 07:25:18 UTC

[jira] [Updated] (HBASE-15325) ResultScanner allowing partial result will reset to the start of the row if the region is moved between two rpc requests

     [ https://issues.apache.org/jira/browse/HBASE-15325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Yang updated HBASE-15325:
------------------------------
    Attachment: 15325-test.txt

Upload two tests for this issue. The testPartialResultWhenRegionMove will break on line 887 while testCompleteResultWhenRegionMove will pass. But I am not sure what will happen if we move a region between two next() when we setAllowPartialResults(false), i am digging into it.

> ResultScanner allowing partial result will reset to the start 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.1.3
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>            Priority: Critical
>         Attachments: 15325-test.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 start of this row. So we will see the cells which have been seen before.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)