You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2011/11/22 09:36:37 UTC
svn commit: r1204857 - in
/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src:
java/org/apache/lucene/benchmark/byTask/
java/org/apache/lucene/benchmark/byTask/feeds/
test/org/apache/lucene/benchmark/byTask/feeds/
Author: shaie
Date: Tue Nov 22 08:36:36 2011
New Revision: 1204857
URL: http://svn.apache.org/viewvc?rev=1204857&view=rev
Log:
LUCENE-3583: more safety changes to benchmark
Modified:
lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java?rev=1204857&r1=1204856&r2=1204857&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java Tue Nov 22 08:36:36 2011
@@ -17,6 +17,7 @@ package org.apache.lucene.benchmark.byTa
* limitations under the License.
*/
+import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
@@ -66,7 +67,7 @@ import org.apache.lucene.util.IOUtils;
* <li><b>taxonomy.directory</b>=<type of directory for taxonomy index| Default: RAMDirectory>
* </ul>
*/
-public class PerfRunData {
+public class PerfRunData implements Closeable {
private Points points;
@@ -123,6 +124,12 @@ public class PerfRunData {
System.out.println(getQueryMaker(new SearchTask(this)).printQueries());
}
}
+
+ public void close() throws IOException {
+ IOUtils.close(indexWriter, indexReader, indexSearcher, directory,
+ taxonomyWriter, taxonomyReader, taxonomyDir,
+ docMaker, facetSource);
+ }
// clean old stuff, reopen
public void reinit(boolean eraseIndex) throws Exception {
Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java?rev=1204857&r1=1204856&r2=1204857&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ContentItemsSource.java Tue Nov 22 08:36:36 2011
@@ -17,6 +17,7 @@ package org.apache.lucene.benchmark.byTa
* limitations under the License.
*/
+import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -46,7 +47,7 @@ import org.apache.lucene.benchmark.byTas
* logStep is not 0 (<b>default=0</b>).
* </ul>
*/
-public abstract class ContentItemsSource {
+public abstract class ContentItemsSource implements Closeable {
private long bytesCount;
private long totalBytesCount;
Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java?rev=1204857&r1=1204856&r2=1204857&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java Tue Nov 22 08:36:36 2011
@@ -17,6 +17,7 @@ package org.apache.lucene.benchmark.byTa
* limitations under the License.
*/
+import java.io.Closeable;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
@@ -75,7 +76,7 @@ import org.apache.lucene.document.Field.
* {@link DocData#getProps()} will be indexed. (default <b>false</b>).
* </ul>
*/
-public class DocMaker {
+public class DocMaker implements Closeable {
private static class LeftOver {
public LeftOver() {}
Modified: lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java?rev=1204857&r1=1204856&r2=1204857&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/LineDocSourceTest.java Tue Nov 22 08:36:36 2011
@@ -42,6 +42,7 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.util.IOUtils;
/** Tests the functionality of {@link LineDocSource}. */
public class LineDocSourceTest extends BenchmarkTestCase {
@@ -110,53 +111,58 @@ public class LineDocSourceTest extends B
doIndexAndSearchTestWithRepeats(file, lineParserClass, 4, storedField); // 3 extra repetitions
}
- private void doIndexAndSearchTestWithRepeats(File file,
- Class<? extends LineParser> lineParserClass, int numAdds, String storedField) throws Exception {
-
- Properties props = new Properties();
-
- // LineDocSource specific settings.
- props.setProperty("docs.file", file.getAbsolutePath());
- if (lineParserClass != null) {
- props.setProperty("line.parser", lineParserClass.getName());
- }
-
- // Indexing configuration.
- props.setProperty("analyzer", WhitespaceAnalyzer.class.getName());
- props.setProperty("content.source", LineDocSource.class.getName());
- props.setProperty("directory", "RAMDirectory");
- props.setProperty("doc.stored", "true");
- props.setProperty("doc.index.props", "true");
-
- // Create PerfRunData
- Config config = new Config(props);
- PerfRunData runData = new PerfRunData(config);
-
- TaskSequence tasks = new TaskSequence(runData, "testBzip2", null, false);
- tasks.addTask(new CreateIndexTask(runData));
- for (int i=0; i<numAdds; i++) {
- tasks.addTask(new AddDocTask(runData));
- }
- tasks.addTask(new CloseIndexTask(runData));
- tasks.doLogic();
- tasks.close();
-
- IndexReader r = runData.getIndexReader();
- if (r == null) {
- r = IndexReader.open(runData.getDirectory(), true);
- }
- IndexSearcher searcher = new IndexSearcher(r);
- TopDocs td = searcher.search(new TermQuery(new Term("body", "body")), 10);
- assertEquals(numAdds, td.totalHits);
- assertNotNull(td.scoreDocs[0]);
-
- if (storedField==null) {
- storedField = DocMaker.BODY_FIELD; // added to all docs and satisfies field-name == value
+ private void doIndexAndSearchTestWithRepeats(File file,
+ Class<? extends LineParser> lineParserClass, int numAdds,
+ String storedField) throws Exception {
+
+ IndexReader reader = null;
+ IndexSearcher searcher = null;
+ PerfRunData runData = null;
+ try {
+ Properties props = new Properties();
+
+ // LineDocSource specific settings.
+ props.setProperty("docs.file", file.getAbsolutePath());
+ if (lineParserClass != null) {
+ props.setProperty("line.parser", lineParserClass.getName());
+ }
+
+ // Indexing configuration.
+ props.setProperty("analyzer", WhitespaceAnalyzer.class.getName());
+ props.setProperty("content.source", LineDocSource.class.getName());
+ props.setProperty("directory", "RAMDirectory");
+ props.setProperty("doc.stored", "true");
+ props.setProperty("doc.index.props", "true");
+
+ // Create PerfRunData
+ Config config = new Config(props);
+ runData = new PerfRunData(config);
+
+ TaskSequence tasks = new TaskSequence(runData, "testBzip2", null, false);
+ tasks.addTask(new CreateIndexTask(runData));
+ for (int i=0; i<numAdds; i++) {
+ tasks.addTask(new AddDocTask(runData));
+ }
+ tasks.addTask(new CloseIndexTask(runData));
+ try {
+ tasks.doLogic();
+ } finally {
+ tasks.close();
+ }
+
+ reader = IndexReader.open(runData.getDirectory(), true);
+ searcher = new IndexSearcher(reader);
+ TopDocs td = searcher.search(new TermQuery(new Term("body", "body")), 10);
+ assertEquals(numAdds, td.totalHits);
+ assertNotNull(td.scoreDocs[0]);
+
+ if (storedField==null) {
+ storedField = DocMaker.BODY_FIELD; // added to all docs and satisfies field-name == value
+ }
+ assertEquals("Wrong field value", storedField, searcher.doc(0).get(storedField));
+ } finally {
+ IOUtils.close(searcher, reader, runData);
}
- assertEquals("Wrong field value", storedField, searcher.doc(0).get(storedField));
-
- searcher.close();
- r.close();
}
/* Tests LineDocSource with a bzip2 input stream. */