You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2011/07/08 23:02:25 UTC
svn commit: r1144510 [4/5] - in /lucene/dev/branches/solr2452: ./
dev-tools/idea/lucene/contrib/ lucene/
lucene/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/
lucene/contrib/memory/src/java/org/apache/lucene/index/memory/ lucene/co...
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomCodec.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomCodec.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mockrandom/MockRandomCodec.java Fri Jul 8 21:02:20 2011
@@ -61,6 +61,7 @@ import org.apache.lucene.index.codecs.se
import org.apache.lucene.index.codecs.standard.StandardPostingsReader;
import org.apache.lucene.index.codecs.standard.StandardPostingsWriter;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.BytesRef;
@@ -103,23 +104,23 @@ public class MockRandomCodec extends Cod
}
@Override
- public IntIndexInput openInput(Directory dir, String fileName, int readBufferSize) throws IOException {
+ public IntIndexInput openInput(Directory dir, String fileName, IOContext context) throws IOException {
// Must only use extension, because IW.addIndexes can
// rename segment!
final IntStreamFactory f = delegates.get((Math.abs(salt ^ getExtension(fileName).hashCode())) % delegates.size());
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: read using int factory " + f + " from fileName=" + fileName);
}
- return f.openInput(dir, fileName, readBufferSize);
+ return f.openInput(dir, fileName, context);
}
@Override
- public IntIndexOutput createOutput(Directory dir, String fileName) throws IOException {
+ public IntIndexOutput createOutput(Directory dir, String fileName, IOContext context) throws IOException {
final IntStreamFactory f = delegates.get((Math.abs(salt ^ getExtension(fileName).hashCode())) % delegates.size());
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: write using int factory " + f + " to fileName=" + fileName);
}
- return f.createOutput(dir, fileName);
+ return f.createOutput(dir, fileName, context);
}
}
@@ -140,7 +141,7 @@ public class MockRandomCodec extends Cod
}
final String seedFileName = IndexFileNames.segmentFileName(state.segmentName, state.codecId, SEED_EXT);
- final IndexOutput out = state.directory.createOutput(seedFileName);
+ final IndexOutput out = state.directory.createOutput(seedFileName, state.context);
try {
out.writeLong(seed);
} finally {
@@ -241,7 +242,7 @@ public class MockRandomCodec extends Cod
public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
final String seedFileName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.codecId, SEED_EXT);
- final IndexInput in = state.dir.openInput(seedFileName);
+ final IndexInput in = state.dir.openInput(seedFileName, state.context);
final long seed = in.readLong();
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading from seg=" + state.segmentInfo.name + " seed=" + seed);
@@ -259,12 +260,12 @@ public class MockRandomCodec extends Cod
if (random.nextBoolean()) {
postingsReader = new SepPostingsReaderImpl(state.dir, state.segmentInfo,
- readBufferSize, new MockIntStreamFactory(random), state.codecId);
+ state.context, new MockIntStreamFactory(random), state.codecId);
} else {
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading Standard postings");
}
- postingsReader = new StandardPostingsReader(state.dir, state.segmentInfo, readBufferSize, state.codecId);
+ postingsReader = new StandardPostingsReader(state.dir, state.segmentInfo, state.context, state.codecId);
}
if (random.nextBoolean()) {
@@ -293,7 +294,7 @@ public class MockRandomCodec extends Cod
state.segmentInfo.name,
state.termsIndexDivisor,
BytesRef.getUTF8SortedAsUnicodeComparator(),
- state.codecId);
+ state.codecId, state.context);
} else {
final int n2 = random.nextInt(3);
if (n2 == 1) {
@@ -311,7 +312,7 @@ public class MockRandomCodec extends Cod
state.fieldInfos,
state.segmentInfo.name,
state.termsIndexDivisor,
- state.codecId);
+ state.codecId, state.context);
}
success = true;
} finally {
@@ -329,7 +330,7 @@ public class MockRandomCodec extends Cod
state.fieldInfos,
state.segmentInfo.name,
postingsReader,
- readBufferSize,
+ state.context,
termsCacheSize,
state.codecId);
success = true;
@@ -385,6 +386,6 @@ public class MockRandomCodec extends Cod
@Override
public PerDocValues docsProducer(SegmentReadState state) throws IOException {
- return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator());
+ return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator(), state.context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSepCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSepCodec.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSepCodec.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSepCodec.java Fri Jul 8 21:02:20 2011
@@ -93,7 +93,7 @@ public class MockSepCodec extends Codec
public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
PostingsReaderBase postingsReader = new SepPostingsReaderImpl(state.dir, state.segmentInfo,
- state.readBufferSize, new MockSingleIntFactory(), state.codecId);
+ state.context, new MockSingleIntFactory(), state.codecId);
TermsIndexReaderBase indexReader;
boolean success = false;
@@ -103,7 +103,7 @@ public class MockSepCodec extends Codec
state.segmentInfo.name,
state.termsIndexDivisor,
BytesRef.getUTF8SortedAsUnicodeComparator(),
- state.codecId);
+ state.codecId, state.context);
success = true;
} finally {
if (!success) {
@@ -118,7 +118,7 @@ public class MockSepCodec extends Codec
state.fieldInfos,
state.segmentInfo.name,
postingsReader,
- state.readBufferSize,
+ state.context,
StandardCodec.TERMS_CACHE_SIZE,
state.codecId);
success = true;
@@ -161,6 +161,6 @@ public class MockSepCodec extends Codec
@Override
public PerDocValues docsProducer(SegmentReadState state) throws IOException {
- return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator());
+ return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator(), state.context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntFactory.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntFactory.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntFactory.java Fri Jul 8 21:02:20 2011
@@ -18,6 +18,7 @@ package org.apache.lucene.index.codecs.m
*/
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.index.codecs.sep.IntStreamFactory;
import org.apache.lucene.index.codecs.sep.IntIndexInput;
import org.apache.lucene.index.codecs.sep.IntIndexOutput;
@@ -27,11 +28,11 @@ import java.io.IOException;
/** @lucene.experimental */
public class MockSingleIntFactory extends IntStreamFactory {
@Override
- public IntIndexInput openInput(Directory dir, String fileName, int readBufferSize) throws IOException {
- return new MockSingleIntIndexInput(dir, fileName, readBufferSize);
+ public IntIndexInput openInput(Directory dir, String fileName, IOContext context) throws IOException {
+ return new MockSingleIntIndexInput(dir, fileName, context);
}
@Override
- public IntIndexOutput createOutput(Directory dir, String fileName) throws IOException {
- return new MockSingleIntIndexOutput(dir, fileName);
+ public IntIndexOutput createOutput(Directory dir, String fileName, IOContext context) throws IOException {
+ return new MockSingleIntIndexOutput(dir, fileName, context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexInput.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexInput.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexInput.java Fri Jul 8 21:02:20 2011
@@ -22,6 +22,7 @@ import java.io.IOException;
import org.apache.lucene.index.codecs.sep.IntIndexInput;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.CodecUtil;
@@ -35,9 +36,9 @@ import org.apache.lucene.util.CodecUtil;
public class MockSingleIntIndexInput extends IntIndexInput {
private final IndexInput in;
- public MockSingleIntIndexInput(Directory dir, String fileName, int readBufferSize)
+ public MockSingleIntIndexInput(Directory dir, String fileName, IOContext context)
throws IOException {
- in = dir.openInput(fileName, readBufferSize);
+ in = dir.openInput(fileName, context);
CodecUtil.checkHeader(in, MockSingleIntIndexOutput.CODEC,
MockSingleIntIndexOutput.VERSION_START,
MockSingleIntIndexOutput.VERSION_START);
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexOutput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexOutput.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexOutput.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/mocksep/MockSingleIntIndexOutput.java Fri Jul 8 21:02:20 2011
@@ -17,6 +17,7 @@ package org.apache.lucene.index.codecs.m
* limitations under the License.
*/
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.CodecUtil;
@@ -35,8 +36,8 @@ public class MockSingleIntIndexOutput ex
final static int VERSION_START = 0;
final static int VERSION_CURRENT = VERSION_START;
- public MockSingleIntIndexOutput(Directory dir, String fileName) throws IOException {
- out = dir.createOutput(fileName);
+ public MockSingleIntIndexOutput(Directory dir, String fileName, IOContext context) throws IOException {
+ out = dir.createOutput(fileName, context);
boolean success = false;
try {
CodecUtil.writeHeader(out, CODEC, VERSION_CURRENT);
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexFieldsWriter.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexFieldsWriter.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexFieldsWriter.java Fri Jul 8 21:02:20 2011
@@ -50,12 +50,12 @@ class PreFlexFieldsWriter extends Fields
state.termIndexInterval);
final String freqFile = IndexFileNames.segmentFileName(state.segmentName, "", PreFlexCodec.FREQ_EXTENSION);
- freqOut = state.directory.createOutput(freqFile);
+ freqOut = state.directory.createOutput(freqFile, state.context);
totalNumDocs = state.numDocs;
if (state.fieldInfos.hasProx()) {
final String proxFile = IndexFileNames.segmentFileName(state.segmentName, "", PreFlexCodec.PROX_EXTENSION);
- proxOut = state.directory.createOutput(proxFile);
+ proxOut = state.directory.createOutput(proxFile, state.context);
} else {
proxOut = null;
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexRWCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexRWCodec.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexRWCodec.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/PreFlexRWCodec.java Fri Jul 8 21:02:20 2011
@@ -50,7 +50,7 @@ public class PreFlexRWCodec extends PreF
// Whenever IW opens readers, eg for merging, we have to
// keep terms order in UTF16:
- return new PreFlexFields(state.dir, state.fieldInfos, state.segmentInfo, state.readBufferSize, state.termsIndexDivisor) {
+ return new PreFlexFields(state.dir, state.fieldInfos, state.segmentInfo, state.context, state.termsIndexDivisor) {
@Override
protected boolean sortTermsByUnicode() {
// We carefully peek into stack track above us: if
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/index/codecs/preflexrw/TermInfosWriter.java Fri Jul 8 21:02:20 2011
@@ -26,6 +26,7 @@ import org.apache.lucene.index.IndexFile
import org.apache.lucene.index.codecs.preflex.PreFlexCodec;
import org.apache.lucene.index.codecs.preflex.TermInfo;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.CharsRef;
@@ -125,7 +126,7 @@ final class TermInfosWriter implements C
isIndex = isi;
output = directory.createOutput(IndexFileNames.segmentFileName(segment, "",
(isIndex ? PreFlexCodec.TERMS_INDEX_EXTENSION
- : PreFlexCodec.TERMS_EXTENSION)));
+ : PreFlexCodec.TERMS_EXTENSION)), IOContext.DEFAULT);
boolean success = false;
try {
output.writeInt(FORMAT_CURRENT); // write format
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockCompoundFileDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockCompoundFileDirectoryWrapper.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockCompoundFileDirectoryWrapper.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockCompoundFileDirectoryWrapper.java Fri Jul 8 21:02:20 2011
@@ -26,7 +26,7 @@ public class MockCompoundFileDirectoryWr
private final String name;
public MockCompoundFileDirectoryWrapper(String name, MockDirectoryWrapper parent, CompoundFileDirectory delegate, boolean forWrite) throws IOException {
- super(parent, name, 1024);
+ super(parent, name, IOContext.DEFAULT);
this.name = name;
this.parent = parent;
this.delegate = delegate;
@@ -51,8 +51,8 @@ public class MockCompoundFileDirectoryWr
}
@Override
- public synchronized IndexInput openInput(String id, int readBufferSize) throws IOException {
- return delegate.openInput(id, readBufferSize);
+ public synchronized IndexInput openInput(String id, IOContext context) throws IOException {
+ return delegate.openInput(id, context);
}
@Override
@@ -86,8 +86,8 @@ public class MockCompoundFileDirectoryWr
}
@Override
- public IndexOutput createOutput(String name) throws IOException {
- return delegate.createOutput(name);
+ public IndexOutput createOutput(String name, IOContext context) throws IOException {
+ return delegate.createOutput(name, context);
}
@Override
@@ -126,8 +126,8 @@ public class MockCompoundFileDirectoryWr
}
@Override
- public void copy(Directory to, String src, String dest) throws IOException {
- delegate.copy(to, src, dest);
+ public void copy(Directory to, String src, String dest, IOContext context) throws IOException {
+ delegate.copy(to, src, dest, context);
}
@Override
@@ -136,12 +136,14 @@ public class MockCompoundFileDirectoryWr
}
@Override
- public CompoundFileDirectory createCompoundOutput(String name) throws IOException {
- return delegate.createCompoundOutput(name);
+ public CompoundFileDirectory createCompoundOutput(String name, IOContext context) throws IOException {
+ return delegate.createCompoundOutput(name, context);
}
-
- public CompoundFileDirectory openCompoundInput(String name, int bufferSize) throws IOException {
- return delegate.openCompoundInput(name, bufferSize);
+
+ @Override
+ public CompoundFileDirectory openCompoundInput(String name, IOContext context)
+ throws IOException {
+ return delegate.openCompoundInput(name, context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/store/MockDirectoryWrapper.java Fri Jul 8 21:02:20 2011
@@ -196,7 +196,7 @@ public class MockDirectoryWrapper extend
long length = fileLength(name);
byte[] zeroes = new byte[256];
long upto = 0;
- IndexOutput out = delegate.createOutput(name);
+ IndexOutput out = delegate.createOutput(name, LuceneTestCase.newIOContext(randomState));
while(upto < length) {
final int limit = (int) Math.min(length-upto, zeroes.length);
out.writeBytes(zeroes, 0, limit);
@@ -205,7 +205,7 @@ public class MockDirectoryWrapper extend
out.close();
} else if (count % 3 == 2) {
// Truncate the file:
- IndexOutput out = delegate.createOutput(name);
+ IndexOutput out = delegate.createOutput(name, LuceneTestCase.newIOContext(randomState));
out.setLength(fileLength(name)/2);
out.close();
}
@@ -337,7 +337,7 @@ public class MockDirectoryWrapper extend
}
@Override
- public synchronized IndexOutput createOutput(String name) throws IOException {
+ public synchronized IndexOutput createOutput(String name, IOContext context) throws IOException {
maybeYield();
if (crashed)
throw new IOException("cannot createOutput after crash");
@@ -372,7 +372,7 @@ public class MockDirectoryWrapper extend
}
//System.out.println(Thread.currentThread().getName() + ": MDW: create " + name);
- IndexOutput io = new MockIndexOutputWrapper(this, delegate.createOutput(name), name);
+ IndexOutput io = new MockIndexOutputWrapper(this, delegate.createOutput(name, LuceneTestCase.newIOContext(randomState)), name);
addFileHandle(io, name, false);
openFilesForWrite.add(name);
@@ -401,7 +401,7 @@ public class MockDirectoryWrapper extend
}
@Override
- public synchronized IndexInput openInput(String name) throws IOException {
+ public synchronized IndexInput openInput(String name, IOContext context) throws IOException {
maybeYield();
if (!delegate.fileExists(name))
throw new FileNotFoundException(name);
@@ -412,21 +412,21 @@ public class MockDirectoryWrapper extend
throw fillOpenTrace(new IOException("MockDirectoryWrapper: file \"" + name + "\" is still open for writing"), name, false);
}
- IndexInput ii = new MockIndexInputWrapper(this, name, delegate.openInput(name));
+ IndexInput ii = new MockIndexInputWrapper(this, name, delegate.openInput(name, LuceneTestCase.newIOContext(randomState)));
addFileHandle(ii, name, true);
return ii;
}
@Override
- public synchronized CompoundFileDirectory openCompoundInput(String name, int bufferSize) throws IOException {
+ public synchronized CompoundFileDirectory openCompoundInput(String name, IOContext context) throws IOException {
maybeYield();
- return new MockCompoundFileDirectoryWrapper(name, this, delegate.openCompoundInput(name, bufferSize), false);
+ return new MockCompoundFileDirectoryWrapper(name, this, delegate.openCompoundInput(name, context), false);
}
@Override
- public CompoundFileDirectory createCompoundOutput(String name) throws IOException {
+ public CompoundFileDirectory createCompoundOutput(String name, IOContext context) throws IOException {
maybeYield();
- return new MockCompoundFileDirectoryWrapper(name, this, delegate.createCompoundOutput(name), true);
+ return new MockCompoundFileDirectoryWrapper(name, this, delegate.createCompoundOutput(name, context), true);
}
/** Provided for testing purposes. Use sizeInBytes() instead. */
@@ -649,9 +649,10 @@ public class MockDirectoryWrapper extend
}
@Override
- public synchronized void copy(Directory to, String src, String dest) throws IOException {
+ public synchronized void copy(Directory to, String src, String dest, IOContext context) throws IOException {
maybeYield();
- delegate.copy(to, src, dest);
+ // randomize the IOContext here?
+ delegate.copy(to, src, dest, context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java Fri Jul 8 21:02:20 2011
@@ -60,7 +60,10 @@ import org.apache.lucene.search.Assertin
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.store.FlushInfo;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.LockFactory;
+import org.apache.lucene.store.MergeInfo;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.MockDirectoryWrapper.Throttling;
import org.apache.lucene.util.FieldCacheSanityChecker.Insanity;
@@ -1070,7 +1073,7 @@ public abstract class LuceneTestCase ext
public static MockDirectoryWrapper newDirectory(Random r, Directory d) throws IOException {
Directory impl = newDirectoryImpl(r, TEST_DIRECTORY);
for (String file : d.listAll()) {
- d.copy(impl, file, file);
+ d.copy(impl, file, file, newIOContext(r));
}
MockDirectoryWrapper dir = new MockDirectoryWrapper(r, impl);
stores.put(dir, Thread.currentThread().getStackTrace());
@@ -1331,6 +1334,32 @@ public abstract class LuceneTestCase ext
return sb.toString();
}
+ public static IOContext newIOContext(Random random) {
+ final int randomNumDocs = random.nextInt(4192);
+ final int size = random.nextInt(512) * randomNumDocs;
+ final IOContext context;
+ switch (random.nextInt(5)) {
+ case 0:
+ context = IOContext.DEFAULT;
+ break;
+ case 1:
+ context = IOContext.READ;
+ break;
+ case 2:
+ context = IOContext.READONCE;
+ break;
+ case 3:
+ context = new IOContext(new MergeInfo(randomNumDocs, size, true, false));
+ break;
+ case 4:
+ context = new IOContext(new FlushInfo(randomNumDocs, size));
+ break;
+ default:
+ context = IOContext.DEFAULT;
+ }
+ return context;
+ }
+
// recorded seed: for beforeClass
private static long staticSeed;
// seed for individual test methods, changed in @before
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java Fri Jul 8 21:02:20 2011
@@ -38,6 +38,7 @@ import org.apache.lucene.search.DocIdSet
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
@@ -395,7 +396,7 @@ public class TestAddIndexes extends Luce
setMergePolicy(newLogMergePolicy(4))
);
- writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)));
+ writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux, newIOContext(random))));
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -430,7 +431,7 @@ public class TestAddIndexes extends Luce
setMergePolicy(newLogMergePolicy(4))
);
- writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux)));
+ writer.addIndexes(aux, new MockDirectoryWrapper(random, new RAMDirectory(aux, newIOContext(random))));
assertEquals(1020, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -665,7 +666,7 @@ public class TestAddIndexes extends Luce
final Directory[] dirs = new Directory[NUM_COPY];
for(int k=0;k<NUM_COPY;k++)
- dirs[k] = new MockDirectoryWrapper(random, new RAMDirectory(dir));
+ dirs[k] = new MockDirectoryWrapper(random, new RAMDirectory(dir, newIOContext(random)));
int j=0;
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Fri Jul 8 21:02:20 2011
@@ -538,7 +538,7 @@ public class TestBackwardsCompatibility
// figure out which field number corresponds to
// "content", and then set our expected file names below
// accordingly:
- CompoundFileDirectory cfsReader = dir.openCompoundInput("_0.cfs", 1024);
+ CompoundFileDirectory cfsReader = dir.openCompoundInput("_0.cfs", newIOContext(random));
FieldInfos fieldInfos = new FieldInfos(cfsReader, "_0.fnm");
int contentFieldIndex = -1;
for (FieldInfo fi : fieldInfos) {
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCodecs.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCodecs.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCodecs.java Fri Jul 8 21:02:20 2011
@@ -39,6 +39,8 @@ import org.apache.lucene.search.PhraseQu
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.IOContext.Context;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.Version;
@@ -242,7 +244,7 @@ public class TestCodecs extends LuceneTe
this.write(fieldInfos, dir, fields, true);
final SegmentInfo si = new SegmentInfo(SEGMENT, 10000, dir, false, clonedFieldInfos.buildSegmentCodecs(false), clonedFieldInfos);
- final FieldsProducer reader = si.getSegmentCodecs().codec().fieldsProducer(new SegmentReadState(dir, si, fieldInfos, 64, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR));
+ final FieldsProducer reader = si.getSegmentCodecs().codec().fieldsProducer(new SegmentReadState(dir, si, fieldInfos, newIOContext(random), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR));
final FieldsEnum fieldsEnum = reader.iterator();
assertNotNull(fieldsEnum.next());
@@ -297,7 +299,7 @@ public class TestCodecs extends LuceneTe
if (VERBOSE) {
System.out.println("TEST: now read postings");
}
- final FieldsProducer terms = si.getSegmentCodecs().codec().fieldsProducer(new SegmentReadState(dir, si, fieldInfos, 1024, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR));
+ final FieldsProducer terms = si.getSegmentCodecs().codec().fieldsProducer(new SegmentReadState(dir, si, fieldInfos, newIOContext(random), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR));
final Verify[] threads = new Verify[NUM_TEST_THREADS-1];
for(int i=0;i<NUM_TEST_THREADS-1;i++) {
@@ -592,7 +594,7 @@ public class TestCodecs extends LuceneTe
final int termIndexInterval = _TestUtil.nextInt(random, 13, 27);
final SegmentCodecs codecInfo = fieldInfos.buildSegmentCodecs(false);
- final SegmentWriteState state = new SegmentWriteState(null, dir, SEGMENT, fieldInfos, 10000, termIndexInterval, codecInfo, null);
+ final SegmentWriteState state = new SegmentWriteState(null, dir, SEGMENT, fieldInfos, 10000, termIndexInterval, codecInfo, null, newIOContext(random));
final FieldsConsumer consumer = state.segmentCodecs.codec().fieldsConsumer(state);
Arrays.sort(fields);
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestCompoundFile.java Fri Jul 8 21:02:20 2011
@@ -23,11 +23,10 @@ import java.io.File;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.store.CompoundFileDirectory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.apache.lucene.store.MockDirectoryWrapper.Failure;
import org.apache.lucene.store.SimpleFSDirectory;
import org.apache.lucene.store._TestHelper;
import org.apache.lucene.util._TestUtil;
@@ -55,7 +54,7 @@ public class TestCompoundFile extends Lu
private void createRandomFile(Directory dir, String name, int size)
throws IOException
{
- IndexOutput os = dir.createOutput(name);
+ IndexOutput os = dir.createOutput(name, newIOContext(random));
for (int i=0; i<size; i++) {
byte b = (byte) (Math.random() * 256);
os.writeByte(b);
@@ -73,7 +72,7 @@ public class TestCompoundFile extends Lu
int size)
throws IOException
{
- IndexOutput os = dir.createOutput(name);
+ IndexOutput os = dir.createOutput(name, newIOContext(random));
for (int i=0; i < size; i++) {
os.writeByte(start);
start ++;
@@ -183,13 +182,13 @@ public class TestCompoundFile extends Lu
for (int i=0; i<data.length; i++) {
String name = "t" + data[i];
createSequenceFile(dir, name, (byte) 0, data[i]);
- CompoundFileDirectory csw = dir.createCompoundOutput(name + ".cfs");
- dir.copy(csw, name, name);
+ CompoundFileDirectory csw = dir.createCompoundOutput(name + ".cfs", newIOContext(random));
+ dir.copy(csw, name, name, newIOContext(random));
csw.close();
- CompoundFileDirectory csr = dir.openCompoundInput(name + ".cfs", 1024);
- IndexInput expected = dir.openInput(name);
- IndexInput actual = csr.openInput(name);
+ CompoundFileDirectory csr = dir.openCompoundInput(name + ".cfs", newIOContext(random));
+ IndexInput expected = dir.openInput(name, newIOContext(random));
+ IndexInput actual = csr.openInput(name, newIOContext(random));
assertSameStreams(name, expected, actual);
assertSameSeekBehavior(name, expected, actual);
expected.close();
@@ -206,21 +205,21 @@ public class TestCompoundFile extends Lu
createSequenceFile(dir, "d1", (byte) 0, 15);
createSequenceFile(dir, "d2", (byte) 0, 114);
- CompoundFileDirectory csw = dir.createCompoundOutput("d.cfs");
- dir.copy(csw, "d1", "d1");
- dir.copy(csw, "d2", "d2");
+ CompoundFileDirectory csw = dir.createCompoundOutput("d.cfs", newIOContext(random));
+ dir.copy(csw, "d1", "d1", newIOContext(random));
+ dir.copy(csw, "d2", "d2", newIOContext(random));
csw.close();
- CompoundFileDirectory csr = dir.openCompoundInput("d.cfs", 1024);
- IndexInput expected = dir.openInput("d1");
- IndexInput actual = csr.openInput("d1");
+ CompoundFileDirectory csr = dir.openCompoundInput("d.cfs", newIOContext(random));
+ IndexInput expected = dir.openInput("d1", newIOContext(random));
+ IndexInput actual = csr.openInput("d1", newIOContext(random));
assertSameStreams("d1", expected, actual);
assertSameSeekBehavior("d1", expected, actual);
expected.close();
actual.close();
- expected = dir.openInput("d2");
- actual = csr.openInput("d2");
+ expected = dir.openInput("d2", newIOContext(random));
+ actual = csr.openInput("d2", newIOContext(random));
assertSameStreams("d2", expected, actual);
assertSameSeekBehavior("d2", expected, actual);
expected.close();
@@ -256,21 +255,21 @@ public class TestCompoundFile extends Lu
createRandomFile(dir, segment + ".notIn2", 51);
// Now test
- CompoundFileDirectory csw = dir.createCompoundOutput("test.cfs");
+ CompoundFileDirectory csw = dir.createCompoundOutput("test.cfs", newIOContext(random));
final String data[] = new String[] {
".zero", ".one", ".ten", ".hundred", ".big1", ".big2", ".big3",
".big4", ".big5", ".big6", ".big7"
};
for (int i=0; i<data.length; i++) {
String fileName = segment + data[i];
- dir.copy(csw, fileName, fileName);
+ dir.copy(csw, fileName, fileName, newIOContext(random));
}
csw.close();
- CompoundFileDirectory csr = dir.openCompoundInput("test.cfs", 1024);
+ CompoundFileDirectory csr = dir.openCompoundInput("test.cfs", newIOContext(random));
for (int i=0; i<data.length; i++) {
- IndexInput check = dir.openInput(segment + data[i]);
- IndexInput test = csr.openInput(segment + data[i]);
+ IndexInput check = dir.openInput(segment + data[i], newIOContext(random));
+ IndexInput test = csr.openInput(segment + data[i], newIOContext(random));
assertSameStreams(data[i], check, test);
assertSameSeekBehavior(data[i], check, test);
test.close();
@@ -286,11 +285,11 @@ public class TestCompoundFile extends Lu
* the size of each file is 1000 bytes.
*/
private void setUp_2() throws IOException {
- CompoundFileDirectory cw = dir.createCompoundOutput("f.comp");
+ CompoundFileDirectory cw = dir.createCompoundOutput("f.comp", newIOContext(random));
for (int i=0; i<20; i++) {
createSequenceFile(dir, "f" + i, (byte) 0, 2000);
String fileName = "f" + i;
- dir.copy(cw, fileName, fileName);
+ dir.copy(cw, fileName, fileName, newIOContext(random));
}
cw.close();
}
@@ -304,13 +303,13 @@ public class TestCompoundFile extends Lu
throws IOException
{
// Setup the test file - we need more than 1024 bytes
- IndexOutput os = fsdir.createOutput(file);
+ 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);
+ IndexInput in = fsdir.openInput(file, IOContext.DEFAULT);
// This read primes the buffer in IndexInput
in.readByte();
@@ -337,16 +336,16 @@ public class TestCompoundFile extends Lu
public void testClonedStreamsClosing() throws IOException {
setUp_2();
- CompoundFileDirectory cr = dir.openCompoundInput("f.comp", 1024);
+ CompoundFileDirectory cr = dir.openCompoundInput("f.comp", newIOContext(random));
// basic clone
- IndexInput expected = dir.openInput("f11");
+ IndexInput expected = dir.openInput("f11", newIOContext(random));
// this test only works for FSIndexInput
assertTrue(_TestHelper.isSimpleFSIndexInput(expected));
assertTrue(_TestHelper.isSimpleFSIndexInputOpen(expected));
- IndexInput one = cr.openInput("f11");
+ IndexInput one = cr.openInput("f11", newIOContext(random));
IndexInput two = (IndexInput) one.clone();
@@ -389,14 +388,14 @@ public class TestCompoundFile extends Lu
*/
public void testRandomAccess() throws IOException {
setUp_2();
- CompoundFileDirectory cr = dir.openCompoundInput("f.comp", 1024);
+ CompoundFileDirectory cr = dir.openCompoundInput("f.comp", newIOContext(random));
// Open two files
- IndexInput e1 = dir.openInput("f11");
- IndexInput e2 = dir.openInput("f3");
+ IndexInput e1 = dir.openInput("f11", newIOContext(random));
+ IndexInput e2 = dir.openInput("f3", newIOContext(random));
- IndexInput a1 = cr.openInput("f11");
- IndexInput a2 = dir.openInput("f3");
+ IndexInput a1 = cr.openInput("f11", newIOContext(random));
+ IndexInput a2 = dir.openInput("f3", newIOContext(random));
// Seek the first pair
e1.seek(100);
@@ -468,11 +467,11 @@ public class TestCompoundFile extends Lu
*/
public void testRandomAccessClones() throws IOException {
setUp_2();
- CompoundFileDirectory cr = dir.openCompoundInput("f.comp", 1024);
+ CompoundFileDirectory cr = dir.openCompoundInput("f.comp", newIOContext(random));
// Open two files
- IndexInput e1 = cr.openInput("f11");
- IndexInput e2 = cr.openInput("f3");
+ IndexInput e1 = cr.openInput("f11", newIOContext(random));
+ IndexInput e2 = cr.openInput("f3", newIOContext(random));
IndexInput a1 = (IndexInput) e1.clone();
IndexInput a2 = (IndexInput) e2.clone();
@@ -545,11 +544,11 @@ public class TestCompoundFile extends Lu
public void testFileNotFound() throws IOException {
setUp_2();
- CompoundFileDirectory cr = dir.openCompoundInput("f.comp", 1024);
+ CompoundFileDirectory cr = dir.openCompoundInput("f.comp", newIOContext(random));
// Open two files
try {
- cr.openInput("bogus");
+ cr.openInput("bogus", newIOContext(random));
fail("File not found");
} catch (IOException e) {
@@ -563,8 +562,8 @@ public class TestCompoundFile extends Lu
public void testReadPastEOF() throws IOException {
setUp_2();
- CompoundFileDirectory cr = dir.openCompoundInput("f.comp", 1024);
- IndexInput is = cr.openInput("f2");
+ CompoundFileDirectory cr = dir.openCompoundInput("f.comp", newIOContext(random));
+ IndexInput is = cr.openInput("f2", newIOContext(random));
is.seek(is.length() - 10);
byte b[] = new byte[100];
is.readBytes(b, 0, 10);
@@ -594,7 +593,7 @@ public class TestCompoundFile extends Lu
* will correctly increment the file pointer.
*/
public void testLargeWrites() throws IOException {
- IndexOutput os = dir.createOutput("testBufferStart.txt");
+ IndexOutput os = dir.createOutput("testBufferStart.txt", newIOContext(random));
byte[] largeBuf = new byte[2048];
for (int i=0; i<largeBuf.length; i++) {
@@ -616,13 +615,13 @@ public class TestCompoundFile extends Lu
createSequenceFile(dir, "d1", (byte) 0, 15);
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
- dir.copy(csw, "d1", "d1");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
+ dir.copy(csw, "d1", "d1", newIOContext(random));
csw.close();
- CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", 1024);
- IndexInput expected = dir.openInput("d1");
- IndexInput actual = csr.openInput("d1");
+ CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", newIOContext(random));
+ IndexInput expected = dir.openInput("d1", newIOContext(random));
+ IndexInput actual = csr.openInput("d1", newIOContext(random));
assertSameStreams("d1", expected, actual);
assertSameSeekBehavior("d1", expected, actual);
expected.close();
@@ -635,10 +634,10 @@ public class TestCompoundFile extends Lu
public void testAppend() throws IOException {
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
int size = 5 + random.nextInt(128);
for (int j = 0; j < 2; j++) {
- IndexOutput os = csw.createOutput("seg" + j + "_foo.txt");
+ IndexOutput os = csw.createOutput("seg" + j + "_foo.txt", newIOContext(random));
for (int i = 0; i < size; i++) {
os.writeInt(i);
}
@@ -648,14 +647,14 @@ public class TestCompoundFile extends Lu
assertEquals("d.cfs", listAll[0]);
}
createSequenceFile(dir, "d1", (byte) 0, 15);
- dir.copy(csw, "d1", "d1");
+ dir.copy(csw, "d1", "d1", newIOContext(random));
String[] listAll = newDir.listAll();
assertEquals(1, listAll.length);
assertEquals("d.cfs", listAll[0]);
csw.close();
- CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", 1024);
+ CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", newIOContext(random));
for (int j = 0; j < 2; j++) {
- IndexInput openInput = csr.openInput("seg" + j + "_foo.txt");
+ IndexInput openInput = csr.openInput("seg" + j + "_foo.txt", newIOContext(random));
assertEquals(size * 4, openInput.length());
for (int i = 0; i < size; i++) {
assertEquals(i, openInput.readInt());
@@ -664,8 +663,8 @@ public class TestCompoundFile extends Lu
openInput.close();
}
- IndexInput expected = dir.openInput("d1");
- IndexInput actual = csr.openInput("d1");
+ IndexInput expected = dir.openInput("d1", newIOContext(random));
+ IndexInput actual = csr.openInput("d1", newIOContext(random));
assertSameStreams("d1", expected, actual);
assertSameSeekBehavior("d1", expected, actual);
expected.close();
@@ -676,12 +675,12 @@ public class TestCompoundFile extends Lu
public void testAppendTwice() throws IOException {
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
createSequenceFile(newDir, "d1", (byte) 0, 15);
- IndexOutput out = csw.createOutput("d.xyz");
+ IndexOutput out = csw.createOutput("d.xyz", newIOContext(random));
out.writeInt(0);
try {
- newDir.copy(csw, "d1", "d1");
+ newDir.copy(csw, "d1", "d1", newIOContext(random));
fail("file does already exist");
} catch (IOException e) {
//
@@ -692,7 +691,7 @@ public class TestCompoundFile extends Lu
csw.close();
- CompoundFileDirectory cfr = newDir.openCompoundInput("d.cfs", 1024);
+ CompoundFileDirectory cfr = newDir.openCompoundInput("d.cfs", newIOContext(random));
assertEquals(1, cfr.listAll().length);
assertEquals("d.xyz", cfr.listAll()[0]);
cfr.close();
@@ -701,10 +700,10 @@ public class TestCompoundFile extends Lu
public void testEmptyCFS() throws IOException {
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
csw.close();
- CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", 1024);
+ CompoundFileDirectory csr = newDir.openCompoundInput("d.cfs", newIOContext(random));
assertEquals(0, csr.listAll().length);
csr.close();
@@ -713,32 +712,32 @@ public class TestCompoundFile extends Lu
public void testReadNestedCFP() throws IOException {
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
- CompoundFileDirectory nested = newDir.createCompoundOutput("b.cfs");
- IndexOutput out = nested.createOutput("b.xyz");
- IndexOutput out1 = nested.createOutput("b_1.xyz");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
+ CompoundFileDirectory nested = newDir.createCompoundOutput("b.cfs", newIOContext(random));
+ IndexOutput out = nested.createOutput("b.xyz", newIOContext(random));
+ IndexOutput out1 = nested.createOutput("b_1.xyz", newIOContext(random));
out.writeInt(0);
out1.writeInt(1);
out.close();
out1.close();
nested.close();
- newDir.copy(csw, "b.cfs", "b.cfs");
- newDir.copy(csw, "b.cfe", "b.cfe");
+ newDir.copy(csw, "b.cfs", "b.cfs", newIOContext(random));
+ newDir.copy(csw, "b.cfe", "b.cfe", newIOContext(random));
newDir.deleteFile("b.cfs");
newDir.deleteFile("b.cfe");
csw.close();
assertEquals(2, newDir.listAll().length);
- csw = newDir.openCompoundInput("d.cfs", 1024);
+ csw = newDir.openCompoundInput("d.cfs", newIOContext(random));
assertEquals(2, csw.listAll().length);
- nested = csw.openCompoundInput("b.cfs", 1024);
+ nested = csw.openCompoundInput("b.cfs", newIOContext(random));
assertEquals(2, nested.listAll().length);
- IndexInput openInput = nested.openInput("b.xyz");
+ IndexInput openInput = nested.openInput("b.xyz", newIOContext(random));
assertEquals(0, openInput.readInt());
openInput.close();
- openInput = nested.openInput("b_1.xyz");
+ openInput = nested.openInput("b_1.xyz", newIOContext(random));
assertEquals(1, openInput.readInt());
openInput.close();
nested.close();
@@ -748,8 +747,8 @@ public class TestCompoundFile extends Lu
public void testDoubleClose() throws IOException {
Directory newDir = newDirectory();
- CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs");
- IndexOutput out = csw.createOutput("d.xyz");
+ CompoundFileDirectory csw = newDir.createCompoundOutput("d.cfs", newIOContext(random));
+ IndexOutput out = csw.createOutput("d.xyz", newIOContext(random));
out.writeInt(0);
out.close();
@@ -757,8 +756,8 @@ public class TestCompoundFile extends Lu
// close a second time - must have no effect according to Closeable
csw.close();
- csw = newDir.openCompoundInput("d.cfs", 1024);
- IndexInput openInput = csw.openInput("d.xyz");
+ csw = newDir.openCompoundInput("d.cfs", newIOContext(random));
+ IndexInput openInput = csw.openInput("d.xyz", newIOContext(random));
assertEquals(0, openInput.readInt());
openInput.close();
csw.close();
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDoc.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDoc.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDoc.java Fri Jul 8 21:02:20 2011
@@ -35,6 +35,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
import org.apache.lucene.index.codecs.CodecProvider;
@@ -193,10 +194,11 @@ public class TestDoc extends LuceneTestC
private SegmentInfo merge(SegmentInfo si1, SegmentInfo si2, String merged, boolean useCompoundFile)
throws Exception {
- SegmentReader r1 = SegmentReader.get(true, si1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
- SegmentReader r2 = SegmentReader.get(true, si2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ IOContext context = newIOContext(random);
+ SegmentReader r1 = SegmentReader.get(true, si1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, context);
+ SegmentReader r2 = SegmentReader.get(true, si2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, context);
- SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, null, new FieldInfos());
+ SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, null, new FieldInfos(), context);
merger.add(r1);
merger.add(r2);
@@ -208,7 +210,7 @@ public class TestDoc extends LuceneTestC
false, merger.getSegmentCodecs(), fieldInfos);
if (useCompoundFile) {
- Collection<String> filesToDelete = merger.createCompoundFile(merged + ".cfs", info);
+ Collection<String> filesToDelete = merger.createCompoundFile(merged + ".cfs", info, newIOContext(random));
info.setUseCompoundFile(true);
for (final String fileToDelete : filesToDelete)
si1.dir.deleteFile(fileToDelete);
@@ -220,7 +222,7 @@ public class TestDoc extends LuceneTestC
private void printSegment(PrintWriter out, SegmentInfo si)
throws Exception {
- SegmentReader reader = SegmentReader.get(true, si, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader = SegmentReader.get(true, si, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
for (int i = 0; i < reader.numDocs(); i++)
out.println(reader.document(i));
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java Fri Jul 8 21:02:20 2011
@@ -149,7 +149,7 @@ public class TestDocTermOrds extends Luc
@Override
public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
- PostingsReaderBase postings = new StandardPostingsReader(state.dir, state.segmentInfo, state.readBufferSize, state.codecId);
+ PostingsReaderBase postings = new StandardPostingsReader(state.dir, state.segmentInfo, state.context, state.codecId);
TermsIndexReaderBase indexReader;
boolean success = false;
@@ -159,7 +159,7 @@ public class TestDocTermOrds extends Luc
state.segmentInfo.name,
state.termsIndexDivisor,
BytesRef.getUTF8SortedAsUnicodeComparator(),
- state.codecId);
+ state.codecId, state.context);
success = true;
} finally {
if (!success) {
@@ -174,7 +174,7 @@ public class TestDocTermOrds extends Luc
state.fieldInfos,
state.segmentInfo.name,
postings,
- state.readBufferSize,
+ state.context,
TERMS_CACHE_SIZE,
state.codecId);
success = true;
@@ -224,7 +224,7 @@ public class TestDocTermOrds extends Luc
@Override
public PerDocValues docsProducer(SegmentReadState state) throws IOException {
- return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator());
+ return new DefaultDocValuesProducer(state.segmentInfo, state.dir, state.fieldInfos, state.codecId, getDocValuesUseCFS(), getDocValuesSortComparator(), state.context);
}
}
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestDocumentWriter.java Fri Jul 8 21:02:20 2011
@@ -35,6 +35,8 @@ import org.apache.lucene.document.Field.
import org.apache.lucene.document.Field.TermVector;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.IOContext.Context;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -68,7 +70,7 @@ public class TestDocumentWriter extends
SegmentInfo info = writer.newestSegment();
writer.close();
//After adding the document, we should be able to read it back in
- SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
assertTrue(reader != null);
Document doc = reader.document(0);
assertTrue(doc != null);
@@ -129,7 +131,7 @@ public class TestDocumentWriter extends
writer.commit();
SegmentInfo info = writer.newestSegment();
writer.close();
- SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
DocsAndPositionsEnum termPositions = MultiFields.getTermPositionsEnum(reader, MultiFields.getLiveDocs(reader),
"repeated", new BytesRef("repeated"));
@@ -193,7 +195,7 @@ public class TestDocumentWriter extends
writer.commit();
SegmentInfo info = writer.newestSegment();
writer.close();
- SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
DocsAndPositionsEnum termPositions = reader.fields().terms("f1").docsAndPositions(reader.getLiveDocs(), new BytesRef("a"), null);
assertTrue(termPositions.nextDoc() != termPositions.NO_MORE_DOCS);
@@ -237,7 +239,7 @@ public class TestDocumentWriter extends
writer.commit();
SegmentInfo info = writer.newestSegment();
writer.close();
- SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
DocsAndPositionsEnum termPositions = reader.fields().terms("preanalyzed").docsAndPositions(reader.getLiveDocs(), new BytesRef("term1"), null);
assertTrue(termPositions.nextDoc() != termPositions.NO_MORE_DOCS);
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldInfos.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldInfos.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldInfos.java Fri Jul 8 21:02:20 2011
@@ -47,7 +47,7 @@ public class TestFieldInfos extends Luce
assertTrue(fieldInfos.size() == DocHelper.all.size()); //this is all b/c we are using the no-arg constructor
- IndexOutput output = dir.createOutput(filename);
+ IndexOutput output = dir.createOutput(filename, newIOContext(random));
assertTrue(output != null);
//Use a RAMOutputStream
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java Fri Jul 8 21:02:20 2011
@@ -35,6 +35,7 @@ import org.apache.lucene.search.FieldCac
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.BufferedIndexInput;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.LuceneTestCase;
@@ -403,8 +404,8 @@ public class TestFieldsReader extends Lu
lockFactory = fsDir.getLockFactory();
}
@Override
- public IndexInput openInput(String name) throws IOException {
- return new FaultyIndexInput(fsDir.openInput(name));
+ public IndexInput openInput(String name, IOContext context) throws IOException {
+ return new FaultyIndexInput(fsDir.openInput(name, context));
}
@Override
public String[] listAll() throws IOException {
@@ -427,8 +428,8 @@ public class TestFieldsReader extends Lu
return fsDir.fileLength(name);
}
@Override
- public IndexOutput createOutput(String name) throws IOException {
- return fsDir.createOutput(name);
+ public IndexOutput createOutput(String name, IOContext context) throws IOException {
+ return fsDir.createOutput(name, context);
}
@Override
public void sync(Collection<String> names) throws IOException {
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexFileDeleter.java Fri Jul 8 21:02:20 2011
@@ -92,7 +92,7 @@ public class TestIndexFileDeleter extend
// figure out which field number corresponds to
// "content", and then set our expected file names below
// accordingly:
- CompoundFileDirectory cfsReader = dir.openCompoundInput("_2.cfs", 1024);
+ CompoundFileDirectory cfsReader = dir.openCompoundInput("_2.cfs", newIOContext(random));
FieldInfos fieldInfos = new FieldInfos(cfsReader, "_2.fnm");
int contentFieldIndex = -1;
for (FieldInfo fi : fieldInfos) {
@@ -213,8 +213,8 @@ public class TestIndexFileDeleter extend
}
public void copyFile(Directory dir, String src, String dest) throws IOException {
- IndexInput in = dir.openInput(src);
- IndexOutput out = dir.createOutput(dest);
+ IndexInput in = dir.openInput(src, newIOContext(random));
+ IndexOutput out = dir.createOutput(dest, newIOContext(random));
byte[] b = new byte[1024];
long remainder = in.length();
while(remainder > 0) {
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexInput.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexInput.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexInput.java Fri Jul 8 21:02:20 2011
@@ -99,10 +99,10 @@ public class TestIndexInput extends Luce
// this test checks the raw IndexInput methods as it uses RAMIndexInput which extends IndexInput directly
public void testRawIndexInputRead() throws IOException {
final RAMDirectory dir = new RAMDirectory();
- final IndexOutput os = dir.createOutput("foo");
+ final IndexOutput os = dir.createOutput("foo", newIOContext(random));
os.writeBytes(READ_TEST_BYTES, READ_TEST_BYTES.length);
os.close();
- final IndexInput is = dir.openInput("foo");
+ final IndexInput is = dir.openInput("foo", newIOContext(random));
checkReads(is);
is.close();
dir.close();
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexReaderOnDiskFull.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexReaderOnDiskFull.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexReaderOnDiskFull.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexReaderOnDiskFull.java Fri Jul 8 21:02:20 2011
@@ -84,7 +84,7 @@ public class TestIndexReaderOnDiskFull e
// Iterate w/ ever increasing free disk space:
while(!done) {
- MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir));
+ MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir, newIOContext(random)));
// If IndexReader hits disk full, it can write to
// the same files again.
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Fri Jul 8 21:02:20 2011
@@ -60,6 +60,7 @@ import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.Lock;
import org.apache.lucene.store.LockFactory;
@@ -1029,7 +1030,7 @@ public class TestIndexWriter extends Luc
Directory dir = newDirectory();
try {
// Create my own random file:
- IndexOutput out = dir.createOutput("myrandomfile");
+ IndexOutput out = dir.createOutput("myrandomfile", newIOContext(random));
out.writeByte((byte) 42);
out.close();
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java Fri Jul 8 21:02:20 2011
@@ -453,7 +453,7 @@ public class TestIndexWriterDelete exten
if (VERBOSE) {
System.out.println("TEST: cycle");
}
- MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir));
+ MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir, newIOContext(random)));
dir.setPreventDoubleWrite(false);
IndexWriter modifier = new IndexWriter(dir,
newIndexWriterConfig(
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Fri Jul 8 21:02:20 2011
@@ -39,6 +39,7 @@ import org.apache.lucene.search.DocIdSet
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.MockDirectoryWrapper;
@@ -935,7 +936,7 @@ public class TestIndexWriterExceptions e
if (VERBOSE) {
System.out.println("TEST: iter " + i);
}
- MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir));
+ MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir, newIOContext(random)));
conf = newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random)).setMergeScheduler(new ConcurrentMergeScheduler());
((ConcurrentMergeScheduler) conf.getMergeScheduler()).setSuppressExceptions();
w = new IndexWriter(dir, conf);
@@ -1039,8 +1040,8 @@ public class TestIndexWriterExceptions e
assertTrue("segment generation should be > 0 but got " + gen, gen > 0);
final String segmentsFileName = SegmentInfos.getCurrentSegmentFileName(dir);
- IndexInput in = dir.openInput(segmentsFileName);
- IndexOutput out = dir.createOutput(IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS, "", 1+gen));
+ IndexInput in = dir.openInput(segmentsFileName, newIOContext(random));
+ IndexOutput out = dir.createOutput(IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS, "", 1+gen), newIOContext(random));
out.copyBytes(in, in.length()-1);
byte b = in.readByte();
out.writeByte((byte) (1+b));
@@ -1084,8 +1085,8 @@ public class TestIndexWriterExceptions e
String fileNameOut = IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS,
"",
1+gen);
- IndexInput in = dir.openInput(fileNameIn);
- IndexOutput out = dir.createOutput(fileNameOut);
+ IndexInput in = dir.openInput(fileNameIn, newIOContext(random));
+ IndexOutput out = dir.createOutput(fileNameOut, newIOContext(random));
long length = in.length();
for(int i=0;i<length-1;i++) {
out.writeByte(in.readByte());
@@ -1185,8 +1186,8 @@ public class TestIndexWriterExceptions e
String fileNameOut = IndexFileNames.fileNameFromGeneration(IndexFileNames.SEGMENTS,
"",
1+gen);
- IndexInput in = dir.openInput(fileNameIn);
- IndexOutput out = dir.createOutput(fileNameOut);
+ IndexInput in = dir.openInput(fileNameIn, newIOContext(random));
+ IndexOutput out = dir.createOutput(fileNameOut, newIOContext(random));
long length = in.length();
for(int i=0;i<length-1;i++) {
out.writeByte(in.readByte());
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java Fri Jul 8 21:02:20 2011
@@ -27,6 +27,7 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
@@ -230,7 +231,7 @@ public class TestIndexWriterOnDiskFull e
}
// Make a new dir that will enforce disk usage:
- MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir));
+ MockDirectoryWrapper dir = new MockDirectoryWrapper(random, new RAMDirectory(startDir, newIOContext(random)));
writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.APPEND).setMergePolicy(newLogMergePolicy()));
IOException err = null;
writer.setInfoStream(VERBOSE ? System.out : null);
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java Fri Jul 8 21:02:20 2011
@@ -36,6 +36,7 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.RAMDirectory;
@@ -470,7 +471,7 @@ public class TestIndexWriterReader exten
try {
final Directory[] dirs = new Directory[numDirs];
for (int k = 0; k < numDirs; k++)
- dirs[k] = new MockDirectoryWrapper(random, new RAMDirectory(addDir));
+ dirs[k] = new MockDirectoryWrapper(random, new RAMDirectory(addDir, newIOContext(random)));
//int j = 0;
//while (true) {
// System.out.println(Thread.currentThread().getName() + ": iter
@@ -755,7 +756,7 @@ public class TestIndexWriterReader exten
final Directory[] dirs = new Directory[10];
for (int i=0;i<10;i++) {
- dirs[i] = new MockDirectoryWrapper(random, new RAMDirectory(dir1));
+ dirs[i] = new MockDirectoryWrapper(random, new RAMDirectory(dir1, newIOContext(random)));
}
IndexReader r = writer.getReader();
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Fri Jul 8 21:02:20 2011
@@ -31,6 +31,7 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.RAMDirectory;
@@ -56,8 +57,8 @@ public class TestLazyProxSkipping extend
}
@Override
- public IndexInput openInput(String name) throws IOException {
- IndexInput ii = super.openInput(name);
+ public IndexInput openInput(String name, IOContext context) throws IOException {
+ IndexInput ii = super.openInput(name, context);
if (name.endsWith(".prx") || name.endsWith(".pos") ) {
// we decorate the proxStream with a wrapper class that allows to count the number of calls of seek()
ii = new SeeksCountingStream(ii);
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Fri Jul 8 21:02:20 2011
@@ -30,6 +30,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.RAMDirectory;
@@ -54,8 +55,8 @@ public class TestMultiLevelSkipList exte
}
@Override
- public IndexInput openInput(String fileName) throws IOException {
- IndexInput in = super.openInput(fileName);
+ public IndexInput openInput(String fileName, IOContext context) throws IOException {
+ IndexInput in = super.openInput(fileName, context);
if (fileName.endsWith(".frq"))
in = new CountingStream(in);
return in;
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiReader.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiReader.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestMultiReader.java Fri Jul 8 21:02:20 2011
@@ -19,6 +19,8 @@ package org.apache.lucene.index;
import java.io.IOException;
+import org.apache.lucene.store.IOContext;
+
public class TestMultiReader extends TestDirectoryReader {
@Override
@@ -26,8 +28,8 @@ public class TestMultiReader extends Tes
IndexReader reader;
sis.read(dir);
- SegmentReader reader1 = SegmentReader.get(false, sis.info(0), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
- SegmentReader reader2 = SegmentReader.get(false, sis.info(1), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader reader1 = SegmentReader.get(false, sis.info(0), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
+ SegmentReader reader2 = SegmentReader.get(false, sis.info(1), IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
readers[0] = reader1;
readers[1] = reader2;
assertTrue(reader1 != null);
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Fri Jul 8 21:02:20 2011
@@ -20,6 +20,7 @@ package org.apache.lucene.index;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.store.BufferedIndexInput;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -54,8 +55,8 @@ public class TestSegmentMerger extends L
SegmentInfo info1 = DocHelper.writeDoc(random, merge1Dir, doc1);
DocHelper.setupDoc(doc2);
SegmentInfo info2 = DocHelper.writeDoc(random, merge2Dir, doc2);
- reader1 = SegmentReader.get(true, info1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
- reader2 = SegmentReader.get(true, info2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ reader1 = SegmentReader.get(true, info1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
+ reader2 = SegmentReader.get(true, info2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
}
@Override
@@ -77,7 +78,7 @@ public class TestSegmentMerger extends L
}
public void testMerge() throws IOException {
- SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, null, new FieldInfos());
+ SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, null, new FieldInfos(), newIOContext(random));
merger.add(reader1);
merger.add(reader2);
int docsMerged = merger.merge();
@@ -86,7 +87,7 @@ public class TestSegmentMerger extends L
//Should be able to open a new SegmentReader against the new directory
SegmentReader mergedReader = SegmentReader.get(false, mergedDir, new SegmentInfo(mergedSegment, docsMerged, mergedDir, false,
merger.getSegmentCodecs(), fieldInfos),
- BufferedIndexInput.BUFFER_SIZE, true, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ true, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
assertTrue(mergedReader != null);
assertTrue(mergedReader.numDocs() == 2);
Document newDoc1 = mergedReader.document(0);
@@ -148,9 +149,9 @@ public class TestSegmentMerger extends L
w.close();
// Assert that SM fails if .del exists
- SegmentMerger sm = new SegmentMerger(dir, 1, "a", null, null, null);
+ SegmentMerger sm = new SegmentMerger(dir, 1, "a", null, null, null, newIOContext(random));
try {
- sm.createCompoundFile("b1", w.segmentInfos.info(0));
+ sm.createCompoundFile("b1", w.segmentInfos.info(0), newIOContext(random));
fail("should not have been able to create a .cfs with .del and .s* files");
} catch (AssertionError e) {
// expected
@@ -168,7 +169,7 @@ public class TestSegmentMerger extends L
// Assert that SM fails if .s* exists
try {
- sm.createCompoundFile("b2", w.segmentInfos.info(0));
+ sm.createCompoundFile("b2", w.segmentInfos.info(0), newIOContext(random));
fail("should not have been able to create a .cfs with .del and .s* files");
} catch (AssertionError e) {
// expected
Modified: lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java?rev=1144510&r1=1144509&r2=1144510&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java (original)
+++ lucene/dev/branches/solr2452/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java Fri Jul 8 21:02:20 2011
@@ -28,6 +28,8 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Fieldable;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.IOContext.Context;
public class TestSegmentReader extends LuceneTestCase {
private Directory dir;
@@ -41,7 +43,7 @@ public class TestSegmentReader extends L
dir = newDirectory();
DocHelper.setupDoc(testDoc);
SegmentInfo info = DocHelper.writeDoc(random, dir, testDoc);
- reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ reader = SegmentReader.get(true, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, IOContext.READ);
}
@Override
@@ -77,7 +79,7 @@ public class TestSegmentReader extends L
Document docToDelete = new Document();
DocHelper.setupDoc(docToDelete);
SegmentInfo info = DocHelper.writeDoc(random, dir, docToDelete);
- SegmentReader deleteReader = SegmentReader.get(false, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
+ SegmentReader deleteReader = SegmentReader.get(false, info, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
assertTrue(deleteReader != null);
assertTrue(deleteReader.numDocs() == 1);
deleteReader.deleteDocument(0);