[ 
https://issues.apache.org/jira/browse/HBASE-15325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15195127#comment-15195127
 ] 

Yu Sun commented on HBASE-15325:
--------------------------------

in the current implementation(that before apply your patch), when DNRIOE 
occured, hbase will first call :

        // An exception was thrown which makes any partial results that we were 
collecting
        // invalid. The scanner will need to be reset to the beginning of a row.
        clearPartialResults();

to clear the partialResults list, and the next scan will start from 
Bytes.add(lastResult.getRow(), new byte[1]), not including current row, so here 
i think will miss the data of the this row, not some cells, right ?

> 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-v10.patch, 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)

Reply via email to