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

Reply via email to