huaxiang sun created HBASE-17196: ------------------------------------ Summary: 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)