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().