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 {