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 2011/03/25 18:33:09 UTC

svn commit: r1085482 - in /lucene/dev/trunk/lucene/src: java/org/apache/lucene/index/IndexWriter.java test/org/apache/lucene/index/TestGlobalFieldNumbers.java

Author: mikemccand
Date: Fri Mar 25 17:33:09 2011
New Revision: 1085482

URL: http://svn.apache.org/viewvc?rev=1085482&view=rev
Log:
LUCENE-2881: fix thread safety issue w/ test

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/IndexWriter.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestGlobalFieldNumbers.java

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=1085482&r1=1085481&r2=1085482&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 Fri Mar 25 17:33:09 2011
@@ -1378,6 +1378,11 @@ public class IndexWriter implements Clos
   }
 
   // for test purpose
+  final synchronized Collection<String> getIndexFileNames() throws IOException {
+    return segmentInfos.files(directory, true);
+  }
+
+  // for test purpose
   final synchronized int getDocCount(int i) {
     if (i >= 0 && i < segmentInfos.size()) {
       return segmentInfos.info(i).docCount;

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestGlobalFieldNumbers.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestGlobalFieldNumbers.java?rev=1085482&r1=1085481&r2=1085482&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestGlobalFieldNumbers.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestGlobalFieldNumbers.java Fri Mar 25 17:33:09 2011
@@ -54,12 +54,11 @@ public class TestGlobalFieldNumbers exte
         d.add(new Field("f2", "d1 second field", Store.YES, Index.ANALYZED,
             TermVector.NO));
         writer.addDocument(d);
-        Collection<String> files = writer.segmentInfos.files(dir, true);
-        for (String string : files) {
+        for (String string : writer.getIndexFileNames()) {
           assertFalse(string.endsWith(".fnx"));
         }
         writer.commit();
-        files = writer.segmentInfos.files(dir, true);
+        Collection<String> files = writer.getIndexFileNames();
         files.remove("1.fnx");
         for (String string : files) {
           assertFalse(string.endsWith(".fnx"));
@@ -72,7 +71,7 @@ public class TestGlobalFieldNumbers exte
         d.add(new Field("f3", new byte[] { 1, 2, 3 }));
         writer.addDocument(d);
         writer.commit();
-        files = writer.segmentInfos.files(dir, true);
+        files = writer.getIndexFileNames();
         files.remove("2.fnx");
         for (String string : files) {
           assertFalse(string.endsWith(".fnx"));
@@ -93,7 +92,7 @@ public class TestGlobalFieldNumbers exte
         d.add(new Field("f3", new byte[] { 1, 2, 3, 4, 5 }));
         writer.addDocument(d);
         writer.close();
-        Collection<String> files = writer.segmentInfos.files(dir, true);
+        Collection<String> files = writer.getIndexFileNames();
         files.remove("2.fnx");
         for (String string : files) {
           assertFalse(string.endsWith(".fnx"));
@@ -464,15 +463,14 @@ public class TestGlobalFieldNumbers exte
       SegmentInfos segmentInfos = writer.segmentInfos;
       assertTrue(DefaultSegmentInfosWriter.FORMAT_4_0 < segmentInfos.getFormat());
       assertEquals(0, segmentInfos.getGlobalFieldMapVersion());
-      Collection<String> files = segmentInfos.files(dir, true);
-      for (String string : files) {
+      for (String string : writer.getIndexFileNames()) {
         assertFalse(string.endsWith(".fnx"));
       }
       writer.commit();
       
       assertTrue(DefaultSegmentInfosWriter.FORMAT_4_0 < segmentInfos.getFormat());
       assertEquals(0, segmentInfos.getGlobalFieldMapVersion());
-      files = segmentInfos.files(dir, true);
+      Collection<String> files = writer.getIndexFileNames();
       for (String string : files) {
         assertFalse(string.endsWith(".fnx"));
       }
@@ -486,7 +484,7 @@ public class TestGlobalFieldNumbers exte
       assertTrue(DefaultSegmentInfosWriter.FORMAT_4_0 < segmentInfos.getFormat());
       assertEquals(0, segmentInfos.getLastGlobalFieldMapVersion());
       assertEquals(1, segmentInfos.getGlobalFieldMapVersion());
-      files = segmentInfos.files(dir, true);
+      files = writer.getIndexFileNames();
       for (String string : files) {
         assertFalse(string.endsWith(".fnx"));
       }
@@ -497,7 +495,7 @@ public class TestGlobalFieldNumbers exte
       assertTrue(DefaultSegmentInfosWriter.FORMAT_4_0 < segmentInfos.getFormat());
       assertEquals(1, segmentInfos.getGlobalFieldMapVersion());
       assertEquals(1, segmentInfos.getLastGlobalFieldMapVersion());
-      files = segmentInfos.files(dir, true);
+      files = writer.getIndexFileNames();
       assertTrue(files.remove("1.fnx"));
       for (String string : files) {
         assertFalse(string.endsWith(".fnx"));