Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-22378

HBase Canary fails with TableNotFoundException when table deleted during Canary run

    XMLWordPrintableJSON

Details

    Description

      In 1.3.2 branch-1, we saw a drastic increase in TableNotFoundExceptions thrown by HBase Canary. We traced the issue back to Canary trying to call isTableEnabled() on temporary tables that were deleted in the middle of the Canary run.

      In this version of HBase Canary, Canary throws TableNotFoundException (and then fails) if a table is deleted between admin.listTables() and admin.tableEnabled() function calls in RegionMonitor's sniff() method. Following the goal of RegionMonitor.sniff(), which is to query all existing tables, in order to reduce noise we should skip over a table (i.e. don't check if it was enabled, or do anything else with it at all) if it was returned in listTables() but deleted before Canary can query it. Temporary tables which are not meant to be kept should not throw TableNotFoundExceptions which fail the Canary.

      Patch in progress:

      Add a call to admin.tableExists() before tableEnabled() on line 1244 in RegionMonitor.sniff().

      Attachments

        1. HBASE-22378.master.000.patch
          1 kB
          Caroline Zhou
        2. HBASE-22378.branch-2.001.patch
          1 kB
          Caroline Zhou
        3. HBASE-22378.branch-1.001.patch
          1 kB
          Caroline Zhou
        4. HBASE-22378.000.patch
          1 kB
          Caroline Zhou

        Activity

          People

            caroliney14 Caroline Zhou
            caroliney14 Caroline Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: