hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15325) ResultScanner allowing partial result will miss the rest of the row if the region is moved between two rpc requests
Date Fri, 04 Mar 2016 11:49:40 GMT

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

ramkrishna.s.vasudevan commented on HBASE-15325:

bq.He has not set allow partial on Scan. I think as per current code, it will be 3 results

I think yes.
As per the current code, in case setBatch() is set and in between the batch even if the size
or time limit is reached we are not going to accumulate the result and we are just going to
send out the result what ever is available. In that way if you see setBatch and setPartial
both are going to be same. Batching is another way of client saying am okie with partial results
but the difference is he expects what is the number of partial results whereas in another
case of setPArtial he may not be aware explicitly as how many results will be available in
one next() call.
Or if we don't want to change the meaning of setBatch and saying it as partial then the current
patch should handle setBatch case also as how we accumulate results till the count set in
setBatch is reached in case the results don't fill up as expected. 

> 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

This message was sent by Atlassian JIRA

View raw message