hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13922) Do not reset mvcc in compactions for mob-enabled column
Date Fri, 26 Jun 2015 06:37:04 GMT

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

Anoop Sam John commented on HBASE-13922:

mvcc can never get reset for the MOB cfs is a concern only for me.  Normal stores, atleast
at major compaction time we can get this reset.  But for the case mentioned, can not think
of any other way.  If the duplicate cells can be added with same TS  we will land in this
issue.  So +1 to commit it now.   

> Do not reset mvcc in compactions for mob-enabled column
> -------------------------------------------------------
>                 Key: HBASE-13922
>                 URL: https://issues.apache.org/jira/browse/HBASE-13922
>             Project: HBase
>          Issue Type: Sub-task
>          Components: mob
>    Affects Versions: hbase-11339
>            Reporter: Jingcheng Du
>            Assignee: Jingcheng Du
>             Fix For: hbase-11339
>         Attachments: HBASE-13922.patch
> In major compaction, the mvcc of cells ( whose mvcc<=readPt) are set to 0.
> In some cases, this brings issues, for example the following scenario:
> # We have mob enabled cf, the threshold is 5 bytes.
> # Add a cell (r0,ts0,seqId=5,"mobValue0"), and flush it to a mob file.
> # Add another cell (r0,ts0,seqId=10,"new"), and flush the memstore, this is not a mob
cell since it's value is smaller than 5 bytes.
> # Add the third cell (r1:ts1:seqId =15, "mobValue1"), and flush it to a mob file. Now
we have two mob files.
> # Now run a major compaction in hfiles, we got two cells left (r0:ts0:seqId=0,"new")
and (r1:ts1:seqId=0,'mobValue1").
> # Now run a mob major compaction, two mob files are merged into one. The update ref cell
is bulk loaded back to hbase, they are (r0,ts0,seqId=5,"mobValue0") and (r1:ts1:seqId=0,"mobValue1").
> # Now open a scanner, the value of r0 is mobValue0 whereas the correct value new.
> This issue is caused by the mvcc reset in compactions. We should disable it in compactions
for mob-enabled columns.

This message was sent by Atlassian JIRA

View raw message