hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (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 Tue, 08 Mar 2016 17:48:41 GMT

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

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

So to fix this, we can work with client side fix only?  We will see the last result got from
RS. If it is marked partial, we will create new Scanner with start key as the rk of the last
Result and skip the upto Cells what we got (Or ignore the partial Results on this row)
When batching is set, we dont know whether we have all batches for this row.  But we can blindly
think that we are at middle of this row and not all batches we got back.  It will fetch one
full row unwantedly, when we have already fetched all the batches for this row and exactly
at that time the region move. This is a very rare case.  So it is ok to do the fetch of the
whole row. IMO

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

Mime
View raw message