[ https://issues.apache.org/jira/browse/HBASE-17177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15698034#comment-15698034 ]
Duo Zhang commented on HBASE-17177: ----------------------------------- [~stack] [~ram_krish] Is the description clear enough? And for the solution, maybe we could disable major compaction for a small amount when the region is just online? Maybe several minutes? Thanks. > Major compaction can break the region/row level atomic when scan even if we > pass mvcc to client > ----------------------------------------------------------------------------------------------- > > Key: HBASE-17177 > URL: https://issues.apache.org/jira/browse/HBASE-17177 > Project: HBase > Issue Type: Sub-task > Components: scan > Reporter: Duo Zhang > Fix For: 2.0.0, 1.4.0 > > > We know that major compaction will actually delete the cells which are > deleted by a delete marker. In order to give a consistent view for a scan, we > need to use a map to track the read points for all scanners for a region, and > the smallest one will be used for a compaction. For all delete markers whose > mvcc is greater than this value, we will not use it to delete other cells. > And the problem for a scan restart after region move is that, the new RS does > not have the information of the scanners opened at the old RS before the > client sends scan requests to the new RS which means the read points map is > incomplete and the smallest read point maybe greater than the correct value. > So if a major compaction happens at that time, it may delete some cells which > should be keeped. -- This message was sent by Atlassian JIRA (v6.3.4#6332)