ソースを参照

YARN-10679. Better logging of uncaught exceptions throughout SLS. Contributed by Szilard Nemeth.

Peter Bacsko 4 年 前
コミット
c3aa413ee3

+ 3 - 4
hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSCapacityScheduler.java

@@ -63,7 +63,6 @@ import com.codahale.metrics.Timer;
 @Unstable
 public class SLSCapacityScheduler extends CapacityScheduler implements
         SchedulerWrapper,Configurable {
-
   private Configuration conf;
  
   private Map<ApplicationAttemptId, String> appQueueMap =
@@ -99,7 +98,7 @@ public class SLSCapacityScheduler extends CapacityScheduler implements
             CapacityScheduler.class);
         schedulerMetrics.init(this, conf);
       } catch (Exception e) {
-        e.printStackTrace();
+        LOG.error("Caught exception while initializing schedulerMetrics", e);
       }
     }
   }
@@ -129,7 +128,7 @@ public class SLSCapacityScheduler extends CapacityScheduler implements
           updateQueueWithAllocateRequest(allocation, attemptId,
                   resourceRequests, containerIds);
         } catch (IOException e) {
-          e.printStackTrace();
+          LOG.error("Caught exception while executing finally block", e);
         }
       }
     } else {
@@ -376,7 +375,7 @@ public class SLSCapacityScheduler extends CapacityScheduler implements
         schedulerMetrics.tearDown();
       }
     } catch (Exception e) {
-      e.printStackTrace();
+      LOG.error("Caught exception while stopping service", e);
     }
     super.serviceStop();
   }

+ 3 - 3
hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SLSFairScheduler.java

@@ -92,7 +92,7 @@ public class SLSFairScheduler extends FairScheduler
             FairScheduler.class);
         schedulerMetrics.init(this, conf);
       } catch (Exception e) {
-        e.printStackTrace();
+        LOG.error("Caught exception while initializing schedulerMetrics", e);
       }
     }
   }
@@ -122,7 +122,7 @@ public class SLSFairScheduler extends FairScheduler
           updateQueueWithAllocateRequest(allocation, attemptId,
               resourceRequests, containerIds);
         } catch (IOException e) {
-          e.printStackTrace();
+          LOG.error("Caught exception while executing finally block", e);
         }
       }
     } else {
@@ -332,7 +332,7 @@ public class SLSFairScheduler extends FairScheduler
         schedulerMetrics.tearDown();
       }
     } catch (Exception e) {
-      e.printStackTrace();
+      LOG.error("Caught exception while stopping service", e);
     }
     super.serviceStop();
   }

+ 5 - 1
hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/TaskRunner.java

@@ -26,10 +26,14 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Private
 @Unstable
 public class TaskRunner {
+  private static final Logger LOG = LoggerFactory.getLogger(TaskRunner.class);
+
   @Private
   @Unstable
   public abstract static class Task implements Runnable, Delayed {
@@ -98,7 +102,7 @@ public class TaskRunner {
           lastStep();
         }
       } catch (Exception e) {
-        e.printStackTrace();
+        LOG.error("Caught exception while executing Taskrunner", e);
         Thread.getDefaultUncaughtExceptionHandler()
             .uncaughtException(Thread.currentThread(), e);
       }

+ 6 - 2
hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/web/SLSWebApp.java

@@ -50,10 +50,14 @@ import com.codahale.metrics.Counter;
 import com.codahale.metrics.Gauge;
 import com.codahale.metrics.Histogram;
 import com.codahale.metrics.MetricRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Private
 @Unstable
 public class SLSWebApp extends HttpServlet {
+  private static final Logger LOG = LoggerFactory.getLogger(SLSWebApp.class);
+
   private static final long serialVersionUID = 1905162041950251407L;
   private transient Server server;
   private transient SchedulerWrapper wrapper;
@@ -101,7 +105,7 @@ public class SLSWebApp extends HttpServlet {
       trackTemplate = IOUtils.toString(
           cl.getResourceAsStream("html/track.html.template"), StandardCharsets.UTF_8);
     } catch (IOException e) {
-      e.printStackTrace();
+      LOG.error("Caught exception while initializing templates", e);
     }
   }
 
@@ -166,7 +170,7 @@ public class SLSWebApp extends HttpServlet {
                 printJsonTrack(request, response);
               }
         } catch (Exception e) {
-          e.printStackTrace();
+          LOG.error("Caught exception while starting SLSWebApp", e);
         }
       }
     };