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:16 UTC
svn commit: r1679273 -
/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
Author: mikemccand
Date: Wed May 13 20:45:16 2015
New Revision: 1679273
URL: http://svn.apache.org/r1679273
Log:
add test case
Modified:
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1679273&r1=1679272&r2=1679273&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Wed May 13 20:45:16 2015
@@ -2691,5 +2691,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();
+ }
}