hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (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 Thu, 03 Mar 2016 13:01:18 GMT

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

stack commented on HBASE-15325:
-------------------------------

Good find [~yangzhe1991]

HBASE-13099 has some related discussion. In particular, there is the point raised by our [~enis],
that server-side keeps current mvcc readpoint for an ongoing scan; what to do when the region
moves mid-row? The suggestion in HBASE-13099 is that the last readpoint/sequenceid is passed
by the client when it opens scanner against region in new location. This sequenceid would
be used as readpoint when we pick up the row read again.

I've not looked to see how hard this would be to do.

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