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 2013/01/04 17:13:20 UTC

svn commit: r1428951 - in /lucene/dev/branches/branch_4x: ./ lucene/ lucene/CHANGES.txt lucene/core/ lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java

Author: mikemccand
Date: Fri Jan  4 16:13:19 2013
New Revision: 1428951

URL: http://svn.apache.org/viewvc?rev=1428951&view=rev
Log:
LUCENE-4660: add missing notifyAll after merge finishes

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/lucene/   (props changed)
    lucene/dev/branches/branch_4x/lucene/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/lucene/core/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java

Modified: lucene/dev/branches/branch_4x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/CHANGES.txt?rev=1428951&r1=1428950&r2=1428951&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/lucene/CHANGES.txt Fri Jan  4 16:13:19 2013
@@ -295,6 +295,10 @@ Bug Fixes
   that have no TermToBytesRefAttribute (commonly provided by CharTermAttribute),
   e.g., oal.analysis.miscellaneous.EmptyTokenStream.
   (Uwe Schindler, Adrien Grand, Robert Muir)
+
+* LUCENE-4660: ConcurrentMergeScheduler was taking too long to
+  un-pause incoming threads it had paused when too many merges were
+  queued up. (Mike McCandless)
     
 Changes in Runtime Behavior
   

Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=1428951&r1=1428950&r2=1428951&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Fri Jan  4 16:13:19 2013
@@ -479,6 +479,14 @@ public class ConcurrentMergeScheduler ex
           // Subsequent times through the loop we do any new
           // merge that writer says is necessary:
           merge = tWriter.getNextMerge();
+
+          // Notify here in case any threads were stalled;
+          // they will notice that the pending merge has
+          // been pulled and possibly resume:
+          synchronized(ConcurrentMergeScheduler.this) {
+            ConcurrentMergeScheduler.this.notifyAll();
+          }
+
           if (merge != null) {
             updateMergeThreads();
             if (verbose()) {