Explorar o código

YARN-3155. Refactor the exception handling code for TimelineClientImpl's retryOn method (Li Lu via wangda)

Wangda Tan %!s(int64=10) %!d(string=hai) anos
pai
achega
00a748d24a

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -255,6 +255,9 @@ Release 2.7.0 - UNRELEASED
     YARN-3144. Configuration for making delegation token failures to timeline
     server not-fatal (Jonathan Eagles via jlowe)
 
+    YARN-3155. Refactor the exception handling code for TimelineClientImpl's 
+    retryOn method (Li Lu via wangda)
+
   OPTIMIZATIONS
 
     YARN-2990. FairScheduler's delay-scheduling always waits for node-local and 

+ 1 - 14
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java

@@ -178,20 +178,7 @@ public class TimelineClientImpl extends TimelineClient {
         try {
           // try perform the op, if fail, keep retrying
           return op.run();
-        }  catch (IOException e) {
-          // We may only throw runtime and IO exceptions. After switching to
-          // Java 1.7, we can merge these two catch blocks into one.
-
-          // break if there's no retries left
-          if (leftRetries == 0) {
-            break;
-          }
-          if (op.shouldRetryOn(e)) {
-            logException(e, leftRetries);
-          } else {
-            throw e;
-          }
-        } catch (RuntimeException e) {
+        } catch (IOException | RuntimeException e) {
           // break if there's no retries left
           if (leftRetries == 0) {
             break;