[ 
https://issues.apache.org/jira/browse/HBASE-22378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Caroline updated HBASE-22378:
-----------------------------
    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 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().

  was:
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.tableExists() 
function calls in RegionMonitor's sniff() method. Following the goal of 
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.


> 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: 1.3.0, 1.4.0, 1.5.0
>            Reporter: Caroline
>            Priority: Minor
>              Labels: Canary
>
> 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 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
(v7.6.3#76005)

Reply via email to