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

ramkrishna.s.vasudevan commented on HBASE-6059:
-----------------------------------------------

@Chunhui
This is a damn good one.  But still i find one problem is there in this.  A 
similar type of problem that you have reported. Pls correct me if am wrong.
In the same test case in the place where you are deleting the row 'r1' if i 
delete the row 'r2' also
{code}
del = new Delete(Bytes.toBytes("r"));
    htable.delete(del);
    resultScanner = htable.getScanner(new Scan());
    count = 0;
    while (resultScanner.next() != null) {
      count++;
    }
{code}
Now my seq id from the store files will be 0 only as nothing to get after major 
compaction. So still the same problem is occuring.  I tried to simulate this 
with the same test case that you added. 
May be we need someother way to know that the edit has been deleted out by a 
major compaction? Because as i see this problem that without major compaction 
there is no issue at all.
                
> Replaying recovered edits would make deleted data exist again
> -------------------------------------------------------------
>
>                 Key: HBASE-6059
>                 URL: https://issues.apache.org/jira/browse/HBASE-6059
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>         Attachments: HBASE-6059-testcase.patch, HBASE-6059.patch
>
>
> When we replay recovered edits, we used the minSeqId of Store, It may cause 
> deleted data appeared again.
> Let's see how it happens. Suppose the region with two families(cf1,cf2)
> 1.put one data to the region (put r1,cf1:q1,v1)
> 2.move the region from server A to server B.
> 3.delete the data put by step 1(delete r1)
> 4.flush this region.
> 5.make major compaction for this region
> 6.move the region from server B to server A.
> 7.Abort server A
> 8.After the region is online, we could get the deleted data(r1,cf1:q1,v1)
> (When we replay recovered edits, we used the minSeqId of Store, because cf2 
> has no store files, so its seqId is 0, so the edit log of put data will be 
> replayed to the region)

--
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