You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Peter Somogyi (Jira)" <ji...@apache.org> on 2020/01/23 14:11:00 UTC

[jira] [Commented] (HBASE-22378) HBase Canary fails with TableNotFoundException when table deleted during Canary run

    [ https://issues.apache.org/jira/browse/HBASE-22378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17022131#comment-17022131 ] 

Peter Somogyi commented on HBASE-22378:
---------------------------------------

This commit landed on all branches but Fix versions were set to None. I checked the branches and release dates and set it accordingly. The release notes for the affected releases are most probably incorrect.

> HBase Canary fails with TableNotFoundException when table deleted during Canary run
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-22378
>                 URL: https://issues.apache.org/jira/browse/HBASE-22378
>             Project: HBase
>          Issue Type: Bug
>          Components: canary
>    Affects Versions: 3.0.0, 1.3.0, 1.4.0, 1.5.0, 2.0.0, 2.1.5, 2.2.1
>            Reporter: Caroline
>            Assignee: Caroline
>            Priority: Minor
>              Labels: Canary
>             Fix For: 3.0.0, 1.5.0, 1.4.10, 2.3.0, 2.1.5, 2.2.1, 1.3.5
>
>         Attachments: HBASE-22378.000.patch, HBASE-22378.branch-1.001.patch, HBASE-22378.branch-2.001.patch, HBASE-22378.master.000.patch
>
>
> 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().



--
This message was sent by Atlassian Jira
(v8.3.4#803005)