You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2014/11/27 14:42:27 UTC
svn commit: r1642150 [2/2] - in /lucene/dev/branches/lucene2878/lucene/core:
./ src/java/org/apache/lucene/codecs/
src/java/org/apache/lucene/codecs/lucene50/
src/java/org/apache/lucene/index/ src/java/org/apache/lucene/search/
src/java/org/apache/luce...
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Accountable.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Accountable.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Accountable.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Accountable.java Thu Nov 27 13:42:25 2014
@@ -17,6 +17,8 @@ package org.apache.lucene.util;
* limitations under the License.
*/
+import java.util.Collections;
+
/**
* An object whose RAM usage can be computed.
*
@@ -34,7 +36,8 @@ public interface Accountable {
* The result should be a point-in-time snapshot (to avoid race conditions).
* @see Accountables
*/
- // TODO: on java8 make this a default method returning emptyList
- Iterable<? extends Accountable> getChildResources();
+ default Iterable<? extends Accountable> getChildResources() {
+ return Collections.emptyList();
+ }
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/BitSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/BitSet.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/BitSet.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/BitSet.java Thu Nov 27 13:42:25 2014
@@ -18,7 +18,6 @@ package org.apache.lucene.util;
*/
import java.io.IOException;
-import java.util.Collections;
import org.apache.lucene.search.DocIdSetIterator;
@@ -145,9 +144,4 @@ public abstract class BitSet implements
});
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Constants.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Constants.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Constants.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/Constants.java Thu Nov 27 13:42:25 2014
@@ -92,7 +92,7 @@ public final class Constants {
}
JRE_IS_64BIT = is64Bit;
}
-
+
public static final boolean JRE_IS_MINIMUM_JAVA8 = JVM_MAJOR_VERSION > 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 8);
public static final boolean JRE_IS_MINIMUM_JAVA9 = JVM_MAJOR_VERSION > 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 9);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/PagedBytes.java Thu Nov 27 13:42:25 2014
@@ -19,7 +19,6 @@ package org.apache.lucene.util;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Collections;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.DataOutput;
@@ -135,11 +134,6 @@ public final class PagedBytes implements
}
return size;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
@Override
public String toString() {
@@ -257,11 +251,6 @@ public final class PagedBytes implements
}
return size;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
/** Copy bytes in, writing the length as a 1 or 2 byte
* vInt prefix. */
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/fst/BytesStore.java Thu Nov 27 13:42:25 2014
@@ -19,7 +19,6 @@ package org.apache.lucene.util.fst;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import org.apache.lucene.store.DataInput;
@@ -481,11 +480,6 @@ class BytesStore extends DataOutput impl
}
return size;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
@Override
public String toString() {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/AbstractPagedMutable.java Thu Nov 27 13:42:25 2014
@@ -20,8 +20,6 @@ package org.apache.lucene.util.packed;
import static org.apache.lucene.util.packed.PackedInts.checkBlockSize;
import static org.apache.lucene.util.packed.PackedInts.numBlocks;
-import java.util.Collections;
-
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.LongValues;
@@ -116,11 +114,6 @@ abstract class AbstractPagedMutable<T ex
}
return bytesUsed;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
protected abstract T newUnfilledCopy(long newSize);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedReader.java Thu Nov 27 13:42:25 2014
@@ -27,7 +27,6 @@ import static org.apache.lucene.util.pac
import static org.apache.lucene.util.packed.PackedInts.numBlocks;
import java.io.IOException;
-import java.util.Collections;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.Accountable;
@@ -100,11 +99,6 @@ public final class BlockPackedReader ext
}
return size;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
@Override
public String toString() {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/EliasFanoEncoder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/EliasFanoEncoder.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/EliasFanoEncoder.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/EliasFanoEncoder.java Thu Nov 27 13:42:25 2014
@@ -18,7 +18,6 @@
package org.apache.lucene.util.packed;
import java.util.Arrays;
-import java.util.Collections;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.FixedBitSet; // for javadocs
@@ -363,10 +362,5 @@ public class EliasFanoEncoder implements
+ RamUsageEstimator.sizeOf(upperLongs)
+ RamUsageEstimator.sizeOf(upperZeroBitPositionIndex);
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedReader.java Thu Nov 27 13:42:25 2014
@@ -24,7 +24,6 @@ import static org.apache.lucene.util.pac
import static org.apache.lucene.util.packed.PackedInts.numBlocks;
import java.io.IOException;
-import java.util.Collections;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.util.Accountable;
@@ -128,11 +127,6 @@ public class MonotonicBlockPackedReader
}
@Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
-
- @Override
public String toString() {
long avgBPV = subReaders.length == 0 ? 0 : sumBPV / subReaders.length;
return getClass().getSimpleName() + "(blocksize=" + (1<<blockShift) + ",size=" + valueCount + ",avgBPV=" + avgBPV + ")";
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedInts.java Thu Nov 27 13:42:25 2014
@@ -19,7 +19,6 @@ package org.apache.lucene.util.packed;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Collections;
import org.apache.lucene.codecs.CodecUtil;
import org.apache.lucene.index.NumericDocValues;
@@ -478,11 +477,6 @@ public class PackedInts {
* @return the number of values.
*/
public abstract int size();
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
}
/**
Modified: lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/java/org/apache/lucene/util/packed/PackedLongValues.java Thu Nov 27 13:42:25 2014
@@ -20,7 +20,6 @@ package org.apache.lucene.util.packed;
import static org.apache.lucene.util.packed.PackedInts.checkBlockSize;
import java.util.Arrays;
-import java.util.Collections;
import org.apache.lucene.util.Accountable;
import org.apache.lucene.util.ArrayUtil;
@@ -115,11 +114,6 @@ public class PackedLongValues extends Lo
public long ramBytesUsed() {
return ramBytesUsed;
}
-
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
/** Return an iterator over the values of this array. */
public Iterator iterator() {
@@ -214,11 +208,6 @@ public class PackedLongValues extends Lo
return ramBytesUsed;
}
- @Override
- public Iterable<? extends Accountable> getChildResources() {
- return Collections.emptyList();
- }
-
/** Return the number of elements that have been added to this builder. */
public final long size() {
return size;
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/TestSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/TestSearch.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/TestSearch.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/TestSearch.java Thu Nov 27 13:42:25 2014
@@ -128,6 +128,7 @@ public class TestSearch extends LuceneTe
Document d = new Document();
d.add(newTextField("contents", docs[j], Field.Store.YES));
d.add(new IntField("id", j, Field.Store.NO));
+ d.add(new NumericDocValuesField("id", j));
writer.addDocument(d);
}
writer.close();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestGraphTokenizers.java Thu Nov 27 13:42:25 2014
@@ -296,7 +296,7 @@ public class TestGraphTokenizers extends
}
public void testMockGraphTokenFilterRandom() throws Exception {
- for(int iter=0;iter<10*RANDOM_MULTIPLIER;iter++) {
+ for(int iter=0;iter<3*RANDOM_MULTIPLIER;iter++) {
if (VERBOSE) {
System.out.println("\nTEST: iter=" + iter);
@@ -320,7 +320,7 @@ public class TestGraphTokenizers extends
// Two MockGraphTokenFilters
public void testDoubleMockGraphTokenFilterRandom() throws Exception {
- for(int iter=0;iter<10*RANDOM_MULTIPLIER;iter++) {
+ for(int iter=0;iter<3*RANDOM_MULTIPLIER;iter++) {
if (VERBOSE) {
System.out.println("\nTEST: iter=" + iter);
@@ -344,7 +344,7 @@ public class TestGraphTokenizers extends
}
public void testMockGraphTokenFilterBeforeHolesRandom() throws Exception {
- for(int iter=0;iter<10*RANDOM_MULTIPLIER;iter++) {
+ for(int iter=0;iter<3*RANDOM_MULTIPLIER;iter++) {
if (VERBOSE) {
System.out.println("\nTEST: iter=" + iter);
@@ -368,7 +368,7 @@ public class TestGraphTokenizers extends
}
public void testMockGraphTokenFilterAfterHolesRandom() throws Exception {
- for(int iter=0;iter<10*RANDOM_MULTIPLIER;iter++) {
+ for(int iter=0;iter<3*RANDOM_MULTIPLIER;iter++) {
if (VERBOSE) {
System.out.println("\nTEST: iter=" + iter);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java Thu Nov 27 13:42:25 2014
@@ -230,7 +230,7 @@ public class TestMockAnalyzer extends Ba
/** blast some random strings through differently configured tokenizers */
public void testRandomRegexps() throws Exception {
- int iters = atLeast(30);
+ int iters = TEST_NIGHTLY ? atLeast(30) : atLeast(1);
for (int i = 0; i < iters; i++) {
final CharacterRunAutomaton dfa = new CharacterRunAutomaton(AutomatonTestUtil.randomAutomaton(random()), Integer.MAX_VALUE);
final boolean lowercase = random().nextBoolean();
@@ -248,7 +248,7 @@ public class TestMockAnalyzer extends Ba
}
public void testForwardOffsets() throws Exception {
- int num = atLeast(10000);
+ int num = atLeast(1000);
for (int i = 0; i < num; i++) {
String s = TestUtil.randomHtmlishString(random(), 20);
StringReader reader = new StringReader(s);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/asserting/TestAssertingPostingsFormat.java Thu Nov 27 13:42:25 2014
@@ -18,10 +18,10 @@ package org.apache.lucene.codecs.asserti
*/
import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseDocValuesFormatTestCase;
+import org.apache.lucene.index.BasePostingsFormatTestCase;
-/** Test AssertingDocValuesFormat directly */
-public class TestAssertingPostingsFormat extends BaseDocValuesFormatTestCase {
+/** Test AssertingPostingsFormat directly */
+public class TestAssertingPostingsFormat extends BasePostingsFormatTestCase {
private final Codec codec = new AssertingCodec();
@Override
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingStoredFieldsFormat.java Thu Nov 27 13:42:25 2014
@@ -33,10 +33,8 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.MockDirectoryWrapper;
import org.junit.Test;
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
import com.carrotsearch.randomizedtesting.generators.RandomInts;
-@Repeat(iterations=5) // give it a chance to test various compression modes with different chunk sizes
public class TestCompressingStoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
@Override
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java Thu Nov 27 13:42:25 2014
@@ -14,8 +14,6 @@ import org.apache.lucene.index.TermsEnum
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
-import com.carrotsearch.randomizedtesting.annotations.Repeat;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -33,7 +31,6 @@ import com.carrotsearch.randomizedtestin
* limitations under the License.
*/
-@Repeat(iterations=5) // give it a chance to test various compression modes with different chunk sizes
public class TestCompressingTermVectorsFormat extends BaseTermVectorsFormatTestCase {
@Override
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java Thu Nov 27 13:42:25 2014
@@ -60,7 +60,8 @@ import org.apache.lucene.util.automaton.
* Tests partial enumeration (only pulling a subset of the indexed data)
*/
public class TestBlockPostingsFormat3 extends LuceneTestCase {
- static final int MAXDOC = Lucene50PostingsFormat.BLOCK_SIZE * 20;
+ private final int MAXDOC = TEST_NIGHTLY ? Lucene50PostingsFormat.BLOCK_SIZE * 20
+ : Lucene50PostingsFormat.BLOCK_SIZE * 3;
// creates 8 fields with different options and does "duels" of fields against each other
public void test() throws Exception {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestLucene50DocValuesFormat.java Thu Nov 27 13:42:25 2014
@@ -59,6 +59,7 @@ public class TestLucene50DocValuesFormat
// TODO: these big methods can easily blow up some of the other ram-hungry codecs...
// for now just keep them here, as we want to test this for this format.
+ @Slow
public void testSortedSetVariableLengthBigVsStoredFields() throws Exception {
int numIterations = atLeast(1);
for (int i = 0; i < numIterations; i++) {
@@ -74,6 +75,7 @@ public class TestLucene50DocValuesFormat
}
}
+ @Slow
public void testSortedVariableLengthBigVsStoredFields() throws Exception {
int numIterations = atLeast(1);
for (int i = 0; i < numIterations; i++) {
@@ -89,6 +91,7 @@ public class TestLucene50DocValuesFormat
}
}
+ @Slow
public void testTermsEnumFixedWidth() throws Exception {
int numIterations = atLeast(1);
for (int i = 0; i < numIterations; i++) {
@@ -96,6 +99,7 @@ public class TestLucene50DocValuesFormat
}
}
+ @Slow
public void testTermsEnumVariableWidth() throws Exception {
int numIterations = atLeast(1);
for (int i = 0; i < numIterations; i++) {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestBinaryDocValuesUpdates.java Thu Nov 27 13:42:25 2014
@@ -26,6 +26,7 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import org.junit.Test;
@@ -1157,6 +1158,7 @@ public class TestBinaryDocValuesUpdates
dir.close();
}
+ @Nightly
public void testTonsOfUpdates() throws Exception {
// LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
Directory dir = newDirectory();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java Thu Nov 27 13:42:25 2014
@@ -339,7 +339,6 @@ public class TestConcurrentMergeSchedule
dir.close();
}
-
private static class TrackingCMS extends ConcurrentMergeScheduler {
long totMergedBytes;
CountDownLatch atLeastOneMerge;
@@ -454,4 +453,24 @@ public class TestConcurrentMergeSchedule
w.close();
d.close();
}
+
+ // LUCENE-6063
+ public void testMaybeStallCalled() throws Exception {
+ final AtomicBoolean wasCalled = new AtomicBoolean();
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
+ iwc.setMergeScheduler(new ConcurrentMergeScheduler() {
+ @Override
+ protected void maybeStall() {
+ wasCalled.set(true);
+ }
+ });
+ IndexWriter w = new IndexWriter(dir, iwc);
+ w.addDocument(new Document());
+ w.forceMerge(1);
+ assertTrue(wasCalled.get());
+
+ w.close();
+ dir.close();
+ }
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReaderReopen.java Thu Nov 27 13:42:25 2014
@@ -16,6 +16,7 @@ package org.apache.lucene.index;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,7 +29,6 @@ import java.util.Random;
import java.util.Set;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.codecs.Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
@@ -39,12 +39,14 @@ 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.MockDirectoryWrapper.FakeIOException;
import org.apache.lucene.store.MockDirectoryWrapper;
+import org.apache.lucene.store.MockDirectoryWrapper.FakeIOException;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
+
+
public class TestDirectoryReaderReopen extends LuceneTestCase {
public void testReopen() throws Exception {
@@ -432,7 +434,6 @@ public class TestDirectoryReaderReopen e
}
public static void createIndex(Random random, Directory dir, boolean multiSegment) throws IOException {
- IndexWriter.unlock(dir);
IndexWriter w = new IndexWriter(dir, LuceneTestCase.newIndexWriterConfig(random, new MockAnalyzer(random))
.setMergePolicy(new LogDocMergePolicy()));
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java Thu Nov 27 13:42:25 2014
@@ -58,9 +58,6 @@ public class TestDocCount extends Lucene
private void verifyCount(IndexReader ir) throws Exception {
Fields fields = MultiFields.getFields(ir);
- if (fields == null) {
- return;
- }
for (String field : fields) {
Terms terms = fields.terms(field);
if (terms == null) {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexReaderClose.java Thu Nov 27 13:42:25 2014
@@ -35,12 +35,12 @@ import org.apache.lucene.util.TestUtil;
public class TestIndexReaderClose extends LuceneTestCase {
public void testCloseUnderException() throws IOException {
+ Directory dir = newDirectory();
+ IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random(), new MockAnalyzer(random())));
+ writer.commit();
+ writer.close();
final int iters = 1000 + 1 + random().nextInt(20);
for (int j = 0; j < iters; j++) {
- Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random(), new MockAnalyzer(random())));
- writer.commit();
- writer.close();
DirectoryReader open = DirectoryReader.open(dir);
final boolean throwOnClose = !rarely();
LeafReader wrap = SlowCompositeReaderWrapper.wrap(open);
@@ -90,8 +90,8 @@ public class TestIndexReaderClose extend
}
assertEquals(0, count.get());
wrap.close();
- dir.close();
}
+ dir.close();
}
public void testCoreListenerOnWrapper() throws IOException {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java Thu Nov 27 13:42:25 2014
@@ -1122,8 +1122,8 @@ public class TestIndexWriter extends Luc
// init this class (in servicing a first interrupt):
assertTrue(new ThreadInterruptedException(new InterruptedException()).getCause() instanceof InterruptedException);
- // issue 300 interrupts to child thread
- final int numInterrupts = atLeast(300);
+ // issue 100 interrupts to child thread
+ final int numInterrupts = atLeast(100);
int i = 0;
while(i < numInterrupts) {
// TODO: would be nice to also sometimes interrupt the
@@ -1143,52 +1143,6 @@ public class TestIndexWriter extends Luc
fail(new String(t.bytesLog.toString("UTF-8")));
}
}
-
- /** testThreadInterruptDeadlock but with 2 indexer threads */
- public void testTwoThreadsInterruptDeadlock() throws Exception {
- IndexerThreadInterrupt t1 = new IndexerThreadInterrupt(1);
- t1.setDaemon(true);
- t1.start();
-
- IndexerThreadInterrupt t2 = new IndexerThreadInterrupt(2);
- t2.setDaemon(true);
- t2.start();
-
- // Force class loader to load ThreadInterruptedException
- // up front... else we can see a false failure if 2nd
- // interrupt arrives while class loader is trying to
- // init this class (in servicing a first interrupt):
- assertTrue(new ThreadInterruptedException(new InterruptedException()).getCause() instanceof InterruptedException);
-
- // issue 300 interrupts to child thread
- final int numInterrupts = atLeast(300);
- int i = 0;
- while(i < numInterrupts) {
- // TODO: would be nice to also sometimes interrupt the
- // CMS merge threads too ...
- Thread.sleep(10);
- IndexerThreadInterrupt t = random().nextBoolean() ? t1 : t2;
- if (t.allowInterrupt) {
- i++;
- t.interrupt();
- }
- if (!t1.isAlive() && !t2.isAlive()) {
- break;
- }
- }
- t1.finish = true;
- t2.finish = true;
- t1.join();
- t2.join();
- if (t1.failed) {
- System.out.println("Thread1 failed:\n" + new String(t1.bytesLog.toString("UTF-8")));
- }
- if (t2.failed) {
- System.out.println("Thread2 failed:\n" + new String(t2.bytesLog.toString("UTF-8")));
- }
- assertFalse(t1.failed || t2.failed);
- }
-
public void testIndexStoreCombos() throws Exception {
Directory dir = newDirectory();
@@ -2620,6 +2574,10 @@ public class TestIndexWriter extends Luc
assumeFalse("this test can't run on Windows", Constants.WINDOWS);
MockDirectoryWrapper dir = newMockDirectory();
+ if (TestUtil.isWindowsFS(dir)) {
+ dir.close();
+ assumeFalse("this test can't run on Windows", true);
+ }
// don't act like windows either, or the test won't simulate the condition
dir.setEnableVirusScanner(false);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterDelete.java Thu Nov 27 13:42:25 2014
@@ -45,8 +45,10 @@ import org.apache.lucene.store.MockDirec
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.TestUtil;
+@SuppressCodecs("SimpleText") // too slow here
public class TestIndexWriterDelete extends LuceneTestCase {
// test the simple case
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Thu Nov 27 13:42:25 2014
@@ -65,7 +65,9 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
+@SuppressCodecs("SimpleText") // too slow here
public class TestIndexWriterExceptions extends LuceneTestCase {
private static class DocCopyIterator implements Iterable<Document> {
@@ -1895,11 +1897,19 @@ public class TestIndexWriterExceptions e
@Override
public void eval(MockDirectoryWrapper dir) throws IOException {
- StackTraceElement[] trace = new Exception().getStackTrace();
if (shouldFail.get() == false) {
+ // Only sometimes throw the exc, so we get
+ // it sometimes on creating the file, on
+ // flushing buffer, on closing the file:
return;
}
+ if (random().nextInt(3) != 2) {
+ return;
+ }
+
+ StackTraceElement[] trace = Thread.currentThread().getStackTrace();
+
boolean sawSeal = false;
boolean sawWrite = false;
for (int i = 0; i < trace.length; i++) {
@@ -1914,10 +1924,7 @@ public class TestIndexWriterExceptions e
// Don't throw exc if we are "flushing", else
// the segment is aborted and docs are lost:
- if (sawWrite && sawSeal == false && random().nextInt(3) == 2) {
- // Only sometimes throw the exc, so we get
- // it sometimes on creating the file, on
- // flushing buffer, on closing the file:
+ if (sawWrite && sawSeal == false) {
if (VERBOSE) {
System.out.println("TEST: now fail; thread=" + Thread.currentThread().getName() + " exc:");
new Throwable().printStackTrace(System.out);
@@ -2233,8 +2240,11 @@ public class TestIndexWriterExceptions e
@Override
public void eval(MockDirectoryWrapper dir) throws IOException {
+ if (random().nextInt(10) != 0) {
+ return;
+ }
boolean maybeFail = false;
- StackTraceElement[] trace = new Exception().getStackTrace();
+ StackTraceElement[] trace = Thread.currentThread().getStackTrace();
for (int i = 0; i < trace.length; i++) {
if ("rollbackInternal".equals(trace[i].getMethodName())) {
@@ -2243,7 +2253,7 @@ public class TestIndexWriterExceptions e
}
}
- if (maybeFail && random().nextInt(10) == 0) {
+ if (maybeFail) {
if (VERBOSE) {
System.out.println("TEST: now fail; thread=" + Thread.currentThread().getName() + " exc:");
new Throwable().printStackTrace(System.out);
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions2.java Thu Nov 27 13:42:25 2014
@@ -47,11 +47,13 @@ import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.Rethrow;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
/**
* Causes a bunch of non-aborting and aborting exceptions and checks that
* no index corruption is ever created
*/
+@SuppressCodecs("SimpleText")
public class TestIndexWriterExceptions2 extends LuceneTestCase {
// just one thread, serial merge policy, hopefully debuggable
@@ -95,7 +97,7 @@ public class TestIndexWriterExceptions2
conf.setMergeScheduler(new SerialMergeScheduler());
conf.setCodec(codec);
- int numDocs = atLeast(2000);
+ int numDocs = atLeast(500);
IndexWriter iw = new IndexWriter(dir, conf);
try {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java Thu Nov 27 13:42:25 2014
@@ -353,6 +353,7 @@ public class TestIndexWriterMerging exte
dir.close();
}
+ @Slow
public void testNoWaitClose() throws Throwable {
Directory directory = newDirectory();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfMemory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfMemory.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfMemory.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfMemory.java Thu Nov 27 13:42:25 2014
@@ -38,19 +38,21 @@ import org.apache.lucene.document.Sorted
import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.store.AlreadyClosedException;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.MockDirectoryWrapper.Failure;
+import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.util.LuceneTestCase.Nightly;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.Rethrow;
-import org.junit.Ignore;
+import org.apache.lucene.util.TestUtil;
/**
* Causes a bunch of fake OOM and checks that no other exceptions are delivered instead,
* no index corruption is ever created.
*/
+@SuppressCodecs("SimpleText")
public class TestIndexWriterOutOfMemory extends LuceneTestCase {
// just one thread, serial merge policy, hopefully debuggable
@@ -77,7 +79,7 @@ public class TestIndexWriterOutOfMemory
MockDirectoryWrapper dir = null;
- final int numIterations = TEST_NIGHTLY ? atLeast(500) : atLeast(20);
+ final int numIterations = TEST_NIGHTLY ? atLeast(100) : atLeast(5);
STARTOVER:
for (int iter = 0; iter < numIterations; iter++) {
@@ -227,34 +229,35 @@ public class TestIndexWriterOutOfMemory
return null; // dead
}
}
-
+
public void testBasics() throws Exception {
final Random r = new Random(random().nextLong());
doTest(new Failure() {
@Override
public void eval(MockDirectoryWrapper dir) throws IOException {
- Exception e = new Exception();
- StackTraceElement stack[] = e.getStackTrace();
- boolean ok = false;
- for (int i = 0; i < stack.length; i++) {
- if (stack[i].getClassName().equals(IndexWriter.class.getName())) {
- ok = true;
+ if (r.nextInt(3000) == 0) {
+ StackTraceElement stack[] = Thread.currentThread().getStackTrace();
+ boolean ok = false;
+ for (int i = 0; i < stack.length; i++) {
+ if (stack[i].getClassName().equals(IndexWriter.class.getName())) {
+ ok = true;
+ }
+ }
+ if (ok) {
+ throw new OutOfMemoryError("Fake OutOfMemoryError");
}
- }
- if (ok && r.nextInt(3000) == 0) {
- throw new OutOfMemoryError("Fake OutOfMemoryError");
}
}
});
}
+ @Nightly
public void testCheckpoint() throws Exception {
final Random r = new Random(random().nextLong());
doTest(new Failure() {
@Override
public void eval(MockDirectoryWrapper dir) throws IOException {
- Exception e = new Exception();
- StackTraceElement stack[] = e.getStackTrace();
+ StackTraceElement stack[] = Thread.currentThread().getStackTrace();
boolean ok = false;
for (int i = 0; i < stack.length; i++) {
if (stack[i].getClassName().equals(IndexFileDeleter.class.getName()) && stack[i].getMethodName().equals("checkpoint")) {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterThreadsToSegments.java Thu Nov 27 13:42:25 2014
@@ -190,7 +190,7 @@ public class TestIndexWriterThreadsToSeg
CheckSegmentCount checker = new CheckSegmentCount(w, maxThreadCount, indexingCount);
// We spin up 10 threads up front, but then in between flushes we limit how many can run on each iteration
- final int ITERS = 100;
+ final int ITERS = TEST_NIGHTLY ? 300 : 10;
Thread[] threads = new Thread[MAX_THREADS_AT_ONCE];
// We use this to stop all threads once they've indexed their docs in the current iter, and pull a new NRT reader, and verify the
@@ -323,29 +323,35 @@ public class TestIndexWriterThreadsToSeg
// At this point the writer should have 2 thread states w/ docs; now we index with only 1 thread until we see all 1000 thread0 & thread1
// docs flushed. If the writer incorrectly holds onto previously indexed docs forever then this will run forever:
+ long counter = 0;
+ long checkAt = 100;
while (thread0Count < 1000 || thread1Count < 1000) {
Document doc = new Document();
doc.add(newStringField("field", "threadIDmain", Field.Store.NO));
w.addDocument(doc);
-
- for(String fileName : dir.listAll()) {
- if (fileName.endsWith(".si")) {
- String segName = IndexFileNames.parseSegmentName(fileName);
- if (segSeen.contains(segName) == false) {
- segSeen.add(segName);
- byte id[] = readSegmentInfoID(dir, fileName);
- SegmentInfo si = TestUtil.getDefaultCodec().segmentInfoFormat().read(dir, segName, id, IOContext.DEFAULT);
- si.setCodec(codec);
- SegmentCommitInfo sci = new SegmentCommitInfo(si, 0, -1, -1, -1);
- SegmentReader sr = new SegmentReader(sci, IOContext.DEFAULT);
- try {
- thread0Count += sr.docFreq(new Term("field", "threadID0"));
- thread1Count += sr.docFreq(new Term("field", "threadID1"));
- } finally {
- sr.close();
+ if (counter++ == checkAt) {
+ for(String fileName : dir.listAll()) {
+ if (fileName.endsWith(".si")) {
+ String segName = IndexFileNames.parseSegmentName(fileName);
+ if (segSeen.contains(segName) == false) {
+ segSeen.add(segName);
+ byte id[] = readSegmentInfoID(dir, fileName);
+ SegmentInfo si = TestUtil.getDefaultCodec().segmentInfoFormat().read(dir, segName, id, IOContext.DEFAULT);
+ si.setCodec(codec);
+ SegmentCommitInfo sci = new SegmentCommitInfo(si, 0, -1, -1, -1);
+ SegmentReader sr = new SegmentReader(sci, IOContext.DEFAULT);
+ try {
+ thread0Count += sr.docFreq(new Term("field", "threadID0"));
+ thread1Count += sr.docFreq(new Term("field", "threadID1"));
+ } finally {
+ sr.close();
+ }
}
}
}
+
+ checkAt = (long) (checkAt * 1.25);
+ counter = 0;
}
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMixedDocValuesUpdates.java Thu Nov 27 13:42:25 2014
@@ -18,6 +18,7 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import com.carrotsearch.randomizedtesting.generators.RandomPicks;
@@ -324,6 +325,7 @@ public class TestMixedDocValuesUpdates e
dir.close();
}
+ @Nightly
public void testTonsOfUpdates() throws Exception {
// LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
Directory dir = newDirectory();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMultiDocValues.java Thu Nov 27 13:42:25 2014
@@ -45,7 +45,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
field.setLongValue(random().nextLong());
iw.addDocument(doc);
@@ -79,7 +79,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
BytesRef ref = new BytesRef(TestUtil.randomUnicodeString(random()));
field.setBytesValue(ref);
@@ -116,7 +116,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
BytesRef ref = new BytesRef(TestUtil.randomUnicodeString(random()));
field.setBytesValue(ref);
@@ -161,7 +161,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
BytesRef ref = new BytesRef(TestUtil.randomSimpleString(random(), 2));
field.setBytesValue(ref);
@@ -199,7 +199,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
Document doc = new Document();
int numValues = random().nextInt(5);
@@ -261,7 +261,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
Document doc = new Document();
int numValues = random().nextInt(5);
@@ -322,7 +322,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
Document doc = new Document();
int numValues = random().nextInt(5);
@@ -373,7 +373,7 @@ public class TestMultiDocValues extends
iwc.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwc);
- int numDocs = atLeast(500);
+ int numDocs = TEST_NIGHTLY ? atLeast(500) : atLeast(50);
for (int i = 0; i < numDocs; i++) {
Document doc = new Document();
if (random().nextInt(4) >= 0) {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestNumericDocValuesUpdates.java Thu Nov 27 13:42:25 2014
@@ -19,6 +19,13 @@ import org.apache.lucene.document.Numeri
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.SortedSetDocValuesField;
import org.apache.lucene.document.StringField;
+import org.apache.lucene.search.FieldDoc;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.SortField;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.TopFieldDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.store.NRTCachingDirectory;
@@ -26,6 +33,7 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.Nightly;
import org.apache.lucene.util.TestUtil;
import org.junit.Test;
@@ -782,6 +790,92 @@ public class TestNumericDocValuesUpdates
}
@Test
+ public void testUpdateSegmentWithNoDocValues2() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig conf = newIndexWriterConfig(new MockAnalyzer(random()));
+ // prevent merges, otherwise by the time updates are applied
+ // (writer.close()), the segments might have merged and that update becomes
+ // legit.
+ conf.setMergePolicy(NoMergePolicy.INSTANCE);
+ IndexWriter writer = new IndexWriter(dir, conf);
+
+ // first segment with NDV
+ Document doc = new Document();
+ doc.add(new StringField("id", "doc0", Store.NO));
+ doc.add(new NumericDocValuesField("ndv", 3));
+ writer.addDocument(doc);
+ doc = new Document();
+ doc.add(new StringField("id", "doc4", Store.NO)); // document without 'ndv' field
+ writer.addDocument(doc);
+ writer.commit();
+
+ // second segment with no NDV, but another dv field "foo"
+ doc = new Document();
+ doc.add(new StringField("id", "doc1", Store.NO));
+ doc.add(new NumericDocValuesField("foo", 3));
+ writer.addDocument(doc);
+ doc = new Document();
+ doc.add(new StringField("id", "doc2", Store.NO)); // document that isn't updated
+ writer.addDocument(doc);
+ writer.commit();
+
+ // update document in the first segment - should not affect docsWithField of
+ // the document without NDV field
+ writer.updateNumericDocValue(new Term("id", "doc0"), "ndv", 5L);
+
+ // update document in the second segment - field should be added and we should
+ // be able to handle the other document correctly (e.g. no NPE)
+ writer.updateNumericDocValue(new Term("id", "doc1"), "ndv", 5L);
+ writer.close();
+
+ DirectoryReader reader = DirectoryReader.open(dir);
+ for (LeafReaderContext context : reader.leaves()) {
+ LeafReader r = context.reader();
+ NumericDocValues ndv = r.getNumericDocValues("ndv");
+ Bits docsWithField = r.getDocsWithField("ndv");
+ assertNotNull(docsWithField);
+ assertTrue(docsWithField.get(0));
+ assertEquals(5L, ndv.get(0));
+ assertFalse(docsWithField.get(1));
+ assertEquals(0L, ndv.get(1));
+ }
+ reader.close();
+
+ TestUtil.checkIndex(dir);
+
+ conf = newIndexWriterConfig(new MockAnalyzer(random()));
+ writer = new IndexWriter(dir, conf);
+ writer.forceMerge(1);
+ writer.close();
+
+ reader = DirectoryReader.open(dir);
+ LeafReader ar = getOnlySegmentReader(reader);
+ assertEquals(DocValuesType.NUMERIC, ar.getFieldInfos().fieldInfo("foo").getDocValuesType());
+ IndexSearcher searcher = new IndexSearcher(reader);
+ TopFieldDocs td;
+ // doc0
+ td = searcher.search(new TermQuery(new Term("id", "doc0")), 1,
+ new Sort(new SortField("ndv", SortField.Type.LONG)));
+ assertEquals(5L, ((FieldDoc)td.scoreDocs[0]).fields[0]);
+ // doc1
+ td = searcher.search(new TermQuery(new Term("id", "doc1")), 1,
+ new Sort(new SortField("ndv", SortField.Type.LONG), new SortField("foo", SortField.Type.LONG)));
+ assertEquals(5L, ((FieldDoc)td.scoreDocs[0]).fields[0]);
+ assertEquals(3L, ((FieldDoc)td.scoreDocs[0]).fields[1]);
+ // doc2
+ td = searcher.search(new TermQuery(new Term("id", "doc2")), 1,
+ new Sort(new SortField("ndv", SortField.Type.LONG)));
+ assertEquals(0L, ((FieldDoc)td.scoreDocs[0]).fields[0]);
+ // doc4
+ td = searcher.search(new TermQuery(new Term("id", "doc4")), 1,
+ new Sort(new SortField("ndv", SortField.Type.LONG)));
+ assertEquals(0L, ((FieldDoc)td.scoreDocs[0]).fields[0]);
+ reader.close();
+
+ dir.close();
+ }
+
+ @Test
public void testUpdateSegmentWithPostingButNoDocValues() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(new MockAnalyzer(random()));
@@ -1155,7 +1249,7 @@ public class TestNumericDocValuesUpdates
dir.close();
}
- @Test
+ @Test @Nightly
public void testTonsOfUpdates() throws Exception {
// LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
Directory dir = newDirectory();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPrefixCodedTerms.java Thu Nov 27 13:42:25 2014
@@ -113,7 +113,9 @@ public class TestPrefixCodedTerms extend
}
Iterator<Term> expected = superSet.iterator();
- Iterator<Term> actual = new MergedIterator<>(subs.toArray(new Iterator[0]));
+ // NOTE: currenlty using diamond operator on MergedIterator (without explicit Term class) causes
+ // errors on Eclipse Compiler (ecj) used for javadoc lint
+ Iterator<Term> actual = new MergedIterator<Term>(subs.toArray(new Iterator[0]));
while (actual.hasNext()) {
assertTrue(expected.hasNext());
assertEquals(expected.next(), actual.next());
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java Thu Nov 27 13:42:25 2014
@@ -330,7 +330,8 @@ public class TestStressIndexing2 extends
final Bits liveDocs2 = MultiFields.getLiveDocs(r2);
Fields fields = MultiFields.getFields(r2);
- if (fields == null) {
+ Terms terms2 = fields.terms(idField);
+ if (fields.size() == 0 || terms2 == null) {
// make sure r1 is in fact empty (eg has only all
// deleted docs):
Bits liveDocs = MultiFields.getLiveDocs(r1);
@@ -343,7 +344,6 @@ public class TestStressIndexing2 extends
}
return;
}
- Terms terms2 = fields.terms(idField);
TermsEnum termsEnum2 = terms2.iterator(null);
DocsEnum termDocs1 = null;
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java Thu Nov 27 13:42:25 2014
@@ -22,12 +22,12 @@ import org.apache.lucene.analysis.MockAn
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -391,4 +391,23 @@ public class TestBooleanQuery extends Lu
dir.close();
}
+ public void testMinShouldMatchLeniency() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(new MockAnalyzer(random())));
+ Document doc = new Document();
+ doc.add(newTextField("field", "a b c d", Field.Store.NO));
+ w.addDocument(doc);
+ IndexReader r = DirectoryReader.open(w, true);
+ IndexSearcher s = newSearcher(r);
+ BooleanQuery bq = new BooleanQuery();
+ bq.add(new TermQuery(new Term("field", "a")), BooleanClause.Occur.SHOULD);
+ bq.add(new TermQuery(new Term("field", "b")), BooleanClause.Occur.SHOULD);
+
+ // No doc can match: BQ has only 2 clauses and we are asking for minShouldMatch=4
+ bq.setMinimumNumberShouldMatch(4);
+ assertEquals(0, s.search(bq, 1).totalHits);
+ r.close();
+ w.close();
+ dir.close();
+ }
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java Thu Nov 27 13:42:25 2014
@@ -28,10 +28,12 @@ import java.util.TreeMap;
import org.apache.lucene.document.DateTools;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
/** Unit test for sorting code. */
@@ -58,7 +60,7 @@ public class TestCustomSearcherSort exte
Document doc = new Document();
if ((i % 5) != 0) { // some documents must not have an entry in the first
// sort field
- doc.add(newStringField("publicationDate_", random.getLuceneDate(), Field.Store.YES));
+ doc.add(new SortedDocValuesField("publicationDate_", new BytesRef(random.getLuceneDate())));
}
if ((i % 7) == 0) { // some documents to match the query (see below)
doc.add(newTextField("content", "test", Field.Store.YES));
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestFilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestFilteredQuery.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestFilteredQuery.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestFilteredQuery.java Thu Nov 27 13:42:25 2014
@@ -24,6 +24,7 @@ import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.DocsEnum;
@@ -35,6 +36,7 @@ import org.apache.lucene.search.Filtered
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BitDocIdSet;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
@@ -65,21 +67,25 @@ public class TestFilteredQuery extends L
Document doc = new Document();
doc.add (newTextField("field", "one two three four five", Field.Store.YES));
doc.add (newTextField("sorter", "b", Field.Store.YES));
+ doc.add (new SortedDocValuesField("sorter", new BytesRef("b")));
writer.addDocument (doc);
doc = new Document();
doc.add (newTextField("field", "one two three four", Field.Store.YES));
doc.add (newTextField("sorter", "d", Field.Store.YES));
+ doc.add (new SortedDocValuesField("sorter", new BytesRef("d")));
writer.addDocument (doc);
doc = new Document();
doc.add (newTextField("field", "one two three y", Field.Store.YES));
doc.add (newTextField("sorter", "a", Field.Store.YES));
+ doc.add (new SortedDocValuesField("sorter", new BytesRef("a")));
writer.addDocument (doc);
doc = new Document();
doc.add (newTextField("field", "one two x", Field.Store.YES));
doc.add (newTextField("sorter", "c", Field.Store.YES));
+ doc.add (new SortedDocValuesField("sorter", new BytesRef("c")));
writer.addDocument (doc);
// tests here require single segment (eg try seed
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java Thu Nov 27 13:42:25 2014
@@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -48,6 +49,7 @@ public class TestIndexSearcher extends L
Document doc = new Document();
doc.add(newStringField("field", Integer.toString(i), Field.Store.NO));
doc.add(newStringField("field2", Boolean.toString(i % 2 == 0), Field.Store.NO));
+ doc.add(new SortedDocValuesField("field2", new BytesRef(Boolean.toString(i % 2 == 0))));
iw.addDocument(doc);
}
reader = iw.getReader();
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestSearchAfter.java Thu Nov 27 13:42:25 2014
@@ -21,15 +21,13 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Random;
import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.DoubleField;
+import org.apache.lucene.document.DoubleDocValuesField;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FloatDocValuesField;
-import org.apache.lucene.document.FloatField;
-import org.apache.lucene.document.IntField;
-import org.apache.lucene.document.LongField;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.StoredField;
@@ -63,22 +61,12 @@ public class TestSearchAfter extends Luc
new SortField("double", SortField.Type.DOUBLE, false),
new SortField("bytes", SortField.Type.STRING, false),
new SortField("bytesval", SortField.Type.STRING_VAL, false),
- new SortField("intdocvalues", SortField.Type.INT, false),
- new SortField("floatdocvalues", SortField.Type.FLOAT, false),
- new SortField("sortedbytesdocvalues", SortField.Type.STRING, false),
- new SortField("sortedbytesdocvaluesval", SortField.Type.STRING_VAL, false),
- new SortField("straightbytesdocvalues", SortField.Type.STRING_VAL, false),
new SortField("int", SortField.Type.INT, true),
new SortField("long", SortField.Type.LONG, true),
new SortField("float", SortField.Type.FLOAT, true),
new SortField("double", SortField.Type.DOUBLE, true),
new SortField("bytes", SortField.Type.STRING, true),
new SortField("bytesval", SortField.Type.STRING_VAL, true),
- new SortField("intdocvalues", SortField.Type.INT, true),
- new SortField("floatdocvalues", SortField.Type.FLOAT, true),
- new SortField("sortedbytesdocvalues", SortField.Type.STRING, true),
- new SortField("sortedbytesdocvaluesval", SortField.Type.STRING_VAL, true),
- new SortField("straightbytesdocvalues", SortField.Type.STRING_VAL, true),
SortField.FIELD_SCORE,
SortField.FIELD_DOC,
}));
@@ -136,26 +124,19 @@ public class TestSearchAfter extends Luc
dir = newDirectory();
RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
int numDocs = atLeast(200);
+ Random r = random();
for (int i = 0; i < numDocs; i++) {
List<Field> fields = new ArrayList<>();
fields.add(newTextField("english", English.intToEnglish(i), Field.Store.NO));
fields.add(newTextField("oddeven", (i % 2 == 0) ? "even" : "odd", Field.Store.NO));
- fields.add(newStringField("byte", "" + ((byte) random().nextInt()), Field.Store.NO));
- fields.add(newStringField("short", "" + ((short) random().nextInt()), Field.Store.NO));
- fields.add(new IntField("int", random().nextInt(), Field.Store.NO));
- fields.add(new LongField("long", random().nextLong(), Field.Store.NO));
-
- fields.add(new FloatField("float", random().nextFloat(), Field.Store.NO));
- fields.add(new DoubleField("double", random().nextDouble(), Field.Store.NO));
- fields.add(newStringField("bytes", TestUtil.randomRealisticUnicodeString(random()), Field.Store.NO));
- fields.add(newStringField("bytesval", TestUtil.randomRealisticUnicodeString(random()), Field.Store.NO));
- fields.add(new DoubleField("double", random().nextDouble(), Field.Store.NO));
-
- fields.add(new NumericDocValuesField("intdocvalues", random().nextInt()));
- fields.add(new FloatDocValuesField("floatdocvalues", random().nextFloat()));
- fields.add(new SortedDocValuesField("sortedbytesdocvalues", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
- fields.add(new SortedDocValuesField("sortedbytesdocvaluesval", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
- fields.add(new BinaryDocValuesField("straightbytesdocvalues", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
+ fields.add(new NumericDocValuesField("byte", (byte) r.nextInt()));
+ fields.add(new NumericDocValuesField("short", (short) r.nextInt()));
+ fields.add(new NumericDocValuesField("int", r.nextInt()));
+ fields.add(new NumericDocValuesField("long", r.nextLong()));
+ fields.add(new FloatDocValuesField("float", r.nextFloat()));
+ fields.add(new DoubleDocValuesField("double", r.nextDouble()));
+ fields.add(new SortedDocValuesField("bytes", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
+ fields.add(new BinaryDocValuesField("bytesval", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
Document document = new Document();
document.add(new StoredField("id", ""+i));
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestShardSearching.java Thu Nov 27 13:42:25 2014
@@ -219,9 +219,9 @@ public class TestShardSearching extends
//sort = new Sort(SortField.FIELD_DOC);
sort = null;
} else if (what == 2) {
- sort = new Sort(new SortField[] {new SortField("docid_int", SortField.Type.INT, random().nextBoolean())});
+ sort = new Sort(new SortField[] {new SortField("docid_intDV", SortField.Type.INT, random().nextBoolean())});
} else {
- sort = new Sort(new SortField[] {new SortField("title", SortField.Type.STRING, random().nextBoolean())});
+ sort = new Sort(new SortField[] {new SortField("titleDV", SortField.Type.STRING, random().nextBoolean())});
}
}
} else {
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTopDocsMerge.java Thu Nov 27 13:42:25 2014
@@ -19,8 +19,11 @@ package org.apache.lucene.search;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FloatDocValuesField;
import org.apache.lucene.document.FloatField;
import org.apache.lucene.document.IntField;
+import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.CompositeReaderContext;
import org.apache.lucene.index.IndexReader;
@@ -29,6 +32,7 @@ import org.apache.lucene.index.RandomInd
import org.apache.lucene.index.ReaderUtil;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
@@ -103,9 +107,9 @@ public class TestTopDocsMerge extends Lu
for(int docIDX=0;docIDX<numDocs;docIDX++) {
final Document doc = new Document();
- doc.add(newStringField("string", TestUtil.randomRealisticUnicodeString(random()), Field.Store.NO));
+ doc.add(new SortedDocValuesField("string", new BytesRef(TestUtil.randomRealisticUnicodeString(random()))));
doc.add(newTextField("text", content[random().nextInt(content.length)], Field.Store.NO));
- doc.add(new FloatField("float", random().nextFloat(), Field.Store.NO));
+ doc.add(new FloatDocValuesField("float", random().nextFloat()));
final int intValue;
if (random().nextInt(100) == 17) {
intValue = Integer.MIN_VALUE;
@@ -114,7 +118,7 @@ public class TestTopDocsMerge extends Lu
} else {
intValue = random().nextInt();
}
- doc.add(new IntField("int", intValue, Field.Store.NO));
+ doc.add(new NumericDocValuesField("int", intValue));
if (VERBOSE) {
System.out.println(" doc=" + doc);
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java Thu Nov 27 13:42:25 2014
@@ -83,6 +83,22 @@ public class TestNearSpansOrdered extend
protected SpanNearQuery makeQuery() {
return makeQuery("w1","w2","w3",1,true);
}
+
+ protected SpanNearQuery makeOverlappedQuery(
+ String sqt1, String sqt2, boolean sqOrdered,
+ String t3, boolean ordered) {
+ return new SpanNearQuery(
+ new SpanQuery[] {
+ new SpanNearQuery(new SpanQuery[] {
+ new SpanTermQuery(new Term(FIELD, sqt1)),
+ new SpanTermQuery(new Term(FIELD, sqt2)) },
+ 1,
+ sqOrdered
+ ),
+ new SpanTermQuery(new Term(FIELD, t3)) },
+ 0,
+ ordered);
+ }
public void testSpanNearQuery() throws Exception {
SpanNearQuery q = makeQuery();
@@ -171,6 +187,22 @@ public class TestNearSpansOrdered extend
Scorer s = w.scorer(leave, DocsEnum.FLAG_POSITIONS, leave.reader().getLiveDocs());
assertEquals(1, s.advance(1));
}
+
+ public void testOverlappedOrderedSpan() throws Exception {
+ SpanNearQuery q = makeOverlappedQuery("w5", "w3", false, "w4", true);
+ CheckHits.checkHits(random(), q, FIELD, searcher, new int[] {});
+ }
+
+ public void testOverlappedNonOrderedSpan() throws Exception {
+ SpanNearQuery q = makeOverlappedQuery("w3", "w5", true, "w4", false);
+ CheckHits.checkHits(random(), q, FIELD, searcher, new int[] {0});
+ }
+
+ public void testNonOverlappedOrderedSpan() throws Exception {
+ SpanNearQuery q = makeOverlappedQuery("w3", "w4", true, "w5", true);
+ CheckHits.checkHits(random(), q, FIELD, searcher, new int[] {0});
+ }
+
/**
* not a direct test of NearSpans, but a demonstration of how/when
@@ -183,5 +215,4 @@ public class TestNearSpansOrdered extend
+ e.toString(),
0.0f < e.getValue());
}
-
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java Thu Nov 27 13:42:25 2014
@@ -241,7 +241,8 @@ public class TestMultiMMap extends BaseD
}
public void testSeeking() throws Exception {
- for (int i = 0; i < 10; i++) {
+ int numIters = TEST_NIGHTLY ? 10 : 1;
+ for (int i = 0; i < numIters; i++) {
MMapDirectory mmapDir = new MMapDirectory(createTempDir("testSeeking"), 1<<i);
IndexOutput io = mmapDir.createOutput("bytes", newIOContext(random()));
byte bytes[] = new byte[1<<(i+1)]; // make sure we switch buffers
@@ -268,7 +269,8 @@ public class TestMultiMMap extends BaseD
// note instead of seeking to offset and reading length, this opens slices at the
// the various offset+length and just does readBytes.
public void testSlicedSeeking() throws Exception {
- for (int i = 0; i < 10; i++) {
+ int numIters = TEST_NIGHTLY ? 10 : 1;
+ for (int i = 0; i < numIters; i++) {
MMapDirectory mmapDir = new MMapDirectory(createTempDir("testSlicedSeeking"), 1<<i);
IndexOutput io = mmapDir.createOutput("bytes", newIOContext(random()));
byte bytes[] = new byte[1<<(i+1)]; // make sure we switch buffers
@@ -328,7 +330,7 @@ public class TestMultiMMap extends BaseD
}
public void testRandomChunkSizes() throws Exception {
- int num = atLeast(10);
+ int num = TEST_NIGHTLY ? atLeast(10) : 3;
for (int i = 0; i < num; i++) {
assertChunking(random(), TestUtil.nextInt(random(), 20, 100));
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimitedDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimitedDirectoryWrapper.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimitedDirectoryWrapper.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimitedDirectoryWrapper.java Thu Nov 27 13:42:25 2014
@@ -19,6 +19,8 @@ package org.apache.lucene.store;
import java.nio.file.Path;
+import org.apache.lucene.util.TestUtil;
+
public class TestRateLimitedDirectoryWrapper extends BaseDirectoryTestCase {
@Override
@@ -29,7 +31,7 @@ public class TestRateLimitedDirectoryWra
((MockDirectoryWrapper)in).setEnableVirusScanner(false);
}
RateLimitedDirectoryWrapper dir = new RateLimitedDirectoryWrapper(in);
- RateLimiter limiter = new RateLimiter.SimpleRateLimiter(.1 + 3*random().nextDouble());
+ RateLimiter limiter = new RateLimiter.SimpleRateLimiter(TestUtil.nextInt(random(), 10, 40));
dir.setRateLimiter(limiter, IOContext.Context.MERGE);
return dir;
}
Modified: lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java?rev=1642150&r1=1642149&r2=1642150&view=diff
==============================================================================
--- lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java (original)
+++ lucene/dev/branches/lucene2878/lucene/core/src/test/org/apache/lucene/store/TestRateLimiter.java Thu Nov 27 13:42:25 2014
@@ -17,10 +17,8 @@ package org.apache.lucene.store;
* limitations under the License.
*/
-import java.util.Locale;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.lucene.store.RateLimiter.SimpleRateLimiter;
@@ -44,6 +42,24 @@ public final class TestRateLimiter exten
assertTrue("we should sleep at least 1 second but did only: " + convert + " millis", convert > 1000l);
}
+ // LUCENE-6075
+ public void testOverflowInt() throws Exception {
+ Thread t = new Thread() {
+ @Override
+ public void run() {
+ try {
+ new SimpleRateLimiter(1).pause((long) (1.5*Integer.MAX_VALUE*1024*1024/1000));
+ fail("should have been interrupted");
+ } catch (ThreadInterruptedException tie) {
+ // expected
+ }
+ }
+ };
+ t.start();
+ Thread.sleep(10);
+ t.interrupt();
+ }
+
public void testThreads() throws Exception {
double targetMBPerSec = 10.0 + 20 * random().nextDouble();