You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/06/04 20:53:53 UTC
svn commit: r1600423 [2/2] - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/codecs/ lucene/codecs/src/java/org/apache/lucene/codecs/diskdv/
lucene/codecs/src/java/org/apache/lucene/codecs/memory/ lucene/core/
lucene/core/src/java/org/apache/lucen...
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java Wed Jun 4 18:53:51 2014
@@ -220,7 +220,7 @@ public class TestTieredMergePolicy exten
TieredMergePolicy tmp = (TieredMergePolicy) iwc.getMergePolicy();
tmp.setFloorSegmentMB(0.00001);
// We need stable sizes for each segment:
- iwc.setCodec(Codec.forName("Lucene46"));
+ iwc.setCodec(Codec.forName("Lucene49"));
iwc.setMergeScheduler(new SerialMergeScheduler());
iwc.setMaxBufferedDocs(100);
iwc.setRAMBufferSizeMB(-1);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/TestNamedSPILoader.java Wed Jun 4 18:53:51 2014
@@ -26,8 +26,8 @@ import org.apache.lucene.codecs.Codec;
public class TestNamedSPILoader extends LuceneTestCase {
public void testLookup() {
- Codec codec = Codec.forName("Lucene46");
- assertEquals("Lucene46", codec.getName());
+ Codec codec = Codec.forName("Lucene49");
+ assertEquals("Lucene49", codec.getName());
}
// we want an exception if its not found.
@@ -40,6 +40,6 @@ public class TestNamedSPILoader extends
public void testAvailableServices() {
Set<String> codecs = Codec.availableCodecs();
- assertTrue(codecs.contains("Lucene46"));
+ assertTrue(codecs.contains("Lucene49"));
}
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/util/packed/TestPackedInts.java Wed Jun 4 18:53:51 2014
@@ -1123,7 +1123,7 @@ public class TestPackedInts extends Luce
final Directory dir = newDirectory();
final IndexOutput out = dir.createOutput("out.bin", IOContext.DEFAULT);
- final BlockPackedWriter writer = new BlockPackedWriter(out, blockSize, PackedInts.COMPACT);
+ final BlockPackedWriter writer = new BlockPackedWriter(out, blockSize);
for (int i = 0; i < valueCount; ++i) {
assertEquals(i, writer.ord());
writer.add(values[i]);
@@ -1247,7 +1247,7 @@ public class TestPackedInts extends Luce
final int blockSize = 1 << TestUtil.nextInt(random(), 20, 22);
final Directory dir = newDirectory();
final IndexOutput out = dir.createOutput("out.bin", IOContext.DEFAULT);
- final BlockPackedWriter writer = new BlockPackedWriter(out, blockSize, PackedInts.COMPACT);
+ final BlockPackedWriter writer = new BlockPackedWriter(out, blockSize);
long value = random().nextInt() & 0xFFFFFFFFL;
long valueOffset = TestUtil.nextLong(random(), 0, valueCount - 1);
for (long i = 0; i < valueCount; ) {
Modified: lucene/dev/branches/branch_4x/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java (original)
+++ lucene/dev/branches/branch_4x/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java Wed Jun 4 18:53:51 2014
@@ -32,7 +32,7 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -184,7 +184,7 @@ public class AnalyzingInfixSuggester ext
* codec to use. */
protected IndexWriterConfig getIndexWriterConfig(Version matchVersion, Analyzer indexAnalyzer, IndexWriterConfig.OpenMode openMode) {
IndexWriterConfig iwc = new IndexWriterConfig(matchVersion, indexAnalyzer);
- iwc.setCodec(new Lucene46Codec());
+ iwc.setCodec(new Lucene49Codec());
iwc.setOpenMode(openMode);
// This way all merged segments will be sorted at
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingCodec.java Wed Jun 4 18:53:51 2014
@@ -23,10 +23,10 @@ import org.apache.lucene.codecs.NormsFor
import org.apache.lucene.codecs.PostingsFormat;
import org.apache.lucene.codecs.StoredFieldsFormat;
import org.apache.lucene.codecs.TermVectorsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
/**
- * Acts like {@link Lucene46Codec} but with additional asserts.
+ * Acts like {@link Lucene49Codec} but with additional asserts.
*/
public final class AssertingCodec extends FilterCodec {
@@ -37,7 +37,7 @@ public final class AssertingCodec extend
private final NormsFormat norms = new AssertingNormsFormat();
public AssertingCodec() {
- super("Asserting", new Lucene46Codec());
+ super("Asserting", new Lucene49Codec());
}
@Override
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java Wed Jun 4 18:53:51 2014
@@ -24,7 +24,7 @@ import java.util.NoSuchElementException;
import org.apache.lucene.codecs.DocValuesConsumer;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.DocValuesProducer;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesFormat;
import org.apache.lucene.index.AssertingAtomicReader;
import org.apache.lucene.index.BinaryDocValues;
import org.apache.lucene.index.FieldInfo;
@@ -39,10 +39,10 @@ import org.apache.lucene.util.FixedBitSe
import org.apache.lucene.util.LongBitSet;
/**
- * Just like {@link Lucene45DocValuesFormat} but with additional asserts.
+ * Just like {@link Lucene49DocValuesFormat} but with additional asserts.
*/
public class AssertingDocValuesFormat extends DocValuesFormat {
- private final DocValuesFormat in = new Lucene45DocValuesFormat();
+ private final DocValuesFormat in = new Lucene49DocValuesFormat();
public AssertingDocValuesFormat() {
super("Asserting");
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/cheapbastard/CheapBastardCodec.java Wed Jun 4 18:53:51 2014
@@ -28,7 +28,7 @@ import org.apache.lucene.codecs.diskdv.D
import org.apache.lucene.codecs.lucene40.Lucene40StoredFieldsFormat;
import org.apache.lucene.codecs.lucene40.Lucene40TermVectorsFormat;
import org.apache.lucene.codecs.lucene41.Lucene41PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
/** Codec that tries to use as little ram as possible because he spent all his money on beer */
// TODO: better name :)
@@ -45,7 +45,7 @@ public class CheapBastardCodec extends F
private final NormsFormat norms = new DiskNormsFormat();
public CheapBastardCodec() {
- super("CheapBastard", new Lucene46Codec());
+ super("CheapBastard", new Lucene49Codec());
}
@Override
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java Wed Jun 4 18:53:51 2014
@@ -23,13 +23,13 @@ import org.apache.lucene.codecs.FilterCo
import org.apache.lucene.codecs.StoredFieldsFormat;
import org.apache.lucene.codecs.TermVectorsFormat;
import org.apache.lucene.codecs.compressing.dummy.DummyCompressingCodec;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import com.carrotsearch.randomizedtesting.generators.RandomInts;
/**
* A codec that uses {@link CompressingStoredFieldsFormat} for its stored
- * fields and delegates to {@link Lucene46Codec} for everything else.
+ * fields and delegates to {@link Lucene49Codec} for everything else.
*/
public abstract class CompressingCodec extends FilterCodec {
@@ -73,7 +73,7 @@ public abstract class CompressingCodec e
* Creates a compressing codec with a given segment suffix
*/
public CompressingCodec(String name, String segmentSuffix, CompressionMode compressionMode, int chunkSize) {
- super(name, new Lucene46Codec());
+ super(name, new Lucene49Codec());
this.storedFieldsFormat = new CompressingStoredFieldsFormat(name, segmentSuffix, compressionMode, chunkSize);
this.termVectorsFormat = new CompressingTermVectorsFormat(name, segmentSuffix, compressionMode, chunkSize);
}
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java Wed Jun 4 18:53:51 2014
@@ -169,7 +169,7 @@ class Lucene42DocValuesConsumer extends
data.writeLong(gcd);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.COMPACT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
long value = nv == null ? 0 : nv.longValue();
writer.add((value - minValue) / gcd);
@@ -181,7 +181,7 @@ class Lucene42DocValuesConsumer extends
meta.writeVInt(PackedInts.VERSION_CURRENT);
data.writeVInt(BLOCK_SIZE);
- final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE, PackedInts.COMPACT);
+ final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);
for (Number nv : values) {
writer.add(nv == null ? 0 : nv.longValue());
}
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene45/Lucene45RWCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene45/Lucene45RWCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene45/Lucene45RWCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene45/Lucene45RWCodec.java Wed Jun 4 18:53:51 2014
@@ -19,10 +19,13 @@ package org.apache.lucene.codecs.lucene4
import java.io.IOException;
+import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.FieldInfosFormat;
import org.apache.lucene.codecs.FieldInfosWriter;
+import org.apache.lucene.codecs.NormsFormat;
import org.apache.lucene.codecs.lucene42.Lucene42FieldInfosFormat;
import org.apache.lucene.codecs.lucene42.Lucene42FieldInfosWriter;
+import org.apache.lucene.codecs.lucene42.Lucene42NormsFormat;
import org.apache.lucene.util.LuceneTestCase;
/**
@@ -46,4 +49,11 @@ public class Lucene45RWCodec extends Luc
public FieldInfosFormat fieldInfosFormat() {
return fieldInfosFormat;
}
+
+ private static final NormsFormat norms = new Lucene42NormsFormat();
+
+ @Override
+ public NormsFormat normsFormat() {
+ return norms;
+ }
}
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java Wed Jun 4 18:53:51 2014
@@ -32,7 +32,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.StoredFieldsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.DoubleField;
@@ -490,7 +490,7 @@ public abstract class BaseStoredFieldsFo
// get another codec, other than the default: so we are merging segments across different codecs
final Codec otherCodec;
if ("SimpleText".equals(Codec.getDefault().getName())) {
- otherCodec = new Lucene46Codec();
+ otherCodec = new Lucene49Codec();
} else {
otherCodec = new SimpleTextCodec();
}
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java Wed Jun 4 18:53:51 2014
@@ -35,8 +35,8 @@ import org.apache.lucene.codecs.bloom.Te
import org.apache.lucene.codecs.diskdv.DiskDocValuesFormat;
import org.apache.lucene.codecs.lucene41.Lucene41PostingsFormat;
import org.apache.lucene.codecs.lucene41ords.Lucene41WithOrds;
-import org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49DocValuesFormat;
import org.apache.lucene.codecs.memory.DirectPostingsFormat;
import org.apache.lucene.codecs.memory.MemoryDocValuesFormat;
import org.apache.lucene.codecs.memory.MemoryPostingsFormat;
@@ -64,7 +64,7 @@ import org.apache.lucene.util.TestUtil;
* documents in different orders and the test will still be deterministic
* and reproducable.
*/
-public class RandomCodec extends Lucene46Codec {
+public class RandomCodec extends Lucene49Codec {
/** Shuffled list of postings formats to use for new mappings */
private List<PostingsFormat> formats = new ArrayList<>();
@@ -152,7 +152,7 @@ public class RandomCodec extends Lucene4
new MemoryPostingsFormat(false, random.nextFloat()));
addDocValues(avoidCodecs,
- new Lucene45DocValuesFormat(),
+ new Lucene49DocValuesFormat(),
new DiskDocValuesFormat(),
new MemoryDocValuesFormat(),
new SimpleTextDocValuesFormat(),
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java Wed Jun 4 18:53:51 2014
@@ -668,5 +668,200 @@ public abstract class BaseDirectoryTestC
fsdir.close();
}
+
+ // random access APIs
+
+ public void testRandomLong() throws Exception {
+ Directory dir = getDirectory(createTempDir("testLongs"));
+ IndexOutput output = dir.createOutput("longs", newIOContext(random()));
+ int num = TestUtil.nextInt(random(), 50, 3000);
+ long longs[] = new long[num];
+ for (int i = 0; i < longs.length; i++) {
+ longs[i] = TestUtil.nextLong(random(), Long.MIN_VALUE, Long.MAX_VALUE);
+ output.writeLong(longs[i]);
+ }
+ output.close();
+
+ // slice
+ IndexInput input = dir.openInput("longs", newIOContext(random()));
+ RandomAccessInput slice = input.randomAccessSlice(0, input.length());
+ for (int i = 0; i < longs.length; i++) {
+ assertEquals(longs[i], slice.readLong(i * 8));
+ }
+
+ // subslices
+ for (int i = 1; i < longs.length; i++) {
+ long offset = i * 8;
+ RandomAccessInput subslice = input.randomAccessSlice(offset, input.length() - offset);
+ for (int j = i; j < longs.length; j++) {
+ assertEquals(longs[j], subslice.readLong((j - i) * 8));
+ }
+ }
+
+ // with padding
+ for (int i = 0; i < 7; i++) {
+ String name = "longs-" + i;
+ IndexOutput o = dir.createOutput(name, newIOContext(random()));
+ byte junk[] = new byte[i];
+ random().nextBytes(junk);
+ o.writeBytes(junk, junk.length);
+ input.seek(0);
+ o.copyBytes(input, input.length());
+ o.close();
+ IndexInput padded = dir.openInput(name, newIOContext(random()));
+ RandomAccessInput whole = padded.randomAccessSlice(i, padded.length() - i);
+ for (int j = 0; j < longs.length; j++) {
+ assertEquals(longs[j], whole.readLong(j * 8));
+ }
+ padded.close();
+ }
+
+ input.close();
+ dir.close();
+ }
+
+ public void testRandomInt() throws Exception {
+ Directory dir = getDirectory(createTempDir("testInts"));
+ IndexOutput output = dir.createOutput("ints", newIOContext(random()));
+ int num = TestUtil.nextInt(random(), 50, 3000);
+ int ints[] = new int[num];
+ for (int i = 0; i < ints.length; i++) {
+ ints[i] = random().nextInt();
+ output.writeInt(ints[i]);
+ }
+ output.close();
+
+ // slice
+ IndexInput input = dir.openInput("ints", newIOContext(random()));
+ RandomAccessInput slice = input.randomAccessSlice(0, input.length());
+ for (int i = 0; i < ints.length; i++) {
+ assertEquals(ints[i], slice.readInt(i * 4));
+ }
+
+ // subslices
+ for (int i = 1; i < ints.length; i++) {
+ long offset = i * 4;
+ RandomAccessInput subslice = input.randomAccessSlice(offset, input.length() - offset);
+ for (int j = i; j < ints.length; j++) {
+ assertEquals(ints[j], subslice.readInt((j - i) * 4));
+ }
+ }
+
+ // with padding
+ for (int i = 0; i < 7; i++) {
+ String name = "ints-" + i;
+ IndexOutput o = dir.createOutput(name, newIOContext(random()));
+ byte junk[] = new byte[i];
+ random().nextBytes(junk);
+ o.writeBytes(junk, junk.length);
+ input.seek(0);
+ o.copyBytes(input, input.length());
+ o.close();
+ IndexInput padded = dir.openInput(name, newIOContext(random()));
+ RandomAccessInput whole = padded.randomAccessSlice(i, padded.length() - i);
+ for (int j = 0; j < ints.length; j++) {
+ assertEquals(ints[j], whole.readInt(j * 4));
+ }
+ padded.close();
+ }
+ input.close();
+ dir.close();
+ }
+
+ public void testRandomShort() throws Exception {
+ Directory dir = getDirectory(createTempDir("testShorts"));
+ IndexOutput output = dir.createOutput("shorts", newIOContext(random()));
+ int num = TestUtil.nextInt(random(), 50, 3000);
+ short shorts[] = new short[num];
+ for (int i = 0; i < shorts.length; i++) {
+ shorts[i] = (short) random().nextInt();
+ output.writeShort(shorts[i]);
+ }
+ output.close();
+
+ // slice
+ IndexInput input = dir.openInput("shorts", newIOContext(random()));
+ RandomAccessInput slice = input.randomAccessSlice(0, input.length());
+ for (int i = 0; i < shorts.length; i++) {
+ assertEquals(shorts[i], slice.readShort(i * 2));
+ }
+
+ // subslices
+ for (int i = 1; i < shorts.length; i++) {
+ long offset = i * 2;
+ RandomAccessInput subslice = input.randomAccessSlice(offset, input.length() - offset);
+ for (int j = i; j < shorts.length; j++) {
+ assertEquals(shorts[j], subslice.readShort((j - i) * 2));
+ }
+ }
+
+ // with padding
+ for (int i = 0; i < 7; i++) {
+ String name = "shorts-" + i;
+ IndexOutput o = dir.createOutput(name, newIOContext(random()));
+ byte junk[] = new byte[i];
+ random().nextBytes(junk);
+ o.writeBytes(junk, junk.length);
+ input.seek(0);
+ o.copyBytes(input, input.length());
+ o.close();
+ IndexInput padded = dir.openInput(name, newIOContext(random()));
+ RandomAccessInput whole = padded.randomAccessSlice(i, padded.length() - i);
+ for (int j = 0; j < shorts.length; j++) {
+ assertEquals(shorts[j], whole.readShort(j * 2));
+ }
+ padded.close();
+ }
+ input.close();
+ dir.close();
+ }
+
+ public void testRandomByte() throws Exception {
+ Directory dir = getDirectory(createTempDir("testBytes"));
+ IndexOutput output = dir.createOutput("bytes", newIOContext(random()));
+ int num = TestUtil.nextInt(random(), 50, 3000);
+ byte bytes[] = new byte[num];
+ random().nextBytes(bytes);
+ for (int i = 0; i < bytes.length; i++) {
+ output.writeByte(bytes[i]);
+ }
+ output.close();
+
+ // slice
+ IndexInput input = dir.openInput("bytes", newIOContext(random()));
+ RandomAccessInput slice = input.randomAccessSlice(0, input.length());
+ for (int i = 0; i < bytes.length; i++) {
+ assertEquals(bytes[i], slice.readByte(i));
+ }
+
+ // subslices
+ for (int i = 1; i < bytes.length; i++) {
+ long offset = i;
+ RandomAccessInput subslice = input.randomAccessSlice(offset, input.length() - offset);
+ for (int j = i; j < bytes.length; j++) {
+ assertEquals(bytes[j], subslice.readByte(j - i));
+ }
+ }
+
+ // with padding
+ for (int i = 0; i < 7; i++) {
+ String name = "bytes-" + i;
+ IndexOutput o = dir.createOutput(name, newIOContext(random()));
+ byte junk[] = new byte[i];
+ random().nextBytes(junk);
+ o.writeBytes(junk, junk.length);
+ input.seek(0);
+ o.copyBytes(input, input.length());
+ o.close();
+ IndexInput padded = dir.openInput(name, newIOContext(random()));
+ RandomAccessInput whole = padded.randomAccessSlice(i, padded.length() - i);
+ for (int j = 0; j < bytes.length; j++) {
+ assertEquals(bytes[j], whole.readByte(j));
+ }
+ padded.close();
+ }
+ input.close();
+ dir.close();
+ }
}
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java Wed Jun 4 18:53:51 2014
@@ -40,7 +40,8 @@ import org.apache.lucene.codecs.lucene40
import org.apache.lucene.codecs.lucene41.Lucene41RWCodec;
import org.apache.lucene.codecs.lucene42.Lucene42RWCodec;
import org.apache.lucene.codecs.lucene45.Lucene45RWCodec;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene46.Lucene46RWCodec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.codecs.mockrandom.MockRandomPostingsFormat;
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
import org.apache.lucene.index.RandomCodec;
@@ -158,11 +159,11 @@ final class TestRuleSetupAndRestoreClass
LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = false;
savedCodec = Codec.getDefault();
- int randomVal = random.nextInt(10);
+ int randomVal = random.nextInt(12);
if ("Lucene3x".equals(TEST_CODEC) || ("random".equals(TEST_CODEC) &&
"random".equals(TEST_POSTINGSFORMAT) &&
"random".equals(TEST_DOCVALUESFORMAT) &&
- randomVal == 3 &&
+ randomVal == 10 &&
!shouldAvoidCodec("Lucene3x"))) { // preflex-only setup
codec = Codec.forName("Lucene3x");
assert (codec instanceof PreFlexRWCodec) : "fix your classpath to have tests-framework.jar before lucene-core.jar";
@@ -194,11 +195,19 @@ final class TestRuleSetupAndRestoreClass
} else if ("Lucene45".equals(TEST_CODEC) || ("random".equals(TEST_CODEC) &&
"random".equals(TEST_POSTINGSFORMAT) &&
"random".equals(TEST_DOCVALUESFORMAT) &&
- randomVal == 5 &&
+ randomVal == 3 &&
!shouldAvoidCodec("Lucene45"))) {
codec = Codec.forName("Lucene45");
LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
assert codec instanceof Lucene45RWCodec : "fix your classpath to have tests-framework.jar before lucene-core.jar";
+ } else if ("Lucene46".equals(TEST_CODEC) || ("random".equals(TEST_CODEC) &&
+ "random".equals(TEST_POSTINGSFORMAT) &&
+ "random".equals(TEST_DOCVALUESFORMAT) &&
+ randomVal == 4 &&
+ !shouldAvoidCodec("Lucene46"))) {
+ codec = Codec.forName("Lucene46");
+ LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
+ assert codec instanceof Lucene46RWCodec : "fix your classpath to have tests-framework.jar before lucene-core.jar";
} else if (("random".equals(TEST_POSTINGSFORMAT) == false) || ("random".equals(TEST_DOCVALUESFORMAT) == false)) {
// the user wired postings or DV: this is messy
// refactor into RandomCodec....
@@ -214,12 +223,13 @@ final class TestRuleSetupAndRestoreClass
final DocValuesFormat dvFormat;
if ("random".equals(TEST_DOCVALUESFORMAT)) {
- dvFormat = DocValuesFormat.forName("Lucene45");
+ // TODO: huh?
+ dvFormat = DocValuesFormat.forName("Lucene49");
} else {
dvFormat = DocValuesFormat.forName(TEST_DOCVALUESFORMAT);
}
- codec = new Lucene46Codec() {
+ codec = new Lucene49Codec() {
@Override
public PostingsFormat getPostingsFormatForField(String field) {
return format;
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java Wed Jun 4 18:53:51 2014
@@ -46,7 +46,7 @@ import java.util.zip.ZipFile;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
import org.apache.lucene.document.BinaryDocValuesField;
@@ -682,7 +682,7 @@ public final class TestUtil {
if (LuceneTestCase.VERBOSE) {
System.out.println("forcing postings format to:" + format);
}
- return new Lucene46Codec() {
+ return new Lucene49Codec() {
@Override
public PostingsFormat getPostingsFormatForField(String field) {
return format;
@@ -700,7 +700,7 @@ public final class TestUtil {
if (LuceneTestCase.VERBOSE) {
System.out.println("forcing docvalues format to:" + format);
}
- return new Lucene46Codec() {
+ return new Lucene49Codec() {
@Override
public DocValuesFormat getDocValuesFormatForField(String field) {
return format;
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.Codec
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.Codec?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.Codec (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.Codec Wed Jun 4 18:53:51 2014
@@ -24,3 +24,4 @@ org.apache.lucene.codecs.lucene40.Lucene
org.apache.lucene.codecs.lucene41.Lucene41RWCodec
org.apache.lucene.codecs.lucene42.Lucene42RWCodec
org.apache.lucene.codecs.lucene45.Lucene45RWCodec
+org.apache.lucene.codecs.lucene46.Lucene46RWCodec
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java Wed Jun 4 18:53:51 2014
@@ -3,7 +3,7 @@ package org.apache.solr.core;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.DocValuesFormat;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene46.Lucene46Codec;
+import org.apache.lucene.codecs.lucene49.Lucene49Codec;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.util.plugin.SolrCoreAware;
@@ -51,7 +51,7 @@ public class SchemaCodecFactory extends
@Override
public void init(NamedList args) {
super.init(args);
- codec = new Lucene46Codec() {
+ codec = new Lucene49Codec() {
@Override
public PostingsFormat getPostingsFormatForField(String field) {
final SchemaField schemaField = core.getLatestSchema().getFieldOrNull(field);
Modified: lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml Wed Jun 4 18:53:51 2014
@@ -22,7 +22,7 @@
<fieldType name="string_standard" class="solr.StrField" postingsFormat="Lucene41"/>
<fieldType name="string_disk" class="solr.StrField" docValuesFormat="Disk" />
- <fieldType name="string_memory" class="solr.StrField" docValuesFormat="Lucene45" />
+ <fieldType name="string_memory" class="solr.StrField" docValuesFormat="Lucene49" />
<fieldType name="string" class="solr.StrField" />
Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java?rev=1600423&r1=1600422&r2=1600423&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java Wed Jun 4 18:53:51 2014
@@ -55,10 +55,10 @@ public class TestCodecSupport extends So
PerFieldDocValuesFormat format = (PerFieldDocValuesFormat) codec.docValuesFormat();
assertEquals("Disk", format.getDocValuesFormatForField(schemaField.getName()).getName());
schemaField = fields.get("string_memory_f");
- assertEquals("Lucene45",
+ assertEquals("Lucene49",
format.getDocValuesFormatForField(schemaField.getName()).getName());
schemaField = fields.get("string_f");
- assertEquals("Lucene45",
+ assertEquals("Lucene49",
format.getDocValuesFormatForField(schemaField.getName()).getName());
}
@@ -80,7 +80,7 @@ public class TestCodecSupport extends So
assertEquals("Disk", format.getDocValuesFormatForField("foo_disk").getName());
assertEquals("Disk", format.getDocValuesFormatForField("bar_disk").getName());
- assertEquals("Lucene45", format.getDocValuesFormatForField("foo_memory").getName());
- assertEquals("Lucene45", format.getDocValuesFormatForField("bar_memory").getName());
+ assertEquals("Lucene49", format.getDocValuesFormatForField("foo_memory").getName());
+ assertEquals("Lucene49", format.getDocValuesFormatForField("bar_memory").getName());
}
}