You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/07/07 08:50:44 UTC
svn commit: r1143677 - in /lucene/dev/branches/LUCENE2793/lucene:
contrib/misc/src/java/org/apache/lucene/store/
src/java/org/apache/lucene/index/ src/java/org/apache/lucene/index/codecs/
src/java/org/apache/lucene/store/ src/test-framework/org/apache/...
Author: simonw
Date: Thu Jul 7 06:50:43 2011
New Revision: 1143677
URL: http://svn.apache.org/viewvc?rev=1143677&view=rev
Log:
LUCENE-2793: next iteration on IOContext
Modified:
lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java
lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/BufferedDeletesStream.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/SegmentNorms.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/FlushInfo.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/IOContext.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/MergeInfo.java
lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java
lucene/dev/branches/LUCENE2793/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java
lucene/dev/branches/LUCENE2793/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java
Modified: lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/DirectIOLinuxDirectory.java Thu Jul 7 06:50:43 2011
@@ -71,16 +71,20 @@ public class DirectIOLinuxDirectory exte
@Override
public IndexInput openInput(String name, IOContext context) throws IOException {
ensureOpen();
- //nocommit - use buffer based on IOContext
- return new DirectIOLinuxIndexInput(new File(getDirectory(), name), forcedBufferSize == 0 ? BufferedIndexInput.BUFFER_SIZE : forcedBufferSize);
+ return new DirectIOLinuxIndexInput(new File(getDirectory(), name),
+ bufferSize(context));
}
@Override
- public IndexOutput createOutput(String name,IOContext context) throws IOException {
+ public IndexOutput createOutput(String name, IOContext context) throws IOException {
ensureOpen();
ensureCanWrite(name);
- //nocommit - use buffer based on IOContext
- return new DirectIOLinuxIndexOutput(new File(getDirectory(), name), forcedBufferSize == 0 ? BufferedIndexOutput.BUFFER_SIZE : forcedBufferSize);
+ return new DirectIOLinuxIndexOutput(new File(getDirectory(), name), bufferSize(context));
+ }
+
+ private int bufferSize(IOContext context) {
+ return forcedBufferSize != 0 ? forcedBufferSize : BufferedIndexInput
+ .bufferSize(context);
}
private final static class DirectIOLinuxIndexOutput extends IndexOutput {
@@ -240,6 +244,7 @@ public class DirectIOLinuxDirectory exte
private int bufferPos;
public DirectIOLinuxIndexInput(File path, int bufferSize) throws IOException {
+ // TODO make use of IOContext
FileDescriptor fd = NativePosixUtil.open_direct(path.toString(), true);
fis = new FileInputStream(fd);
channel = fis.getChannel();
Modified: lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/contrib/misc/src/java/org/apache/lucene/store/WindowsDirectory.java Thu Jul 7 06:50:43 2011
@@ -70,7 +70,6 @@ public class WindowsDirectory extends FS
@Override
public IndexInput openInput(String name, IOContext context) throws IOException {
ensureOpen();
- //nocommit - use buffer based on IOContext
return new WindowsIndexInput(new File(getDirectory(), name), DEFAULT_BUFFERSIZE);
}
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/BufferedDeletesStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/BufferedDeletesStream.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/BufferedDeletesStream.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/BufferedDeletesStream.java Thu Jul 7 06:50:43 2011
@@ -274,8 +274,7 @@ class BufferedDeletesStream {
if (coalescedDeletes != null) {
// Lock order: IW -> BD -> RP
assert readerPool.infoIsLive(info);
- //nocommit is IOContext.DEFAULT the right thing to do here?
- SegmentReader reader = readerPool.get(info, false, IOContext.DEFAULT);
+ SegmentReader reader = readerPool.get(info, false, IOContext.READ);
int delCount = 0;
final boolean segAllDeletes;
try {
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/CompoundFileReader.java Thu Jul 7 06:50:43 2011
@@ -143,8 +143,7 @@ public class CompoundFileReader extends
final FileEntry entry = entries.get(id);
if (entry == null)
throw new IOException("No sub-file with id " + id + " found (files: " + entries.keySet() + ")");
- // nocommit set read buffer size based on IOContext
- return new CSIndexInput(stream, entry.offset, entry.length, BufferedIndexInput.BUFFER_SIZE);
+ return new CSIndexInput(stream, entry.offset, entry.length, context);
}
/** Returns an array of strings, one for each file in the directory. */
@@ -221,13 +220,9 @@ public class CompoundFileReader extends
IndexInput base;
long fileOffset;
long length;
-
- CSIndexInput(final IndexInput base, final long fileOffset, final long length) {
- this(base, fileOffset, length, BufferedIndexInput.BUFFER_SIZE);
- }
-
- CSIndexInput(final IndexInput base, final long fileOffset, final long length, int readBufferSize) {
- super(readBufferSize);
+
+ CSIndexInput(final IndexInput base, final long fileOffset, final long length, IOContext context) {
+ super(context);
this.base = (IndexInput)base.clone();
this.fileOffset = fileOffset;
this.length = length;
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/IndexWriter.java Thu Jul 7 06:50:43 2011
@@ -634,7 +634,7 @@ public class IndexWriter implements Clos
// readBufferSize = BufferedIndexInput.BUFFER_SIZE;
// }
- // nocommit context should be part of the key used to cache that reader in the pool.
+ // TODO: context should be part of the key used to cache that reader in the pool.
SegmentReader sr = readerMap.get(info);
if (sr == null) {
@@ -3580,8 +3580,6 @@ public class IndexWriter implements Clos
// keep deletes (it's costly to open entire reader
// when we just need deletes)
- // nocommit should we use another flag "isMergedSegment" or a "READ" context here?
-
final SegmentReader mergedReader = readerPool.get(merge.info, loadDocStores, context, termsIndexDivisor);
try {
if (poolReaders && mergedSegmentWarmer != null) {
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/SegmentNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/SegmentNorms.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/SegmentNorms.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/SegmentNorms.java Thu Jul 7 06:50:43 2011
@@ -220,7 +220,6 @@ final class SegmentNorms implements Clon
// NOTE: norms are re-written in regular directory, not cfs
si.advanceNormGen(this.number);
final String normFileName = si.getNormFileName(this.number);
- //nocommit not sure if this is the correct information provided to FlushInfo
IndexOutput out = owner.directory().createOutput(normFileName, new IOContext(new FlushInfo(si.docCount, 0)));
boolean success = false;
try {
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java Thu Jul 7 06:50:43 2011
@@ -23,6 +23,7 @@ import org.apache.lucene.index.SegmentIn
import org.apache.lucene.index.SegmentInfos;
import org.apache.lucene.store.ChecksumIndexOutput;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.FlushInfo;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.IOUtils;
@@ -57,8 +58,7 @@ public class DefaultSegmentInfosWriter e
@Override
public IndexOutput writeInfos(Directory dir, String segmentFileName, SegmentInfos infos, IOContext context)
throws IOException {
- //nocommit should this context always be flush?
- IndexOutput out = createOutput(dir, segmentFileName, context);
+ IndexOutput out = createOutput(dir, segmentFileName, new IOContext(new FlushInfo(infos.size(), infos.totalDocCount())));
boolean success = false;
try {
out.writeInt(FORMAT_CURRENT); // write FORMAT
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java Thu Jul 7 06:50:43 2011
@@ -22,8 +22,19 @@ import java.io.IOException;
/** Base implementation class for buffered {@link IndexInput}. */
public abstract class BufferedIndexInput extends IndexInput {
- /** Default buffer size */
+ /** Default buffer size set to 1024*/
public static final int BUFFER_SIZE = 1024;
+
+ // The normal read buffer size defaults to 1024, but
+ // increasing this during merging seems to yield
+ // performance gains. However we don't want to increase
+ // it too much because there are quite a few
+ // BufferedIndexInputs created during merging. See
+ // LUCENE-888 for details.
+ /**
+ * A buffer size for merges set to 4096
+ */
+ public static final int MERGE_BUFFER_SIZE = 4096;
private int bufferSize = BUFFER_SIZE;
@@ -41,11 +52,14 @@ public abstract class BufferedIndexInput
}
public BufferedIndexInput() {}
+
+ public BufferedIndexInput(IOContext context) {
+ this(bufferSize(context));
+ }
/** Inits BufferedIndexInput with a specific bufferSize */
- //nocommit To cleanup class variable bufferSize as the the default size is always used
public BufferedIndexInput(int bufferSize) {
- checkBufferSize(BufferedIndexInput.BUFFER_SIZE);
+ checkBufferSize(bufferSize);
this.bufferSize = bufferSize;
}
@@ -301,4 +315,21 @@ public abstract class BufferedIndexInput
}
}
+ /**
+ * Returns default buffer sizes for the given {@link IOContext}
+ */
+ public static int bufferSize(IOContext context) {
+ switch (context.context) {
+ case DEFAULT:
+ case FLUSH:
+ case READ:
+ return BUFFER_SIZE;
+ case MERGE:
+ return MERGE_BUFFER_SIZE;
+ default:
+ assert false : "unknown IOContext " + context.context;
+ return BUFFER_SIZE;
+ }
+ }
+
}
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/FlushInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/FlushInfo.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/FlushInfo.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/FlushInfo.java Thu Jul 7 06:50:43 2011
@@ -42,4 +42,36 @@ public class FlushInfo {
this.estimatedSegmentSize = estimatedSegmentSize;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + (int) (estimatedSegmentSize ^ (estimatedSegmentSize >>> 32));
+ result = prime * result + numDocs;
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ FlushInfo other = (FlushInfo) obj;
+ if (estimatedSegmentSize != other.estimatedSegmentSize)
+ return false;
+ if (numDocs != other.numDocs)
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "FlushInfo [numDocs=" + numDocs + ", estimatedSegmentSize="
+ + estimatedSegmentSize + "]";
+ }
+
}
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/IOContext.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/IOContext.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/IOContext.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/IOContext.java Thu Jul 7 06:50:43 2011
@@ -86,4 +86,47 @@ public class IOContext {
this.flushInfo = null;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((context == null) ? 0 : context.hashCode());
+ result = prime * result + ((flushInfo == null) ? 0 : flushInfo.hashCode());
+ result = prime * result + ((mergeInfo == null) ? 0 : mergeInfo.hashCode());
+ result = prime * result + (readOnce ? 1231 : 1237);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ IOContext other = (IOContext) obj;
+ if (context != other.context)
+ return false;
+ if (flushInfo == null) {
+ if (other.flushInfo != null)
+ return false;
+ } else if (!flushInfo.equals(other.flushInfo))
+ return false;
+ if (mergeInfo == null) {
+ if (other.mergeInfo != null)
+ return false;
+ } else if (!mergeInfo.equals(other.mergeInfo))
+ return false;
+ if (readOnce != other.readOnce)
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "IOContext [context=" + context + ", mergeInfo=" + mergeInfo
+ + ", flushInfo=" + flushInfo + ", readOnce=" + readOnce + "]";
+ }
+
}
\ No newline at end of file
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/MergeInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/MergeInfo.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/MergeInfo.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/MergeInfo.java Thu Jul 7 06:50:43 2011
@@ -23,13 +23,13 @@ package org.apache.lucene.store;
public class MergeInfo {
- public int totalDocCount;
+ public final int totalDocCount;
- public long estimatedMergeBytes; // used by IndexWriter
+ public final long estimatedMergeBytes;
- boolean isExternal; // used by IndexWriter
+ public final boolean isExternal;
- boolean optimize; // used by IndexWriter
+ public final boolean optimize;
/**
@@ -46,4 +46,44 @@ public class MergeInfo {
this.isExternal = isExternal;
this.optimize = optimize;
}
+
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + (int) (estimatedMergeBytes ^ (estimatedMergeBytes >>> 32));
+ result = prime * result + (isExternal ? 1231 : 1237);
+ result = prime * result + (optimize ? 1231 : 1237);
+ result = prime * result + totalDocCount;
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ MergeInfo other = (MergeInfo) obj;
+ if (estimatedMergeBytes != other.estimatedMergeBytes)
+ return false;
+ if (isExternal != other.isExternal)
+ return false;
+ if (optimize != other.optimize)
+ return false;
+ if (totalDocCount != other.totalDocCount)
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "MergeInfo [totalDocCount=" + totalDocCount
+ + ", estimatedMergeBytes=" + estimatedMergeBytes + ", isExternal="
+ + isExternal + ", optimize=" + optimize + "]";
+ }
}
\ No newline at end of file
Modified: lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/java/org/apache/lucene/store/SimpleFSDirectory.java Thu Jul 7 06:50:43 2011
@@ -21,6 +21,8 @@ import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
+import org.apache.lucene.store.IOContext.Context;
+
/** A straightforward implementation of {@link FSDirectory}
* using java.io.RandomAccessFile. However, this class has
@@ -87,8 +89,7 @@ public class SimpleFSDirectory extends F
protected final int chunkSize;
public SimpleFSIndexInput(File path, IOContext context, int chunkSize) throws IOException {
- //nocommit Use IOContext to decide bufferSize instead of BufferedIndexInput.BUFFER_SIZE
- super(BufferedIndexInput.BUFFER_SIZE);
+ super(context);
file = new Descriptor(path, "r");
this.chunkSize = chunkSize;
}
Modified: lucene/dev/branches/LUCENE2793/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java Thu Jul 7 06:50:43 2011
@@ -124,7 +124,6 @@ final class TermInfosWriter implements C
indexInterval = interval;
fieldInfos = fis;
isIndex = isi;
- // nocommit pass IOContext in via ctor
output = directory.createOutput(IndexFileNames.segmentFileName(segment, "",
(isIndex ? PreFlexCodec.TERMS_INDEX_EXTENSION
: PreFlexCodec.TERMS_EXTENSION)), IOContext.DEFAULT);
Modified: lucene/dev/branches/LUCENE2793/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE2793/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java?rev=1143677&r1=1143676&r2=1143677&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE2793/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java (original)
+++ lucene/dev/branches/LUCENE2793/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java Thu Jul 7 06:50:43 2011
@@ -321,14 +321,15 @@ public class TestCompoundFile extends Lu
private void demo_FSIndexInputBug(Directory fsdir, String file)
throws IOException
{
+ // IOContext triggers different buffer sizes so we use default here
// Setup the test file - we need more than 1024 bytes
- IndexOutput os = fsdir.createOutput(file, newIOContext(random));
+ IndexOutput os = fsdir.createOutput(file, IOContext.DEFAULT);
for(int i=0; i<2000; i++) {
os.writeByte((byte) i);
}
os.close();
- IndexInput in = fsdir.openInput(file, newIOContext(random));
+ IndexInput in = fsdir.openInput(file, IOContext.DEFAULT);
// This read primes the buffer in IndexInput
in.readByte();