Author: remm
Date: Thu Jun 12 13:24:22 2014
New Revision: 1602159

URL: http://svn.apache.org/r1602159
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56546 (very partial)
Reduce verbosity of clear references logging. Although it is a good tool for 
detecting leaks, the severity does not match the likely impact. Also avoid 
having more than one logging for one event even if filtering becomes less 
flexible.

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=1602159&r1=1602158&r2=1602159&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Thu 
Jun 12 13:24:22 2014
@@ -38,14 +38,12 @@ webappClassLoader.jarsModified=One or mo
 webappClassLoader.jarsRemoved=One or more JARs have been removed from the web 
application [{0}]
 webappClassLoader.javaseClassLoaderNull=The j2seClassLoader attribute may not 
be null
 webappClassLoader.resourceModified=Resource [{0}] has been modified. The last 
modified time was [{1}] and is now [{2}]
-webappClassLoader.stackTrace=Stack trace of thread "{0}":{1}
-webappClassLoader.stackTraceRequestThread=Stack trace of request processing 
thread "{0}":{1}
+webappClassLoader.stackTrace=The web application [{0}] appears to have started 
a thread named [{1}] but has failed to stop it. This is very likely to create a 
memory leak. Stack trace of thread:{2}
+webappClassLoader.stackTraceRequestThread=The web application [{0}] is still 
processing a request that has yet to finish. This is very likely to create a 
memory leak. You can control the time allowed for requests to finish by using 
the unloadDelay attribute of the standard Context implementation. Stack trace 
of request processing thread:{2}
 webappClassLoader.stopThreadFail=Failed to terminate thread named [{0}] for 
web application [{1}]
 webappClassLoader.stopTimerThreadFail=Failed to terminate TimerThread named 
[{0}] for web application [{1}]
 webappClassLoader.superCloseFail=Failure calling close() on super class
 webappClassLoader.validationErrorJarPath=Unable to validate JAR entry with 
name {0}
-webappClassLoader.warnRequestThread=The web application [{0}] is still 
processing a request that has yet to finish. This is very likely to create a 
memory leak. You can control the time allowed for requests to finish by using 
the unloadDelay attribute of the standard Context implementation.
-webappClassLoader.warnThread=The web application [{0}] appears to have started 
a thread named [{1}] but has failed to stop it. This is very likely to create a 
memory leak.
 webappClassLoader.warnTimerThread=The web application [{0}] appears to have 
started a TimerThread named [{1}] via the java.util.Timer API but has failed to 
stop it. To prevent a memory leak, the timer (and hence the associated thread) 
has been forcibly canceled.
 webappClassLoader.wrongVersion=(unable to load class {0})
 webappClassLoader.addTransformer.illegalArgument=The web application [{0}] 
attempted to add a null class file transformer.

Modified: 
tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties?rev=1602159&r1=1602158&r2=1602159&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties Thu 
Jun 12 13:24:22 2014
@@ -31,8 +31,6 @@ webappClassLoader.checkThreadsHttpClient
 webappClassLoader.stopThreadFail = No pude terminar el hilo con nombre [{0}] 
para la aplicaci\u00F3n web [{1}]
 webappClassLoader.stopTimerThreadFail = No pude terminar TimerThread con 
nombre [{0}] para la aplicaci\u00F3n web [{1}]
 webappClassLoader.validationErrorJarPath = no pude validar entrada JAR con 
nombre {0}
-webappClassLoader.warnRequestThread = La aplicaci\u00F3n web [{0}] a\u00FAn se 
encuentra procesando un requerimiento que no ha terminados. Esto tiene todas 
las papeletas de convertirse en un fallo de memoria. Puedes controlar el tiempo 
permitido a los requerimientos para acabar mediante el uso del atributo 
unloadDelay de la implementaci\u00F3n est\u00E1ndar de Contexto.
-webappClassLoader.warnThread = La aplicaci\u00F3n web [{0}] parece haber 
arrancado un hilo llamado [{1}] pero no ha podido pararlo. Esto tiene todas las 
papeletas de convertirse en un fallo de memoria.
 webappClassLoader.warnTimerThread = La aplicaci\u00F3n web [{0}] parece haber 
arrancado un TimerThread con nombre [{1}] v\u00EDa de la API java.util.Timer, 
pero no ha podido pararlo. Para prevenir un fallo de memoria, el 
cron\u00F3metro (y el hilo asociado) hasido cancelado a la fuerza.
 webappClassLoader.wrongVersion = (no puedo cargar clase {0})
 webappLoader.addRepository = A\u00F1adiendo repositorio {0}

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1602159&r1=1602158&r2=1602159&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Thu Jun 
12 13:24:22 2014
@@ -1633,14 +1633,14 @@ public class WebappClassLoader extends U
             List<String> driverNames = (List<String>) obj.getClass().getMethod(
                     "clearJdbcDriverRegistrations").invoke(obj);
             for (String name : driverNames) {
-                log.error(sm.getString("webappClassLoader.clearJdbc",
+                log.info(sm.getString("webappClassLoader.clearJdbc",
                         getContextName(), name));
             }
         } catch (Exception e) {
             // So many things to go wrong above...
             Throwable t = ExceptionUtils.unwrapInvocationTargetException(e);
             ExceptionUtils.handleThrowable(t);
-            log.warn(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.jdbcRemoveFailed", getContextName()), 
t);
         }
     }
