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 2015/05/13 22:45:55 UTC

svn commit: r1679274 - in /lucene/dev/branches/branch_5x: ./ lucene/ lucene/core/ lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java

Author: mikemccand
Date: Wed May 13 20:45:54 2015
New Revision: 1679274

URL: http://svn.apache.org/r1679274
Log:
add test case

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/lucene/   (props changed)
    lucene/dev/branches/branch_5x/lucene/core/   (props changed)
    lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java

Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1679274&r1=1679273&r2=1679274&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Wed May 13 20:45:54 2015
@@ -2615,5 +2615,35 @@ public class TestIndexWriter extends Luc
     r.close();
     d.close();
   }
+
+  public void testManySeparateThreads() throws Exception {
+    Directory dir = newDirectory();
+    IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+    iwc.setMaxBufferedDocs(1000);
+    final IndexWriter w = new IndexWriter(dir, iwc);
+    // Index 100 docs, each from a new thread, but always only 1 thread is in IW at once:
+    for(int i=0;i<100;i++) {
+      Thread thread = new Thread() {
+        @Override
+        public void run() {
+          Document doc = new Document();
+          doc.add(newStringField("foo", "bar", Field.Store.NO));
+          try {
+            w.addDocument(doc);
+          } catch (IOException ioe) {
+            throw new RuntimeException(ioe);
+          }
+        }
+        };
+      thread.start();
+      thread.join();
+    }
+    w.close();
+
+    IndexReader r = DirectoryReader.open(dir);
+    assertEquals(1, r.leaves().size());
+    r.close();
+    dir.close();
+  }
 }