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: [email protected]
For additional commands, e-mail: [email protected]