Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-4618 HBase backups
  3. HBASE-4662

Replay the required hlog edits to make the backup preserve row atomicity.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Incomplete
    • None
    • None
    • documentation, regionserver
    • None

    Description

      The algorithm is as follows:

      A. For HFiles:
      1. Need to track t1,t2 for each backup (start and end times of the backup)
      2. For point in time restore to time t, pick a HFile snapshot which has t2 < t
      3. Copy HFile snapshot to a temp location - HTABLE_RESTORE_t

      B. For HLogs:
      for each regionserver do
      for .logs and .oldlogs do
      1. log file is hlog.TIME
      2. if (t > TIME and hlog.TIME is open for write) fail restore for t
      3. Pick the latest HLog whose create time is < t1
      4. Pick all HLogs whose create time is > t1 and <= t2
      5. Copy hlogs to the right structures inside HTABLE_RESTORE_t

      C. Split logs
      1. Enhance HLog.splitLog to take timestamp t
      2. Enhance distributed log split tool to pass HTABLE_RESTORE_t, so that log split is picked up and put in the right location
      3. Enhance distributed log split tool to pass t so that all edits till t are included and others ignored

      D. Import the directory into the running HBase with META entries, etc (this already exists)

      Attachments

        Activity

          People

            Unassigned Unassigned
            karthik.ranga Karthik Ranganathan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: