[
https://issues.apache.org/jira/browse/HBASE-17167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15696014#comment-15696014
]
Duo Zhang commented on HBASE-17167:
-----------------------------------
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)