Index: src/java/org/apache/lucene/index/IndexReader.java =================================================================== --- src/java/org/apache/lucene/index/IndexReader.java (revision 833603) +++ src/java/org/apache/lucene/index/IndexReader.java (working copy) @@ -975,7 +975,7 @@ * (transactional semantics). * @throws IOException if there is a low-level IO error */ - protected final synchronized void commit(Map commitUserData) throws IOException { + public final synchronized void commit(Map commitUserData) throws IOException { if (hasChanges) { doCommit(commitUserData); } Index: contrib/benchmark/CHANGES.txt =================================================================== --- contrib/benchmark/CHANGES.txt (revision 833745) +++ contrib/benchmark/CHANGES.txt (working copy) @@ -5,6 +5,10 @@ $Id:$ 11/07/2009 + LUCENE-2043: Fix CommitIndexTask to also commit pending IndexReader + changes (Mike McCandless) + +11/07/2009 LUCENE-2042: Added print.hits.field, to print each hit from the Search* tasks. (Mike McCandless) Index: contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java =================================================================== --- contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java (revision 833603) +++ contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java (working copy) @@ -21,14 +21,15 @@ import org.apache.lucene.benchmark.byTask.PerfRunData; import org.apache.lucene.index.IndexWriter; +import org.apache.lucene.index.IndexReader; /** * Commits the IndexWriter. * */ public class CommitIndexTask extends PerfTask { - String commitUserData = null; - + Map commitUserData; + public CommitIndexTask(PerfRunData runData) { super(runData); } @@ -38,17 +39,20 @@ } public void setParams(String params) { - commitUserData = params; + commitUserData = new HashMap(); + commitUserData.put(OpenReaderTask.USER_DATA, params); } public int doLogic() throws Exception { IndexWriter iw = getRunData().getIndexWriter(); if (iw != null) { - if (commitUserData == null) iw.commit(); - else { - Map map = new HashMap(); - map.put(OpenReaderTask.USER_DATA, commitUserData); - iw.commit(map); + iw.commit(commitUserData); + } else { + IndexReader r = getRunData().getIndexReader(); + if (r != null) { + r.commit(commitUserData); + } else { + throw new IllegalStateException("neither IndexWriter nor IndexReader is currently open"); } }