You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2014/04/25 20:58:45 UTC

svn commit: r1590103 - in /uima/uimaj/trunk/uimaj-core/src: main/java/org/apache/uima/jcas/impl/JCasHashMap.java test/java/org/apache/uima/internal/util/MultiThreadUtils.java test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java

Author: schor
Date: Fri Apr 25 18:58:45 2014
New Revision: 1590103

URL: http://svn.apache.org/r1590103
Log:
[UIMA-3774] test case - give better error message (dump the stack trace) when an error occurs in a sub-thread

Modified:
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/internal/util/MultiThreadUtils.java
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java?rev=1590103&r1=1590102&r2=1590103&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java Fri Apr 25 18:58:45 2014
@@ -62,7 +62,7 @@ public class JCasHashMap {
 
   // set to true to collect statistics for tuning
   // you have to also put a call to jcas.showJfsFromCaddrHistogram() at the end of the run
-  private static final boolean TUNE = true;
+  private static final boolean TUNE = false;
 
   private static final int DEFAULT_CONCURRENCY_LEVEL;
   static {

Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/internal/util/MultiThreadUtils.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/internal/util/MultiThreadUtils.java?rev=1590103&r1=1590102&r2=1590103&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/internal/util/MultiThreadUtils.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/internal/util/MultiThreadUtils.java Fri Apr 25 18:58:45 2014
@@ -81,6 +81,7 @@ public class MultiThreadUtils extends Te
             }
             threads[i].join();
             if (thrown[0] != null) {
+              thrown[0].printStackTrace();
               assertTrue(false);
             }
           } catch (InterruptedException e) {

Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java?rev=1590103&r1=1590102&r2=1590103&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java Fri Apr 25 18:58:45 2014
@@ -41,7 +41,7 @@ public class JCasHashMapTest extends Tes
     }    
   }
   
-  static final TOP_Type NULL_TOP_TYPE_INSTANCE = new FakeTopType(); 
+  static final TOP_Type FAKE_TOP_TYPE_INSTANCE = new FakeTopType(); 
   static final int SIZE = 20000;  // set > 2 million for cache avoidance timing tests
   static final long SEED = 12345;
   static Random r = new Random(SEED);
@@ -89,7 +89,7 @@ public class JCasHashMapTest extends Tes
             final int key = addrs[random.nextInt(SIZE / 16)];
             FeatureStructureImpl fs = m.getReserve(key);
             if (null == fs) {
-              m.put(new TOP(key, NULL_TOP_TYPE_INSTANCE));
+              m.put(new TOP(key, FAKE_TOP_TYPE_INSTANCE));
             }
           }
           try {
@@ -124,7 +124,7 @@ public class JCasHashMapTest extends Tes
     final Random r = new Random();
     final JCasHashMap m = new JCasHashMap(200, true); // true = do use cache 
     final int hashKey = 15;
-    final TOP fs = new TOP(hashKey, NULL_TOP_TYPE_INSTANCE);
+    final TOP fs = new TOP(hashKey, FAKE_TOP_TYPE_INSTANCE);
     
     final Thread[] threads = new Thread[numberOfThreads];
     final FeatureStructureImpl[] found = new FeatureStructureImpl[numberOfThreads];
@@ -202,7 +202,7 @@ public class JCasHashMapTest extends Tes
     long start = System.currentTimeMillis();
     for (int i = 0; i < n; i++) {
       final int key = addrs[i];
-      TOP fs = new TOP(key, NULL_TOP_TYPE_INSTANCE);
+      TOP fs = new TOP(key, FAKE_TOP_TYPE_INSTANCE);
 //      FeatureStructureImpl v = m.get(fs.getAddress());
 //      if (null == v) {
 //        m.get(7 * i);
@@ -220,7 +220,7 @@ public class JCasHashMapTest extends Tes
     
     for (int i = 0; i < n; i++) {
       final int key = addrs[i];
-      TOP fs = new TOP(key, NULL_TOP_TYPE_INSTANCE);
+      TOP fs = new TOP(key, FAKE_TOP_TYPE_INSTANCE);
 //      FeatureStructureImpl v = m.get(fs.getAddress());
 //      if (null == v) {
 //        m.get(7 * i);
@@ -309,7 +309,7 @@ public class JCasHashMapTest extends Tes
   private void fill (int n, JCasHashMap m) {
     for (int i = 0; i < n; i++) {
       final int key = addrs[i];
-      TOP fs = new TOP(key, NULL_TOP_TYPE_INSTANCE);
+      TOP fs = new TOP(key, FAKE_TOP_TYPE_INSTANCE);
       m.put(fs);
 //      System.out.format("JCasHashMapTest fill %s%n",  intList(m.getCapacities()));
     }