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 2014/12/08 20:40:04 UTC
svn commit: r1643895 - in /lucene/dev/branches/branch_5x: ./ lucene/
lucene/benchmark/
lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/
lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/ lucene/core/
lucene/core/src/java/o...
Author: mikemccand
Date: Mon Dec 8 19:40:04 2014
New Revision: 1643895
URL: http://svn.apache.org/r1643895
Log:
LUCENE-6097: make abort/waitForMerges private
Removed:
lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitForMergesTask.java
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/lucene/ (props changed)
lucene/dev/branches/branch_5x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/lucene/benchmark/ (props changed)
lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
lucene/dev/branches/branch_5x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
lucene/dev/branches/branch_5x/lucene/core/ (props changed)
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
Modified: lucene/dev/branches/branch_5x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/CHANGES.txt?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/lucene/CHANGES.txt Mon Dec 8 19:40:04 2014
@@ -270,6 +270,10 @@ API Changes
won't be trappy if codec tries to use them during docvalues updates.
(Robert Muir)
+* LUCENE-6097: Remove dangerous / overly expert
+ IndexWriter.abortMerges and waitForMerges methods. (Robert Muir,
+ Mike McCandless)
+
Bug Fixes
* LUCENE-5650: Enforce read-only access to any path outside the temporary
Modified: lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java (original)
+++ lucene/dev/branches/branch_5x/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseIndexTask.java Mon Dec 8 19:40:04 2014
@@ -46,9 +46,11 @@ public class CloseIndexTask extends Perf
infoStream.close();
}
if (doWait == false) {
- iw.abortMerges();
+ iw.commit();
+ iw.rollback();
+ } else {
+ iw.close();
}
- iw.close();
getRunData().setIndexWriter(null);
}
return 1;
Modified: lucene/dev/branches/branch_5x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java (original)
+++ lucene/dev/branches/branch_5x/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java Mon Dec 8 19:40:04 2014
@@ -532,7 +532,6 @@ public class TestPerfTasksLogic extends
"{ [ AddDoc]: 4} : * ",
"ResetInputs ",
"{ [ AddDoc]: 4} : * ",
- "WaitForMerges",
"CloseIndex",
};
@@ -568,7 +567,6 @@ public class TestPerfTasksLogic extends
" ResetSystemErase",
" CreateIndex",
" { \"AddDocs\" AddDoc > : * ",
- " WaitForMerges",
" CloseIndex",
"} : 2",
};
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Mon Dec 8 19:40:04 2014
@@ -1629,11 +1629,6 @@ public class IndexWriter implements Clos
* newly created segments will not be merged unless you
* call forceMerge again.</p>
*
- * <p><b>NOTE</b>: if you call {@link #abortMerges}, which
- * aborts all running merges, then any thread still
- * running this method might hit a {@link
- * MergePolicy.MergeAbortedException}.
- *
* @param maxNumSegments maximum number of segments left
* in the index after merging finishes
*
@@ -1746,12 +1741,7 @@ public class IndexWriter implements Clos
* specify whether the call should block until the
* operation completes. This is only meaningful with a
* {@link MergeScheduler} that is able to run merges in
- * background threads.
- *
- * <p><b>NOTE</b>: if you call {@link #abortMerges}, which
- * aborts all running merges, then any thread still
- * running this method might hit a {@link
- * MergePolicy.MergeAbortedException}. */
+ * background threads. */
public void forceMergeDeletes(boolean doWait)
throws IOException {
ensureOpen();
@@ -2159,7 +2149,7 @@ public class IndexWriter implements Clos
/** Aborts running merges. Be careful when using this
* method: when you abort a long-running merge, you lose
* a lot of work that must later be redone. */
- public synchronized void abortMerges() {
+ private synchronized void abortMerges() {
stopMerges = true;
// Abort all pending & running merges:
@@ -2207,7 +2197,7 @@ public class IndexWriter implements Clos
* <p>It is guaranteed that any merges started prior to calling this method
* will have completed once this method completes.</p>
*/
- public void waitForMerges() throws IOException {
+ void waitForMerges() throws IOException {
// Give merge scheduler last chance to run, in case
// any pending merges are waiting. We can't hold IW's lock
@@ -2500,11 +2490,6 @@ public class IndexWriter implements Clos
* {@code maxMergeAtOnce} parameter, you should pass that many readers in one
* call.
*
- * <p>
- * <b>NOTE</b>: if you call {@link #abortMerges}, which
- * aborts all running merges, then any thread still running this method might
- * hit a {@link MergePolicy.MergeAbortedException}.
- *
* @throws CorruptIndexException
* if the index is corrupt
* @throws IOException
Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestAddIndexes.java Mon Dec 8 19:40:04 2014
@@ -715,10 +715,10 @@ public class TestAddIndexes extends Luce
void close(boolean doWait) throws Throwable {
didClose = true;
if (doWait == false) {
- writer2.abortMerges();
+ writer2.rollback();
+ } else {
+ writer2.close();
}
- //writer2.close();
- writer2.rollback();
}
void closeDir() throws Throwable {
Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterReader.java Mon Dec 8 19:40:04 2014
@@ -435,16 +435,16 @@ public class TestIndexWriterReader exten
void close(boolean doWait) throws Throwable {
didClose = true;
if (doWait) {
- mainWriter.waitForMerges();
+ mainWriter.close();
} else {
- mainWriter.abortMerges();
+ mainWriter.rollback();
}
- mainWriter.close();
}
void closeDir() throws Throwable {
- for (int i = 0; i < numDirs; i++)
+ for (int i = 0; i < numDirs; i++) {
readers[i].close();
+ }
addDir.close();
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=1643895&r1=1643894&r2=1643895&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java Mon Dec 8 19:40:04 2014
@@ -793,11 +793,7 @@ public class DirectUpdateHandler2 extend
}
if (writer != null) {
- try {
- if (indexWriterCloseWaitsForMerges) writer.waitForMerges();
- } finally {
- writer.close();
- }
+ writer.close();
}
} finally {