lucene-java-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From uschind...@apache.org
Subject svn commit: r892211 - in /lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene: ./ index/
Date Fri, 18 Dec 2009 10:34:35 GMT
Author: uschindler
Date: Fri Dec 18 10:34:34 2009
New Revision: 892211

URL: http://svn.apache.org/viewvc?rev=892211&view=rev
Log:
LUCENE-2170: Fix thread starvation problems in BW branch

Modified:
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestAtomicUpdate.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriter.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterReader.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestStressIndexing.java
    lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestTransactions.java

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
Fri Dec 18 10:34:34 2009
@@ -122,7 +122,7 @@
         public void run() {
           Document doc = new Document();
           doc.add(new Field("content", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
-          while(System.currentTimeMillis() < stopTime) {
+          do {
             for(int i=0;i<27;i++) {
               try {
                 writer.addDocument(doc);
@@ -143,7 +143,7 @@
             } catch (InterruptedException ie) {
               throw new ThreadInterruptedException(ie);
             }
-          }
+          } while(System.currentTimeMillis() < stopTime);
         }
       };
 
@@ -151,12 +151,10 @@
 
     // While the above indexing thread is running, take many
     // backups:
-    while(System.currentTimeMillis() < stopTime) {
+    do {
       backupIndex(dir, dp);
       Thread.sleep(20);
-      if (!t.isAlive())
-        break;
-    }
+    } while(t.isAlive());
 
     t.join();
 

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestAtomicUpdate.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestAtomicUpdate.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestAtomicUpdate.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestAtomicUpdate.java
Fri Dec 18 10:34:34 2009
@@ -47,7 +47,7 @@
   }
 
   private static abstract class TimedThread extends Thread {
-    boolean failed;
+    volatile boolean failed;
     int count;
     private static float RUN_TIME_SEC = 0.5f;
     private TimedThread[] allThreads;
@@ -65,10 +65,11 @@
       count = 0;
 
       try {
-        while(System.currentTimeMillis() < stopTime && !anyErrors()) {
+        do {
+          if (anyErrors()) break;
           doWork();
           count++;
-        }
+        } while(System.currentTimeMillis() < stopTime);
       } catch (Throwable e) {
         System.out.println(Thread.currentThread().getName() + ": exc");
         e.printStackTrace(System.out);

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriter.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriter.java
Fri Dec 18 10:34:34 2009
@@ -2204,7 +2204,7 @@
       int fullCount = 0;
       final long stopTime = System.currentTimeMillis() + 200;
 
-      while(System.currentTimeMillis() < stopTime) {
+      do {
         try {
           writer.updateDocument(new Term("id", ""+(idUpto++)), doc);
           addCount++;
@@ -2238,7 +2238,7 @@
           }
           break;
         }
-      }
+      } while(System.currentTimeMillis() < stopTime);
     }
   }
 

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
Fri Dec 18 10:34:34 2009
@@ -65,7 +65,7 @@
 
       final long stopTime = System.currentTimeMillis() + 500;
 
-      while(System.currentTimeMillis() < stopTime) {
+      do {
         doFail.set(this);
         final String id = ""+r.nextInt(50);
         idField.setValue(id);
@@ -105,7 +105,7 @@
           failure = t;
           break;
         }
-      }
+      } while(System.currentTimeMillis() < stopTime);
     }
   }
 

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterReader.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestIndexWriterReader.java
Fri Dec 18 10:34:34 2009
@@ -730,14 +730,14 @@
       threads[i] = new Thread() {
           @Override
           public void run() {
-            while(System.currentTimeMillis() < endTime) {
+            do {
               try {
                 writer.addIndexesNoOptimize(dirs);
               } catch (Throwable t) {
                 excs.add(t);
                 throw new RuntimeException(t);
               }
-            }
+            } while(System.currentTimeMillis() < endTime);
           }
         };
       threads[i].setDaemon(true);
@@ -760,6 +760,15 @@
     for(int i=0;i<NUM_THREAD;i++) {
       threads[i].join();
     }
+    // final check
+    IndexReader r2 = r.reopen();
+    if (r2 != r) {
+      r.close();
+      r = r2;
+    }
+    Query q = new TermQuery(new Term("indexname", "test"));
+    final int count = new IndexSearcher(r).search(q, 10).totalHits;
+    assertTrue(count >= lastCount);
 
     assertEquals(0, excs.size());
     writer.close();
@@ -796,7 +805,7 @@
           public void run() {
             int count = 0;
             final Random r = new Random();
-            while(System.currentTimeMillis() < endTime) {
+            do {
               try {
                 for(int i=0;i<10;i++) {
                   writer.addDocument(createDocument(10*count+i, "test", 4));
@@ -811,7 +820,7 @@
                 excs.add(t);
                 throw new RuntimeException(t);
               }
-            }
+            } while(System.currentTimeMillis() < endTime);
           }
         };
       threads[i].setDaemon(true);
@@ -832,7 +841,16 @@
     for(int i=0;i<NUM_THREAD;i++) {
       threads[i].join();
     }
-    assertTrue(sum > 0);
+    // at least search once
+    IndexReader r2 = r.reopen();
+    if (r2 != r) {
+      r.close();
+      r = r2;
+    }
+    Query q = new TermQuery(new Term("indexname", "test"));
+    sum += new IndexSearcher(r).search(q, 10).totalHits;
+
+    assertTrue("no documents found at all", sum > 0);
 
     assertEquals(0, excs.size());
     writer.close();

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestStressIndexing.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestStressIndexing.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestStressIndexing.java
Fri Dec 18 10:34:34 2009
@@ -31,7 +31,7 @@
   private Random RANDOM;
 
   private static abstract class TimedThread extends Thread {
-    boolean failed;
+    volatile boolean failed;
     int count;
     private static int RUN_TIME_SEC = 1;
     private TimedThread[] allThreads;
@@ -49,10 +49,11 @@
       count = 0;
 
       try {
-        while(System.currentTimeMillis() < stopTime && !anyErrors()) {
+        do {
+          if (anyErrors()) break;
           doWork();
           count++;
-        }
+        } while(System.currentTimeMillis() < stopTime);
       } catch (Throwable e) {
         System.out.println(Thread.currentThread() + ": exc");
         e.printStackTrace(System.out);

Modified: lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestTransactions.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestTransactions.java?rev=892211&r1=892210&r2=892211&view=diff
==============================================================================
--- lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestTransactions.java
(original)
+++ lucene/java/branches/lucene_3_0_back_compat_tests/src/test/org/apache/lucene/index/TestTransactions.java
Fri Dec 18 10:34:34 2009
@@ -38,7 +38,7 @@
   }
 
   private static abstract class TimedThread extends Thread {
-    boolean failed;
+    volatile boolean failed;
     private static float RUN_TIME_SEC = 0.5f;
     private TimedThread[] allThreads;
 
@@ -53,8 +53,10 @@
       final long stopTime = System.currentTimeMillis() + (long) (1000*RUN_TIME_SEC);
 
       try {
-        while(System.currentTimeMillis() < stopTime && !anyErrors())
+        do {
+          if (anyErrors()) break;
           doWork();
+        } while (System.currentTimeMillis() < stopTime);
       } catch (Throwable e) {
         System.out.println(Thread.currentThread() + ": exc");
         e.printStackTrace(System.out);



Mime
View raw message