HDFS-14937. [SBN read] ObserverReadProxyProvider should throw InterruptException. Contributed by xuzq.
This commit is contained in:
parent
ee51eadda0
commit
62423910a4
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InterruptedIOException;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.lang.reflect.Proxy;
|
import java.lang.reflect.Proxy;
|
||||||
@ -412,6 +413,13 @@ public Object invoke(Object proxy, final Method method, final Object[] args)
|
|||||||
throw ite.getCause();
|
throw ite.getCause();
|
||||||
}
|
}
|
||||||
Exception e = (Exception) ite.getCause();
|
Exception e = (Exception) ite.getCause();
|
||||||
|
if (e instanceof InterruptedIOException ||
|
||||||
|
e instanceof InterruptedException) {
|
||||||
|
// If interrupted, do not retry.
|
||||||
|
LOG.warn("Invocation returned interrupted exception on [{}];",
|
||||||
|
current.proxyInfo, e);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
if (e instanceof RemoteException) {
|
if (e instanceof RemoteException) {
|
||||||
RemoteException re = (RemoteException) e;
|
RemoteException re = (RemoteException) e;
|
||||||
Exception unwrapped = re.unwrapRemoteException(
|
Exception unwrapped = re.unwrapRemoteException(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user