[jboss-cvs] JBossAS SVN: r76112 - trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 22 17:52:04 EDT 2008


Author: bstansberry at jboss.com
Date: 2008-07-22 17:52:04 -0400 (Tue, 22 Jul 2008)
New Revision: 76112

Modified:
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
Log:
Minor logging tweaks; pause between big tasks to let system do other work

Modified: trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java	2008-07-22 17:04:29 UTC (rev 76111)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java	2008-07-22 21:52:04 UTC (rev 76112)
@@ -116,6 +116,7 @@
          
          if (weakReferenceOnLoader.get() == null)
          {
+            log.debug("leakAnalyzer.forceGC() released CL ref");
             return null;
          }
          
@@ -126,20 +127,29 @@
             return null;
          }
          
+         // Sleep a bit to allow CPU to do work like exchange cluster PING responses
+         Thread.sleep(20);
+         
          leakAnalyzer.heapSnapshot("snapshot", "mem");
          
          if (weakReferenceOnLoader.get() == null)
          {
+            log.debug("leakAnalyzer.heapSnapshot() released CL ref");
             return null;
          }
+         
+         Thread.sleep(20);
             
          HashMap datapoints = leakAnalyzer.createIndexMatrix();
          
          if (weakReferenceOnLoader.get() == null)
          {
+            log.debug("leakAnalyzer.createIndexMatrix() released CL ref");
             return null;
          }
          
+         Thread.sleep(20);
+         
          String report = leakAnalyzer.exploreObjectReferences(datapoints, weakReferenceOnLoader.get(), 18, true, false);
          log.info(report);
          if (reportHTMLFile != null)
@@ -150,6 +160,8 @@
             realoutput.println(report);
             realoutput.close();
          }
+         
+         Thread.sleep(20);
 
          leakAnalyzer.forceGC();
       }
@@ -177,6 +189,7 @@
       {
           int toAdd = adds[i];
           System.gc();
+          System.runFinalization();
           
           if (ref.get() == null)
              break;
@@ -200,7 +213,21 @@
           {
              log.warn("Caught throwable filling memory: " + t);
              System.gc();
+             System.runFinalization();
              break;
+          }       
+          finally
+          {
+             // Sleep a bit to allow CPU to do work like exchange cluster PING responses
+             try
+             {
+                Thread.sleep(20);
+             }
+             catch (InterruptedException ignored)
+             {
+               log.warn("Interrupted");
+               break;
+             }
           }
       }
       
@@ -223,7 +250,10 @@
       }
       
       if (ref.get() != null)
+      {
          System.gc();
+         System.runFinalization();
+      }
    }
    
    public void removeClassLoader(String key)




More information about the jboss-cvs-commits mailing list