hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jingcheng Du (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-13922) Do not reset mvcc in compactions for mob-enabled column
Date Wed, 17 Jun 2015 07:36:01 GMT

     [ https://issues.apache.org/jira/browse/HBASE-13922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jingcheng Du updated HBASE-13922:
---------------------------------
    Description: 
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.


  was:
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.



> 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
>
>
> 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
(v6.3.4#6332)

Mime
View raw message