XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Invalid
    • None
    • None
    • None
    • None

    Description

      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, and its seq ID becomes 2003
      5.File1 will be skipped when replaying edits

      Attachments

        Activity

          People

            Unassigned Unassigned
            yuzhihong@gmail.com Ted Yu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: