Ted Yu created HBASE-7487:
-----------------------------

             Summary: Test for split edit file ordering using failover scenario
                 Key: HBASE-7487
                 URL: https://issues.apache.org/jira/browse/HBASE-7487
             Project: HBase
          Issue Type: Sub-task
            Reporter: Ted Yu


TestHLogMethods#testGetSplitEditFilesSorted tests the ordering of split edit 
files. However, we should have a test covering more realistic scenario.

Suppose there are two split edit files for one region.
 
Their edits are as the following
 
File 1:
edit id 1001
edit id 1002
edit id 1003
 
File 2:
edit id 2001
edit id 2002
edit id 2003
 
As the current logic, file 1 is named "1003" and file 2 is named "2003".

Suppose region's seq id is 1000 before replaying edits files.
 
So we will replay all the edits in File 1 and File 2
 
However, if we replay File 2 first, the following case could result in data 
loss:
1.Completing File 2 replay.
2.Do the internalFlushcache.(see HRegion#replayRecoveredEdits:
if (flush) internalFlushcache(null, currentEditSeqId, status);)
3.the regionserver crashes
4.Region is assigned to another server, an its seq ID becomes 2003
5.File1 will be skipped when replaying edits


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to