You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "huaxiang sun (JIRA)" <ji...@apache.org> on 2016/11/29 22:46:59 UTC

[jira] [Resolved] (HBASE-17196) deleted mob cell can come back after major compaction and minor mob compaction

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

huaxiang sun resolved HBASE-17196.
----------------------------------
    Resolution: Invalid

As explained in the comments.

> deleted mob cell can come back after major compaction and minor mob compaction
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-17196
>                 URL: https://issues.apache.org/jira/browse/HBASE-17196
>             Project: HBase
>          Issue Type: Bug
>          Components: mob
>    Affects Versions: 2.0.0
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>
> In the following case, the deleted mob cell can come back.
> {code}
> 1) hbase(main):001:0> create 't1', {NAME => 'f1', IS_MOB => true, MOB_THRESHOLD => 10}
> 2) hbase(main):002:0> put 't1', 'r1', 'f1:q1', 'aaaaaaaaaaaaaaaaaaaa'
> 3) hbase(main):003:0> flush 't1'
> 4) hbase(main):004:0> deleteall 't1', 'r1'
> 5) hbase(main):005:0> scan 't1'
> ROW                                                 COLUMN+CELL                                                                                                                                           
> 0 row(s)
> 6) hbase(main):006:0> flush 't1'
> 7) hbase(main):007:0> major_compact 't1'
> After that, go to mobdir, remove the _del file, this is to simulate the case that  mob minor compaction does not the _del file. Right now, the cell in normal region is gone after the major compaction.
> 8) hbase(main):008:0> put 't1', 'r2', 'f1:q1', 'bbbbbbbbbbbbbbbbbbbbbbbb'
>                                                                                                                                                       
> 9) hbase(main):009:0> flush 't1'
> 10) hbase(main):010:0> scan 't1'
> ROW                                                 COLUMN+CELL                                                                                                                                           
>  r2                                                 column=f1:q1, timestamp=1480451201393, value=bbbbbbbbbbbbbbbbbbbbbbbb                                                                                 
> 1 row(s)
> 11) hbase(main):011:0> compact 't1', 'f1', 'MOB'
> 12) hbase(main):012:0> scan 't1'
> ROW                                                 COLUMN+CELL                                                                                                                                           
>  r1                                                 column=f1:q1, timestamp=1480450987725, value=aaaaaaaaaaaaaaaaaaaa                                                                                     
>  r2                                                 column=f1:q1, timestamp=1480451201393, value=bbbbbbbbbbbbbbbbbbbbbbbb                                                                                 
> 2 row(s)
> The deleted "r1" comes back. The reason is that mob minor compaction does not include _del files so it generates references for the deleted cell.
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)