You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2016/11/25 14:45:58 UTC

[jira] [Comment Edited] (HBASE-17167) Pass mvcc to client when scan

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

Duo Zhang edited comment on HBASE-17167 at 11/25/16 2:45 PM:
-------------------------------------------------------------

And there is still a problem that we may read inconsistent data when restart a scanner. When compaction, we will get a smallestReadPoint. For all cells whose mvcc is greater than this value, we will never remove it, and not use it to delete any other values if it is a delete marker either. If a region is moved and start a compaction before we restart the scanner, we may have a smallestReadPoint which is greater than the mvcc of our scanner, if there is a delete marker in the range between the smallestReadPoint and the mvcc of our scanner, then we may lose some cells which should be returned to us.

I think this could be addressed in another issue(Yes yes, I do not have a good way to fix it right now!).

Thanks.


was (Author: apache9):
And there is still a problem that we may read inconsistent data when restart a scanner. When compaction, we will get a smallestReadPoint. For all cells whose mvcc is greater than this value, we will never remove it, and not use it to delete any other values if it is a delete marker either. If a region is moved and start a compaction before we restart the scanner, we may have a smallestReadPoint which is greater than the mvcc of our scanner, if there is a delete marker in the range between the smallestReadPoint and the mvcc of our scanner, then we may lose some cells which should be returned to us.

I think this could be addressed in another issue(Yes yes, I do not good way to fix it right now!).

Thanks.

> Pass mvcc to client when scan
> -----------------------------
>
>                 Key: HBASE-17167
>                 URL: https://issues.apache.org/jira/browse/HBASE-17167
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client, scan
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0, 1.4.0
>
>         Attachments: HBASE-17167.patch
>
>
> For the current implementation, if we use batch or allowPartial when scan, then the row level atomic can not be guaranteed if we need to restart a scan in the middle of a record due to region move or something else.
> We can return the mvcc used to open scanner to client and client could use this mvcc to restart a scan to get row level atomic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)