浏览代码

AMBARI-9262 AMS: stack traces printed to ambari-server.log (dsen)

Dmytro Sen 10 年之前
父节点
当前提交
df55775367

+ 15 - 2
ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/AMSPropertyProvider.java

@@ -38,6 +38,7 @@ import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.InputStreamReader;
+import java.net.SocketTimeoutException;
 import java.util.Collection;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -190,14 +191,26 @@ public abstract class AMSPropertyProvider extends MetricsPropertyProvider {
             }
             }
 
 
           } catch (IOException io) {
           } catch (IOException io) {
-            LOG.warn("Error getting timeline metrics.", io);
+            String errorMsg = "Error getting timeline metrics.";
+            if (LOG.isDebugEnabled()) {
+              LOG.error(errorMsg, io);
+            } else {
+              if (io instanceof SocketTimeoutException) {
+                errorMsg += " Can not connect to collector, socket error.";
+              }
+              LOG.error(errorMsg);
+            }
           } finally {
           } finally {
             if (reader != null) {
             if (reader != null) {
               try {
               try {
                 reader.close();
                 reader.close();
               } catch (IOException e) {
               } catch (IOException e) {
                 if (LOG.isWarnEnabled()) {
                 if (LOG.isWarnEnabled()) {
-                  LOG.warn("Unable to close http input steam : spec=" + spec, e);
+                  if (LOG.isDebugEnabled()) {
+                    LOG.warn("Unable to close http input stream : spec=" + spec, e);
+                  } else {
+                    LOG.warn("Unable to close http input stream : spec=" + spec);
+                  }
                 }
                 }
               }
               }
             }
             }

+ 15 - 3
ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/AMSReportPropertyProvider.java

@@ -40,12 +40,12 @@ import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.InputStreamReader;
+import java.net.SocketTimeoutException;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
 
 
-import static org.apache.ambari.server.controller.metrics.MetricsServiceProvider.MetricsService.GANGLIA;
 import static org.apache.ambari.server.controller.metrics.MetricsServiceProvider.MetricsService.TIMELINE_METRICS;
 import static org.apache.ambari.server.controller.metrics.MetricsServiceProvider.MetricsService.TIMELINE_METRICS;
 
 
 public class AMSReportPropertyProvider extends MetricsReportPropertyProvider {
 public class AMSReportPropertyProvider extends MetricsReportPropertyProvider {
@@ -173,14 +173,26 @@ public class AMSReportPropertyProvider extends MetricsReportPropertyProvider {
         }
         }
 
 
       } catch (IOException io) {
       } catch (IOException io) {
-        LOG.warn("Error getting timeline metrics.", io);
+        String errorMsg = "Error getting timeline metrics.";
+        if (LOG.isDebugEnabled()) {
+          LOG.error(errorMsg, io);
+        } else {
+          if (io instanceof SocketTimeoutException) {
+            errorMsg += " Can not connect to collector, socket error.";
+          }
+          LOG.error(errorMsg);
+        }
       } finally {
       } finally {
         if (reader != null) {
         if (reader != null) {
           try {
           try {
             reader.close();
             reader.close();
           } catch (IOException e) {
           } catch (IOException e) {
             if (LOG.isWarnEnabled()) {
             if (LOG.isWarnEnabled()) {
-              LOG.warn("Unable to close http input steam : spec=" + spec, e);
+              if (LOG.isDebugEnabled()) {
+                LOG.warn("Unable to close http input steam : spec=" + spec, e);
+              } else {
+                LOG.warn("Unable to close http input steam : spec=" + spec);
+              }
             }
             }
           }
           }
         }
         }