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

Anoop Sam John commented on HBASE-15325:
----------------------------------------

bq.And we need add BATCH_LIMIT_REACH to partialResultFormed() at server side.
U mean treat batch limit reach case Results also as partial when send back from 
RS to client?  We should not. Let us keep the meaning of partial as is..  If we 
want to clearly know whether a rows all batches are done or not (When region 
move case) let us clearly say it as a new state or so. But as I stated above, 
it is a rare case.  So when a region move happens and if the batched scan in 
progress, let us assume the last fetched row is incomplete and read it again. 
(Just like how we will check whether last Result is partial or not)..  Ya in a 
case where all batches of that row were fetched and next row's no batches are 
fetched and exactly at that time the region moved, we will do an unwanted row 
fetch. But what is the possibility of such a strict case? IMHO it is ok for 
that overhead.

> 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
>         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-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