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 2010/11/16 16:03:50 UTC
svn commit: r1035651 - in /lucene/dev/trunk/lucene/src:
java/org/apache/lucene/index/IndexFileDeleter.java
java/org/apache/lucene/index/IndexWriter.java
test/org/apache/lucene/index/TestAddIndexes.java
Author: mikemccand
Date: Tue Nov 16 15:03:50 2010
New Revision: 1035651
URL: http://svn.apache.org/viewvc?rev=1035651&view=rev
Log:
LUCENE-2767: add 2 missing sync's in IW when it invokes IFD
Modified:
lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java?rev=1035651&r1=1035650&r2=1035651&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexFileDeleter.java Tue Nov 16 15:03:50 2010
@@ -602,13 +602,13 @@ final class IndexFileDeleter {
if (!initDone) {
initDone = true;
} else {
- assert count > 0: "RefCount is 0 pre-increment for file \"" + fileName + "\"";
+ assert count > 0: Thread.currentThread().getName() + ": RefCount is 0 pre-increment for file \"" + fileName + "\"";
}
return ++count;
}
public int DecRef() {
- assert count > 0: "RefCount is 0 pre-decrement for file \"" + fileName + "\"";
+ assert count > 0: Thread.currentThread().getName() + ": RefCount is 0 pre-decrement for file \"" + fileName + "\"";
return --count;
}
}
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1035651&r1=1035650&r2=1035651&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java Tue Nov 16 15:03:50 2010
@@ -3049,7 +3049,9 @@ public class IndexWriter implements Clos
checkpoint();
}
} finally {
- deleter.decRef(files);
+ synchronized(this) {
+ deleter.decRef(files);
+ }
}
}
}
@@ -4253,7 +4255,9 @@ public class IndexWriter implements Clos
if (merge.isAborted()) {
if (infoStream != null)
message("abort merge after building CFS");
- deleter.deleteFile(compoundFileName);
+ synchronized(this) {
+ deleter.deleteFile(compoundFileName);
+ }
return 0;
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1035651&r1=1035650&r2=1035651&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java Tue Nov 16 15:03:50 2010
@@ -677,20 +677,35 @@ public class TestAddIndexes extends Luce
void doBody(int j, Directory[] dirs) throws Throwable {
switch(j%5) {
case 0:
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": TEST: addIndexes(Dir[]) then optimize");
+ }
writer2.addIndexes(dirs);
writer2.optimize();
break;
case 1:
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": TEST: addIndexes(Dir[])");
+ }
writer2.addIndexes(dirs);
break;
case 2:
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": TEST: addIndexes(IndexReader[])");
+ }
writer2.addIndexes(readers);
break;
case 3:
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": TEST: addIndexes(Dir[]) then maybeMerge");
+ }
writer2.addIndexes(dirs);
writer2.maybeMerge();
break;
case 4:
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": TEST: commit");
+ }
writer2.commit();
}
}
@@ -703,6 +718,7 @@ public class TestAddIndexes extends Luce
final int NUM_ITER = 15;
final int NUM_COPY = 3;
CommitAndAddIndexes c = new CommitAndAddIndexes(NUM_COPY);
+ c.writer2.setInfoStream(VERBOSE ? System.out : null);
c.launchThreads(NUM_ITER);
for(int i=0;i<100;i++)