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

chunhui shen commented on HBASE-6311:
-------------------------------------

Doing MultiVersionConsistencyControl.setThreadReadPoint(smallestReadPoint) in 
the compaction is used to ensure scanner keep MVCC after compaction,
But I don't know why we add the the condition( kv.getMemstoreTS() <= 
maxReadPointToTrackVersions) in the ScanQueryMatcher :
{code}
if (includeDeleteMarker
            && kv.getMemstoreTS() <= maxReadPointToTrackVersions) {
          this.deletes.add(bytes, offset, qualLength, timestamp, type);
}
{code}

{code}/** readPoint over which the KVs are unconditionally included */
  protected long maxReadPointToTrackVersions;
{code}

I think it is not accordant with the javaDoc of this variable
                
> Data error after compaction because of scanners
> -----------------------------------------------
>
>                 Key: HBASE-6311
>                 URL: https://issues.apache.org/jira/browse/HBASE-6311
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.94.0
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>            Priority: Blocker
>         Attachments: HBASE-6311-test.patch
>
>
> It is a big problem:
> When we do compaction, we will use region.getSmallestReadPoint();
> It will make data mistake after compaction because we will skip some data 
> bigger than SmallestReadPoin.
> I upload the test case for this issue first.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to