You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/03/01 14:59:11 UTC
svn commit: r1663106 - in /lucene/dev/trunk/lucene:
core/src/java/org/apache/lucene/search/
core/src/test/org/apache/lucene/search/
test-framework/src/java/org/apache/lucene/util/
Author: jpountz
Date: Sun Mar 1 13:59:10 2015
New Revision: 1663106
URL: http://svn.apache.org/r1663106
Log:
LUCENE-6303: Make tests reproducible again.
Modified:
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1663106&r1=1663105&r2=1663106&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java Sun Mar 1 13:59:10 2015
@@ -75,8 +75,8 @@ import org.apache.lucene.util.ThreadInte
public class IndexSearcher {
// 32MB and at most 10,000 queries
- private static final QueryCache DEFAULT_QUERY_CACHE = new LRUQueryCache(10000, 1 << 25);
- private static final QueryCachingPolicy DEFAULT_CACHING_POLICY = new UsageTrackingQueryCachingPolicy();
+ private static QueryCache DEFAULT_QUERY_CACHE = new LRUQueryCache(10000, 1 << 25);
+ private static QueryCachingPolicy DEFAULT_CACHING_POLICY = new UsageTrackingQueryCachingPolicy();
final IndexReader reader; // package private for testing!
@@ -106,7 +106,23 @@ public class IndexSearcher {
public static Similarity getDefaultSimilarity() {
return defaultSimilarity;
}
-
+
+ /**
+ * Expert: set the default {@link QueryCache} instance.
+ * @lucene.internal
+ */
+ public static void setDefaultQueryCache(QueryCache defaultQueryCache) {
+ DEFAULT_QUERY_CACHE = defaultQueryCache;
+ }
+
+ /**
+ * Expert: set the default {@link QueryCachingPolicy} instance.
+ * @lucene.internal
+ */
+ public static void setDefaultQueryCachingPolicy(QueryCachingPolicy defaultQueryCachingPolicy) {
+ DEFAULT_CACHING_POLICY = defaultQueryCachingPolicy;
+ }
+
/** The Similarity implementation used by this searcher. */
private Similarity similarity = defaultSimilarity;
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1663106&r1=1663105&r2=1663106&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java Sun Mar 1 13:59:10 2015
@@ -602,7 +602,8 @@ public class TestBooleanQuery extends Lu
w.commit();
DirectoryReader reader = w.getReader();
- final IndexSearcher searcher = new IndexSearcher(reader);
+ final IndexSearcher searcher = newSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
@@ -633,6 +634,7 @@ public class TestBooleanQuery extends Lu
DirectoryReader reader = w.getReader();
final IndexSearcher searcher = new IndexSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
@@ -662,7 +664,8 @@ public class TestBooleanQuery extends Lu
w.commit();
DirectoryReader reader = w.getReader();
- final IndexSearcher searcher = new IndexSearcher(reader);
+ final IndexSearcher searcher = newSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
@@ -693,6 +696,7 @@ public class TestBooleanQuery extends Lu
DirectoryReader reader = w.getReader();
final IndexSearcher searcher = new IndexSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
@@ -723,6 +727,7 @@ public class TestBooleanQuery extends Lu
DirectoryReader reader = w.getReader();
final IndexSearcher searcher = new IndexSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java?rev=1663106&r1=1663105&r2=1663106&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java Sun Mar 1 13:59:10 2015
@@ -214,7 +214,8 @@ public class TestConstantScoreQuery exte
w.commit();
DirectoryReader reader = w.getReader();
- final IndexSearcher searcher = new IndexSearcher(reader);
+ final IndexSearcher searcher = newSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
PhraseQuery pq = new PhraseQuery();
pq.add(new Term("field", "a"));
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java?rev=1663106&r1=1663105&r2=1663106&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java Sun Mar 1 13:59:10 2015
@@ -203,6 +203,7 @@ public class TestQueryWrapperFilter exte
final IndexReader reader = writer.getReader();
writer.close();
final IndexSearcher searcher = new IndexSearcher(reader);
+ searcher.setQueryCache(null); // to still have approximations
final Query query = new QueryWrapperFilter(new RandomApproximationQuery(new TermQuery(new Term("foo", "bar")), random()));
final Weight weight = searcher.createNormalizedWeight(query, random().nextBoolean());
final Scorer scorer = weight.scorer(reader.leaves().get(0), null);
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java?rev=1663106&r1=1663105&r2=1663106&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java Sun Mar 1 13:59:10 2015
@@ -95,6 +95,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.TermsEnum.SeekStatus;
import org.apache.lucene.search.AssertingIndexSearcher;
import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.LRUQueryCache;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.QueryCachingPolicy;
import org.apache.lucene.search.IndexSearcher;
@@ -1649,6 +1650,12 @@ public abstract class LuceneTestCase ext
}
}
+ @Before
+ public void resetDefaultQueryCache() {
+ IndexSearcher.setDefaultQueryCache(new LRUQueryCache(10000, 1 << 25));
+ IndexSearcher.setDefaultQueryCachingPolicy(MAYBE_CACHE_POLICY);
+ }
+
/**
* Create a new searcher over the reader. This searcher might randomly use
* threads.
@@ -1700,7 +1707,6 @@ public abstract class LuceneTestCase ext
ret = random.nextBoolean() ? new IndexSearcher(r) : new IndexSearcher(r.getContext());
}
ret.setSimilarity(classEnvRule.similarity);
- ret.setQueryCachingPolicy(MAYBE_CACHE_POLICY);
return ret;
} else {
int threads = 0;