You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/01/18 17:12:43 UTC

svn commit: r1060438 - in /lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index: ConcurrentMergeScheduler.java IndexWriter.java

Author: mikemccand
Date: Tue Jan 18 16:12:42 2011
New Revision: 1060438

URL: http://svn.apache.org/viewvc?rev=1060438&view=rev
Log:
typo in comment

Modified:
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexWriter.java

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=1060438&r1=1060437&r2=1060438&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Tue Jan 18 16:12:42 2011
@@ -283,7 +283,9 @@ public class ConcurrentMergeScheduler ex
   protected synchronized int mergeThreadCount() {
     int count = 0;
     for (MergeThread mt : mergeThreads) {
-      if (mt.isAlive()) count++;
+      if (mt.isAlive() && mt.getCurrentMerge() != null) {
+        count++;
+      }
     }
     return count;
   }
@@ -338,10 +340,16 @@ public class ConcurrentMergeScheduler ex
           while (mergeThreadCount() >= maxMergeCount) {
             startStallTime = System.currentTimeMillis();
             if (verbose()) {
-              message("    too many merges; stalling...");
+              message("    too many merges (" + mergeThreadCount() + " vs " + maxMergeCount + "); stalling...");
             }
+            // NOTE: in theory we should be able to do
+            // simply wait(), but, as a defense against
+            // thread timing hazards where notifyAll()
+            // fails to be called, we wait for at most 1
+            // second and then re-check:
             try {
-              wait();
+              // nocommit
+              wait(10000000);
             } catch (InterruptedException ie) {
               throw new ThreadInterruptedException(ie);
             }
@@ -577,4 +585,5 @@ public class ConcurrentMergeScheduler ex
   public static void setTestMode() {
     allInstances = new ArrayList<ConcurrentMergeScheduler>();
   }
+
 }

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1060438&r1=1060437&r2=1060438&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/index/IndexWriter.java Tue Jan 18 16:12:42 2011
@@ -4078,7 +4078,7 @@ public class IndexWriter implements Clos
     // NOTE: the callers of this method should in theory
     // be able to do simply wait(), but, as a defense
     // against thread timing hazards where notifyAll()
-    // falls to be called, we wait for at most 1 second
+    // fails to be called, we wait for at most 1 second
     // and then return so caller can check if wait
     // conditions are satisfied:
     try {