HBASE-14041 Do not clear MetaCache if a ThrottlingException is thrown
Signed-off-by: Sean Busbey <busbey@apache.org>
This commit is contained in:
parent
25f7e804cd
commit
a63e3ac83f
|
@ -56,6 +56,7 @@ import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;
|
||||||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos;
|
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos;
|
||||||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;
|
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;
|
||||||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;
|
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;
|
||||||
|
import org.apache.hadoop.hbase.quotas.ThrottlingException;
|
||||||
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
||||||
import org.apache.hadoop.hbase.security.User;
|
import org.apache.hadoop.hbase.security.User;
|
||||||
import org.apache.hadoop.hbase.util.Bytes;
|
import org.apache.hadoop.hbase.util.Bytes;
|
||||||
|
@ -263,7 +264,8 @@ class ConnectionImplementation implements ClusterConnection, Closeable {
|
||||||
* - hadoop.ipc wrapped exceptions
|
* - hadoop.ipc wrapped exceptions
|
||||||
* - nested exceptions
|
* - nested exceptions
|
||||||
*
|
*
|
||||||
* Looks for: RegionMovedException / RegionOpeningException / RegionTooBusyException
|
* Looks for: RegionMovedException / RegionOpeningException / RegionTooBusyException /
|
||||||
|
* ThrottlingException
|
||||||
* @return null if we didn't find the exception, the exception otherwise.
|
* @return null if we didn't find the exception, the exception otherwise.
|
||||||
*/
|
*/
|
||||||
public static Throwable findException(Object exception) {
|
public static Throwable findException(Object exception) {
|
||||||
|
@ -273,7 +275,7 @@ class ConnectionImplementation implements ClusterConnection, Closeable {
|
||||||
Throwable cur = (Throwable) exception;
|
Throwable cur = (Throwable) exception;
|
||||||
while (cur != null) {
|
while (cur != null) {
|
||||||
if (cur instanceof RegionMovedException || cur instanceof RegionOpeningException
|
if (cur instanceof RegionMovedException || cur instanceof RegionOpeningException
|
||||||
|| cur instanceof RegionTooBusyException) {
|
|| cur instanceof RegionTooBusyException || cur instanceof ThrottlingException) {
|
||||||
return cur;
|
return cur;
|
||||||
}
|
}
|
||||||
if (cur instanceof RemoteException) {
|
if (cur instanceof RemoteException) {
|
||||||
|
@ -1840,7 +1842,8 @@ class ConnectionImplementation implements ClusterConnection, Closeable {
|
||||||
HRegionInfo regionInfo = oldLocation.getRegionInfo();
|
HRegionInfo regionInfo = oldLocation.getRegionInfo();
|
||||||
Throwable cause = findException(exception);
|
Throwable cause = findException(exception);
|
||||||
if (cause != null) {
|
if (cause != null) {
|
||||||
if (cause instanceof RegionTooBusyException || cause instanceof RegionOpeningException) {
|
if (cause instanceof RegionTooBusyException || cause instanceof RegionOpeningException
|
||||||
|
|| cause instanceof ThrottlingException) {
|
||||||
// We know that the region is still on this region server
|
// We know that the region is still on this region server
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue