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()) {