diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java index de9d8da..51186eb 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java @@ -176,7 +176,7 @@ public Object retryOn(TimelineClientRetryOp op) try { // try perform the op, if fail, keep retrying return op.run(); - } catch (IOException e) { + } catch (IOException | RuntimeException e) { // We may only throw runtime and IO exceptions. After switching to // Java 1.7, we can merge these two catch blocks into one. @@ -189,16 +189,6 @@ public Object retryOn(TimelineClientRetryOp op) } else { throw e; } - } catch (RuntimeException e) { - // break if there's no retries left - if (leftRetries == 0) { - break; - } - if (op.shouldRetryOn(e)) { - logException(e, leftRetries); - } else { - throw e; - } } if (leftRetries > 0) { leftRetries--;