[
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)