@@ -1820,15 +1820,11 @@ public class WebappClassLoader extends U
                     }
 
                     if (isRequestThread(thread)) {
-                        
log.error(sm.getString("webappClassLoader.warnRequestThread",
-                                getContextName(), threadName));
                         
log.info(sm.getString("webappClassLoader.stackTraceRequestThread",
-                                threadName, getStackTrace(thread)));
+                                getContextName(), threadName, 
getStackTrace(thread)));
                     } else {
-                        log.error(sm.getString("webappClassLoader.warnThread",
-                                getContextName(), threadName));
                         log.info(sm.getString("webappClassLoader.stackTrace",
-                                threadName, getStackTrace(thread)));
+                                getContextName(), threadName, 
getStackTrace(thread)));
                     }
 
                     // Don't try an stop the threads unless explicitly
@@ -2003,14 +1999,14 @@ public class WebappClassLoader extends U
                 }
             }
 
-            log.error(sm.getString("webappClassLoader.warnTimerThread",
+            log.info(sm.getString("webappClassLoader.warnTimerThread",
                     getContextName(), thread.getName()));
 
         } catch (Exception e) {
             // So many things to go wrong above...
             Throwable t = ExceptionUtils.unwrapInvocationTargetException(e);
             ExceptionUtils.handleThrowable(t);
-            log.warn(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.stopTimerThreadFail",
                     thread.getName(), getContextName()), t);
         }
@@ -2057,7 +2053,7 @@ public class WebappClassLoader extends U
             }
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
-            log.warn(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.checkThreadLocalsForLeaksFail",
                     getContextName()), t);
         }
@@ -2100,7 +2096,7 @@ public class WebappClassLoader extends U
                                 try {
                                     args[2] = key.toString();
                                 } catch (Exception e) {
-                                    log.error(sm.getString(
+                                    log.info(sm.getString(
                                             
"webappClassLoader.checkThreadLocalsForLeaks.badKey",
                                             args[1]), e);
                                     args[2] = sm.getString(
@@ -2112,7 +2108,7 @@ public class WebappClassLoader extends U
                                 try {
                                     args[4] = value.toString();
                                 } catch (Exception e) {
-                                    log.error(sm.getString(
+                                    log.info(sm.getString(
                                             
"webappClassLoader.checkThreadLocalsForLeaks.badValue",
                                             args[3]), e);
                                     args[4] = sm.getString(
@@ -2126,7 +2122,7 @@ public class WebappClassLoader extends U
                                             args));
                                 }
                             } else {
-                                log.error(sm.getString(
+                                log.info(sm.getString(
                                         
"webappClassLoader.checkThreadLocalsForLeaks",
                                         args));
                             }
@@ -2290,16 +2286,16 @@ public class WebappClassLoader extends U
             log.info(sm.getString("webappClassLoader.clearRmiInfo",
                     getContextName()), e);
         } catch (SecurityException e) {
-            log.warn(sm.getString("webappClassLoader.clearRmiFail",
+            log.info(sm.getString("webappClassLoader.clearRmiFail",
                     getContextName()), e);
         } catch (NoSuchFieldException e) {
-            log.warn(sm.getString("webappClassLoader.clearRmiFail",
+            log.info(sm.getString("webappClassLoader.clearRmiFail",
                     getContextName()), e);
         } catch (IllegalArgumentException e) {
-            log.warn(sm.getString("webappClassLoader.clearRmiFail",
+            log.info(sm.getString("webappClassLoader.clearRmiFail",
                     getContextName()), e);
         } catch (IllegalAccessException e) {
-            log.warn(sm.getString("webappClassLoader.clearRmiFail",
+            log.info(sm.getString("webappClassLoader.clearRmiFail",
                     getContextName()), e);
         }
     }
@@ -2368,12 +2364,12 @@ public class WebappClassLoader extends U
                         Integer.valueOf(countRemoved), getContextName()));
             }
         } catch (SecurityException e) {
-            log.error(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.clearReferencesResourceBundlesFail",
                     getContextName()), e);
         } catch (NoSuchFieldException e) {
             if (Globals.IS_ORACLE_JVM) {
-                log.error(sm.getString(
+                log.info(sm.getString(
                         "webappClassLoader.clearReferencesResourceBundlesFail",
                         getContextName()), e);
             } else {
@@ -2382,11 +2378,11 @@ public class WebappClassLoader extends U
                         getContextName()), e);
             }
         } catch (IllegalArgumentException e) {
-            log.error(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.clearReferencesResourceBundlesFail",
                     getContextName()), e);
         } catch (IllegalAccessException e) {
-            log.error(sm.getString(
+            log.info(sm.getString(
                     "webappClassLoader.clearReferencesResourceBundlesFail",
                     getContextName()), e);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to