Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-7290 Online snapshots
  3. HBASE-7788

[snapshot 130201 merge] Fix flakey TestRestore*SnapshotFromClient#testCloneSnapshot

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.95.0
    • None
    • None
    • Reviewed

    Description

      In the current implementation the clone call waits until after the newly created table isTableEnabled. However there is another state (apparently orthogonal) that a newly created table is assumed to be – isTableAvailable (all regions assigned). The logic for checking after table creation and after clone creation are slightly different – creation does the equivalent of isTableAvailable but clone does not check this availability condition.
      This causes flaky failures in tests that quickly try to use/delete a newly cloned table.
      TestRestoreSnapshotFromClient#testCloneSnapshot
      TestRestoreFlushSnapshotFromCleitn#testCloneSnapshot
      I believe there also are race conditions because of the postTableCreateHandler corpco and postTableDeleteHandler coproc hooks.

      Attachments

        1. hbase-7788.debug.patch
          2 kB
          Jonathan Hsieh
        2. hbase-7788.patch
          0.8 kB
          Jonathan Hsieh
        3. hbase-7788.v2.patch
          2 kB
          Jonathan Hsieh

        Issue Links

          Activity

            People

              jmhsieh Jonathan Hsieh
              jmhsieh Jonathan Hsieh
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: