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

Zhihong Yu commented on HBASE-6059:
-----------------------------------

Nice work.
Minor comments:
{code}
-    // Get minimum of the maxSeqId across all the store.
+    // Get the maxSeqId for each store.
{code}
The second line above seems redundant - same sentence appears later.
{code}
-    if (files == null || files.isEmpty()) return seqid;
+    if (files == null || files.isEmpty())
+      return seqid;
{code}
The above change is not necessary.
{code}
+    for (Map.Entry<byte[], Long> maxSeqIdInStore : 
maxSeqIdInStores.entrySet()) {
+      msg = msg + "; store=" + Bytes.toString(maxSeqIdInStore.getKey())
+          + ",minSequenceid=" + maxSeqIdInStore.getValue();
{code}
Do we really need the above loop (there could be many stores, making the log 
very long) ?
{code}
+      if (serverInfo != null && serverInfo.equals(destServer.getServerName()))
+        break;
{code}
break can be moved to the same line as if.
                
> 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, 
> HBASE-6059v2.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