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()));
}