From b797b021ee64024b7464a1da133e651dab7b57bf Mon Sep 17 00:00:00 2001 From: Michael McCandless Date: Fri, 23 Jul 2010 19:40:31 +0000 Subject: [PATCH] remove some dead code; make RIW/RIWC more hairy git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/preflexfixes@967224 13f79535-47bb-0310-9956-ffa450edef68 --- .../index/codecs/preflex/SegmentTermEnum.java | 24 ++++++------------- .../lucene/index/RandomIndexWriter.java | 20 +++++++++++++++- .../apache/lucene/util/LuceneTestCaseJ4.java | 1 + .../org/apache/lucene/util/_TestUtil.java | 6 +++++ 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java index 617375c7ba2..79d59962280 100644 --- a/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java +++ b/lucene/src/java/org/apache/lucene/index/codecs/preflex/SegmentTermEnum.java @@ -84,26 +84,16 @@ public final class SegmentTermEnum implements Cloneable { format = firstInt; // check that it is a format we can understand - if (format > FORMAT_MINIMUM) - throw new IndexFormatTooOldException(null, format, FORMAT_MINIMUM, FORMAT_CURRENT); - if (format < FORMAT_CURRENT) - throw new IndexFormatTooNewException(null, format, FORMAT_MINIMUM, FORMAT_CURRENT); + if (format > FORMAT_MINIMUM) + throw new IndexFormatTooOldException(null, format, FORMAT_MINIMUM, FORMAT_CURRENT); + if (format < FORMAT_CURRENT) + throw new IndexFormatTooNewException(null, format, FORMAT_MINIMUM, FORMAT_CURRENT); size = input.readLong(); // read the size - if(format == -1){ - if (!isIndex) { - indexInterval = input.readInt(); - formatM1SkipInterval = input.readInt(); - } - // switch off skipTo optimization for file format prior to 1.4rc2 in order to avoid a bug in - // skipTo implementation of these versions - skipInterval = Integer.MAX_VALUE; - } else { - indexInterval = input.readInt(); - skipInterval = input.readInt(); - maxSkipLevels = input.readInt(); - } + indexInterval = input.readInt(); + skipInterval = input.readInt(); + maxSkipLevels = input.readInt(); assert indexInterval > 0: "indexInterval=" + indexInterval + " is negative; must be > 0"; assert skipInterval > 0: "skipInterval=" + skipInterval + " is negative; must be > 0"; } diff --git a/lucene/src/test/org/apache/lucene/index/RandomIndexWriter.java b/lucene/src/test/org/apache/lucene/index/RandomIndexWriter.java index bb0b23850e8..d789d0ca19e 100644 --- a/lucene/src/test/org/apache/lucene/index/RandomIndexWriter.java +++ b/lucene/src/test/org/apache/lucene/index/RandomIndexWriter.java @@ -43,6 +43,24 @@ public class RandomIndexWriter implements Closeable { int docCount; int flushAt; + // Randomly calls Thread.yield so we mixup thread scheduling + private static final class MockIndexWriter extends IndexWriter { + + private final Random r; + + public MockIndexWriter(Random r,Directory dir, IndexWriterConfig conf) throws IOException { + super(dir, conf); + this.r = r; + } + + @Override + boolean testPoint(String name) { + if (r.nextInt(4) == 2) + Thread.yield(); + return true; + } + } + /** create a RandomIndexWriter with a random config: Uses TEST_VERSION_CURRENT and MockAnalyzer */ public RandomIndexWriter(Random r, Directory dir) throws IOException { this(r, dir, LuceneTestCaseJ4.newIndexWriterConfig(r, LuceneTestCaseJ4.TEST_VERSION_CURRENT, new MockAnalyzer())); @@ -61,7 +79,7 @@ public class RandomIndexWriter implements Closeable { /** create a RandomIndexWriter with the provided config */ public RandomIndexWriter(Random r, Directory dir, IndexWriterConfig c) throws IOException { this.r = r; - w = new IndexWriter(dir, c); + w = new MockIndexWriter(r, dir, c); flushAt = _TestUtil.nextInt(r, 10, 1000); } diff --git a/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java b/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java index 6138b1aec9f..5d5d5638b0c 100644 --- a/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java +++ b/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java @@ -428,6 +428,7 @@ public class LuceneTestCaseJ4 { logmp.setUseCompoundDocStore(r.nextBoolean()); logmp.setUseCompoundFile(r.nextBoolean()); logmp.setCalibrateSizeByDeletes(r.nextBoolean()); + logmp.setMergeFactor(_TestUtil.nextInt(r, 2, 20)); } c.setReaderPooling(r.nextBoolean()); diff --git a/lucene/src/test/org/apache/lucene/util/_TestUtil.java b/lucene/src/test/org/apache/lucene/util/_TestUtil.java index 9ff400a82f6..5481457761c 100644 --- a/lucene/src/test/org/apache/lucene/util/_TestUtil.java +++ b/lucene/src/test/org/apache/lucene/util/_TestUtil.java @@ -252,11 +252,17 @@ public class _TestUtil { @Override public Codec lookup(String name) { + // can't do this until we fix PreFlexRW to not + //impersonate PreFlex: + //return CodecProvider.getDefault().lookup(name); return c; } }; } + /** Return a CodecProvider that can read any of the + * default codecs, but always writes in the specified + * codec. */ public static CodecProvider alwaysCodec(final String codec) { return alwaysCodec(CodecProvider.getDefault().lookup(codec)); }