HBASE-9859 Canary Shouldn't go off if the table being read from is disabled
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1538842 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e0a48e6d03
commit
04bd8761b3
|
@ -60,6 +60,7 @@ import org.apache.hadoop.hbase.RegionTooBusyException;
|
|||
import org.apache.hadoop.hbase.ServerName;
|
||||
import org.apache.hadoop.hbase.Stoppable;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.TableNotEnabledException;
|
||||
import org.apache.hadoop.hbase.TableNotFoundException;
|
||||
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
|
||||
import org.apache.hadoop.hbase.client.MetaScanner.MetaScannerVisitor;
|
||||
|
@ -1026,7 +1027,7 @@ public class HConnectionManager {
|
|||
// disabled tables should not be desirable. This will ensure that an exception is thrown when
|
||||
// the first time a disabled table is interacted with.
|
||||
if (isTableDisabled(tableName)) {
|
||||
throw new DoNotRetryIOException(tableName.getNameAsString() + " is disabled.");
|
||||
throw new TableNotEnabledException(tableName.getNameAsString() + " is disabled.");
|
||||
}
|
||||
|
||||
return locateRegion(tableName, row, false, true);
|
||||
|
|
|
@ -34,11 +34,13 @@ import org.apache.commons.lang.time.StopWatch;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.hbase.DoNotRetryIOException;
|
||||
import org.apache.hadoop.hbase.HColumnDescriptor;
|
||||
import org.apache.hadoop.hbase.HRegionInfo;
|
||||
import org.apache.hadoop.hbase.HTableDescriptor;
|
||||
import org.apache.hadoop.hbase.ServerName;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.TableNotEnabledException;
|
||||
import org.apache.hadoop.hbase.TableNotFoundException;
|
||||
import org.apache.hadoop.hbase.client.Get;
|
||||
import org.apache.hadoop.hbase.client.HBaseAdmin;
|
||||
|
@ -616,6 +618,14 @@ public final class Canary implements Tool {
|
|||
stopWatch.stop();
|
||||
}
|
||||
this.getSink().publishReadTiming(tableName, serverName, stopWatch.getTime());
|
||||
} catch (TableNotFoundException tnfe) {
|
||||
// This is ignored because it doesn't imply that the regionserver is dead
|
||||
} catch (TableNotEnabledException tnee) {
|
||||
// This is considered a success since we got a response.
|
||||
LOG.debug("The targeted table was disabled. Assuming success.");
|
||||
} catch (DoNotRetryIOException dnrioe) {
|
||||
this.getSink().publishReadFailure(tableName, serverName);
|
||||
LOG.error(dnrioe);
|
||||
} catch (IOException e) {
|
||||
this.getSink().publishReadFailure(tableName, serverName);
|
||||
LOG.error(e);
|
||||
|
|
Loading…
Reference in New Issue