HBASE-14041 Do not clear MetaCache if a ThrottlingException is thrown
Amending-Author: Sean Busbey <busbey@apache.org> Signed-off-by: Sean Busbey <busbey@apache.org> Conflicts: hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
This commit is contained in:
parent
93e26ce550
commit
173f343aea
|
@ -171,6 +171,7 @@ import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.TruncateTableRequ
|
|||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.TruncateTableResponse;
|
||||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.UnassignRegionRequest;
|
||||
import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.UnassignRegionResponse;
|
||||
import org.apache.hadoop.hbase.quotas.ThrottlingException;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
|
||||
import org.apache.hadoop.hbase.security.User;
|
||||
import org.apache.hadoop.hbase.security.UserProvider;
|
||||
|
@ -2143,7 +2144,8 @@ class ConnectionManager {
|
|||
HRegionInfo regionInfo = oldLocation.getRegionInfo();
|
||||
Throwable cause = findException(exception);
|
||||
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
|
||||
return;
|
||||
}
|
||||
|
@ -2627,7 +2629,8 @@ class ConnectionManager {
|
|||
* - hadoop.ipc wrapped 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.
|
||||
*/
|
||||
public static Throwable findException(Object exception) {
|
||||
|
@ -2637,7 +2640,7 @@ class ConnectionManager {
|
|||
Throwable cur = (Throwable) exception;
|
||||
while (cur != null) {
|
||||
if (cur instanceof RegionMovedException || cur instanceof RegionOpeningException
|
||||
|| cur instanceof RegionTooBusyException) {
|
||||
|| cur instanceof RegionTooBusyException || cur instanceof ThrottlingException) {
|
||||
return cur;
|
||||
}
|
||||
if (cur instanceof RemoteException) {
|
||||
|
|
Loading…
Reference in New Issue