Author: markt
Date: Thu Mar 19 20:57:22 2015
New Revision: 1667871

URL: http://svn.apache.org/r1667871
Log:
Prevent threads from being renewed if a leak is detected. This might be why the 
memoty leak tests sometimes fails on Gump.

Modified:
    
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java

Modified: 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java?rev=1667871&r1=1667870&r2=1667871&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
 Thu Mar 19 20:57:22 2015
@@ -17,6 +17,7 @@
 package org.apache.catalina.loader;
 
 import java.io.InputStream;
+import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Filter;
 import java.util.logging.LogManager;
@@ -24,7 +25,6 @@ import java.util.logging.LogRecord;
 
 import javax.servlet.http.HttpServletResponse;
 
-
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -34,6 +34,7 @@ import org.apache.catalina.core.Standard
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.buf.ByteChunk;
+import org.apache.tomcat.util.threads.ThreadPoolExecutor;
 
 public class TestWebappClassLoaderThreadLocalMemoryLeak extends TomcatBaseTest 
{
 
@@ -52,9 +53,11 @@ public class TestWebappClassLoaderThread
                 "org.apache.tomcat.unittest.TesterLeakingServlet1");
         ctx.addServletMapping("/leak1", "leakServlet1");
 
-
         tomcat.start();
 
+        Executor executor = 
tomcat.getConnector().getProtocolHandler().getExecutor();
+        ((ThreadPoolExecutor) executor).setThreadRenewalDelay(-1);
+
         // Configure logging filter to check leak message appears
         LogValidationFilter f = new LogValidationFilter(
                 "The web application [ROOT] created a ThreadLocal with key 
of");
@@ -108,6 +111,9 @@ public class TestWebappClassLoaderThread
 
         tomcat.start();
 
+        Executor executor = 
tomcat.getConnector().getProtocolHandler().getExecutor();
+        ((ThreadPoolExecutor) executor).setThreadRenewalDelay(-1);
+
         // Configure logging filter to check leak message appears
         LogValidationFilter f = new LogValidationFilter(
                 "The web application [ROOT] created a ThreadLocal with key 
of");



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

Reply via email to