hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17608) Add suspend support for RawScanResultConsumer
Date Thu, 09 Feb 2017 05:53:42 GMT

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

Duo Zhang commented on HBASE-17608:

Done sir.

The problem is even if we bring the mvcc read point when reopening scanner, we could still
miss some data because we do not leave an record in the scannerReadPoints at RS side so the
data maybe reclaimed by compaction. So the proper way is to leave scanner open at RS side,
i.e., suspend the scanner, not close the scanner.


> Add suspend support for RawScanResultConsumer
> ---------------------------------------------
>                 Key: HBASE-17608
>                 URL: https://issues.apache.org/jira/browse/HBASE-17608
>             Project: HBase
>          Issue Type: Sub-task
>          Components: asyncclient, Client, scan
>    Affects Versions: 2.0.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0
>         Attachments: HBASE-17608.patch, HBASE-17608-v1.patch
> Now for the AsyncResultScanner, we can only close the scanner if we reach the cache size
limit and open a new scanner later. This will breaks the region level consistency.
> For example, you put 10 rows to the region, and open a scanner to scan it. The scanner
returns 5 rows at the first time and the cache is full, so it closes the background scanner.
And before you reopens the scanner to fetch data, the remaining 5 rows has been deleted and
a compaction makes them gone for ever. Then after you reopen the scanner you can not see the
remaining 5 rows.
> So here we should keep the scanner open at RS side to prevent the data below the mvcc
read point of this scanner being deleted.

This message was sent by Atlassian JIRA

View raw message