YARN-3400. [JDK 8] Build Failure due to unreported exceptions in RPCUtil (rkanter)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/555cd967 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/555cd967 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/555cd967 Branch: refs/heads/YARN-2928 Commit: 555cd96772dcb4bed5357f858db17e4ca95acf91 Parents: bd1081b Author: Robert Kanter <rkan...@apache.org> Authored: Thu Mar 26 11:00:20 2015 -0700 Committer: Zhijie Shen <zjs...@apache.org> Committed: Thu Mar 26 23:29:49 2015 -0700 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../org/apache/hadoop/yarn/ipc/RPCUtil.java | 23 ++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/555cd967/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index bbeb0d8..cd39b1a 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -158,6 +158,9 @@ Release 2.8.0 - UNRELEASED YARN-3383. AdminService should use "warn" instead of "info" to log exception when operation fails. (Li Lu via wangda) + YARN-3400. [JDK 8] Build Failure due to unreported exceptions in + RPCUtil (rkanter) + Release 2.7.0 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/555cd967/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ipc/RPCUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ipc/RPCUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ipc/RPCUtil.java index ada0669..1086ff0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ipc/RPCUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ipc/RPCUtil.java @@ -70,6 +70,21 @@ public class RPCUtil { } } + private static <T extends YarnException> T instantiateYarnException( + Class<? extends T> cls, RemoteException re) throws RemoteException { + return instantiateException(cls, re); + } + + private static <T extends IOException> T instantiateIOException( + Class<? extends T> cls, RemoteException re) throws RemoteException { + return instantiateException(cls, re); + } + + private static <T extends RuntimeException> T instantiateRuntimeException( + Class<? extends T> cls, RemoteException re) throws RemoteException { + return instantiateException(cls, re); + } + /** * Utility method that unwraps and returns appropriate exceptions. * @@ -94,17 +109,17 @@ public class RPCUtil { // Assume this to be a new exception type added to YARN. This isn't // absolutely correct since the RPC layer could add an exception as // well. - throw instantiateException(YarnException.class, re); + throw instantiateYarnException(YarnException.class, re); } if (YarnException.class.isAssignableFrom(realClass)) { - throw instantiateException( + throw instantiateYarnException( realClass.asSubclass(YarnException.class), re); } else if (IOException.class.isAssignableFrom(realClass)) { - throw instantiateException(realClass.asSubclass(IOException.class), + throw instantiateIOException(realClass.asSubclass(IOException.class), re); } else if (RuntimeException.class.isAssignableFrom(realClass)) { - throw instantiateException( + throw instantiateRuntimeException( realClass.asSubclass(RuntimeException.class), re); } else { throw re;