summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2016-07-04 15:54:40 +0200
committerGitHub <noreply@github.com>2016-07-04 15:54:40 +0200
commit1758e64338c4076c222e6c04b8c481f33bb462fc (patch)
treea5e2393d3047788f795a3b3e76c5e7f8fad615e5
parent5d6f0cf51a49102ddf798de2193199677bafdb31 (diff)
parent86e3502bca6d410786c73379336f238495240bfe (diff)
Merge pull request #296 from yahoo/bratseth/dont-create-renderer-threads-in-tests
Bratseth/dont create renderer threads in tests
-rw-r--r--container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java23
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java14
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java22
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/QuerySnapshotSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/QueryValidatingSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/QuotingSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidatePredicateSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidateSortingSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/semantics/test/BacktrackingTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/semantics/test/ConfigurationTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/semantics/test/InheritanceTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/semantics/test/RuleBaseAbstractTestCase.java4
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/semantics/test/SemanticSearcherTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/templates/test/TilingTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/test/RankFeatureDumpTestCase.java3
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchers/test/ValidateMatchPhaseSearcherTestCase.java3
20 files changed, 97 insertions, 21 deletions
diff --git a/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java b/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
index eeb4a2ef36d..8e0c1d99a81 100644
--- a/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
+++ b/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
@@ -113,7 +113,8 @@ public abstract class AsynchronousSectionedRenderer<RESPONSE extends Response> e
// Rendering threads should never block so use one thread per core.
// We should complete any work we have already started so use an unbounded queue.
// The executor SHOULD be reused across all instances having the same prototype
- private final ThreadPoolExecutor renderingExecutor = createExecutor();
+ private final Executor renderingExecutor;
+
private static ThreadPoolExecutor createExecutor() {
int threadCount = Runtime.getRuntime().availableProcessors();
ThreadPoolExecutor executor = new ThreadPoolExecutor(threadCount, threadCount, 1L, TimeUnit.SECONDS,
@@ -138,7 +139,18 @@ public abstract class AsynchronousSectionedRenderer<RESPONSE extends Response> e
* before use.
*/
public AsynchronousSectionedRenderer() {
+ this(null);
+ }
+
+ /**
+ * Create an renderer using the specified executor instead of the default one which should be used for production.
+ * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry.
+ *
+ * @param executor the executor to use or null to use the default executor suitable for production
+ */
+ public AsynchronousSectionedRenderer(Executor executor) {
isInitialized = false;
+ renderingExecutor = executor==null ? createExecutor() : executor;
}
/**
@@ -172,9 +184,14 @@ public abstract class AsynchronousSectionedRenderer<RESPONSE extends Response> e
@Override
public void deconstruct() {
super.deconstruct();
- renderingExecutor.shutdown();
+ if (renderingExecutor instanceof ThreadPoolExecutor)
+ shutdown((ThreadPoolExecutor) renderingExecutor);
+ }
+
+ private void shutdown(ThreadPoolExecutor executor) {
+ executor.shutdown();
try {
- if (renderingExecutor.awaitTermination(30, TimeUnit.SECONDS))
+ if (executor.awaitTermination(30, TimeUnit.SECONDS))
throw new RuntimeException("Rendering thread pool did not shutdown in 30 seconds");
}
catch (InterruptedException e) {
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
index de817d95393..3cf5d2cb3e5 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.rendering;
+import com.fasterxml.jackson.core.JsonFactory;
import com.yahoo.concurrent.CopyOnWriteHashMap;
import com.yahoo.io.ByteWriter;
import com.yahoo.net.URI;
@@ -29,6 +30,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.util.Iterator;
import java.util.Map;
+import java.util.concurrent.Executor;
// TODO: Rename to XmlRenderer and make this a deprecated empty subclass.
@@ -73,6 +75,18 @@ public final class DefaultRenderer extends AsynchronousSectionedRenderer<Result>
private XMLWriter writer;
+ public DefaultRenderer() {
+ this(null);
+ }
+
+ /**
+ * Creates a json renderer using a custom executor.
+ * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry.
+ */
+ public DefaultRenderer(Executor executor) {
+ super(executor);
+ }
+
@Override
public void init() {
super.init();
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
index 94fe5dd446d..3111074b1fc 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
@@ -13,6 +13,7 @@ import java.util.Collections;
import java.util.Deque;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.Executor;
import java.util.function.LongSupplier;
import org.json.JSONArray;
@@ -269,6 +270,15 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> {
}
public JsonRenderer() {
+ this(null);
+ }
+
+ /**
+ * Creates a json renderer using a custom executor.
+ * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry.
+ */
+ public JsonRenderer(Executor executor) {
+ super(executor);
generatorFactory = new JsonFactory();
generatorFactory.setCodec(createJsonCodec());
}
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
index b60c58fd90f..c1b15ecbbc2 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/RendererRegistry.java
@@ -13,6 +13,7 @@ import com.yahoo.search.Result;
import java.util.Collection;
import java.util.Collections;
+import java.util.concurrent.Executor;
/**
* Holds all configured and built-in renderers.
@@ -31,15 +32,32 @@ public final class RendererRegistry extends ComponentRegistry<com.yahoo.processi
this(Collections.emptyList());
}
+ /**
+ * Creates a registry containing the built-in renderers only, using a custom executor.
+ * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry:
+ * Use MoreExecutors.directExecutor().
+ */
+ public RendererRegistry(Executor executor) {
+ this(Collections.emptyList(), executor);
+ }
+
/** Creates a registry of the given renderers plus the built-in ones */
public RendererRegistry(Collection<Renderer> renderers) {
+ this(renderers, null);
+ }
+
+ /**
+ * Creates a registry of the given renderers plus the built-in ones, using a custom executor.
+ * Using a custom executor is useful for tests to avoid creating new threads for each renderer registry.
+ */
+ public RendererRegistry(Collection<Renderer> renderers, Executor executor) {
// add json renderer
- Renderer jsonRenderer = new JsonRenderer();
+ Renderer jsonRenderer = new JsonRenderer(executor);
jsonRenderer.initId(RendererRegistry.jsonRendererId);
register(jsonRenderer.getId(), jsonRenderer);
// Add xml renderer
- Renderer xmlRenderer = new DefaultRenderer();
+ Renderer xmlRenderer = new DefaultRenderer(executor);
xmlRenderer.initId(xmlRendererId);
register(xmlRenderer.getId(), xmlRenderer);
diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
index ea1494f6168..9b75c3224cd 100644
--- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/PartialFillTestCase.java
@@ -2,6 +2,7 @@
package com.yahoo.prelude.fastsearch.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.fs4.QueryPacket;
import com.yahoo.language.Linguistics;
@@ -147,7 +148,7 @@ public class PartialFillTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
index 8642adfd2d4..8171ff43a52 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/FieldCollapsingSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -449,7 +450,7 @@ public class FieldCollapsingSearcherTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher, Map<Searcher, Searcher> chained) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher, chained), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
index 0eb0953511b..c6e30b9a4b8 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/PosSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -179,7 +180,7 @@ public class PosSearcherTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuerySnapshotSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuerySnapshotSearcherTestCase.java
index 2cda888a2e2..3b292dc3966 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuerySnapshotSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuerySnapshotSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -36,7 +37,7 @@ public class QuerySnapshotSearcherTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QueryValidatingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QueryValidatingSearcherTestCase.java
index ee69fa92a17..2720f6c3562 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QueryValidatingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QueryValidatingSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -73,7 +74,7 @@ public class QueryValidatingSearcherTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher, Map<Searcher, Searcher> chained) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher, chained), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuotingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuotingSearcherTestCase.java
index 4dd8480c84c..76c48368cf3 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuotingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/QuotingSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.ComponentId;
import com.yahoo.component.chain.Chain;
import com.yahoo.config.subscription.ConfigGetter;
@@ -133,7 +134,7 @@ public class QuotingSearcherTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher, Map<Searcher, Searcher> chained) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher, chained), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidatePredicateSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidatePredicateSearcherTestCase.java
index 3c3c6c921e3..7dec7aed8a2 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidatePredicateSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidatePredicateSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.prelude.Index;
@@ -59,7 +60,7 @@ public class ValidatePredicateSearcherTestCase {
Map<String, SearchDefinition> searchDefinitionMap = new HashMap<>();
searchDefinitionMap.put("document", searchDefinition);
IndexFacts indexFacts = new IndexFacts(new IndexModel(masterClusters, searchDefinitionMap, searchDefinition));
- Execution.Context context = new Execution.Context(null, indexFacts, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, indexFacts, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(searcher, context).search(query);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidateSortingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidateSortingSearcherTestCase.java
index 143604844df..10e0342ef93 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidateSortingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/ValidateSortingSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.searcher.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -107,7 +108,7 @@ public class ValidateSortingSearcherTestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/BacktrackingTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/BacktrackingTestCase.java
index eac1c0cf002..5b64d240042 100644
--- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/BacktrackingTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/BacktrackingTestCase.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -90,7 +91,7 @@ public class BacktrackingTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ConfigurationTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ConfigurationTestCase.java
index 4619a07ad74..2a0bfe81222 100644
--- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/ConfigurationTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/ConfigurationTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.semantics.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.config.subscription.ConfigGetter;
import com.yahoo.language.Linguistics;
@@ -120,7 +121,7 @@ public class ConfigurationTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/InheritanceTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/InheritanceTestCase.java
index c86db996f68..9f865c21ca6 100644
--- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/InheritanceTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/InheritanceTestCase.java
@@ -5,6 +5,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -155,7 +156,7 @@ public class InheritanceTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/RuleBaseAbstractTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/RuleBaseAbstractTestCase.java
index 102f4c95926..87835c08127 100644
--- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/RuleBaseAbstractTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/RuleBaseAbstractTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.semantics.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -15,6 +16,7 @@ import com.yahoo.search.test.QueryTestCase;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.Executors;
/**
* Tests semantic searching
@@ -71,7 +73,7 @@ public abstract class RuleBaseAbstractTestCase extends junit.framework.TestCase
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/semantics/test/SemanticSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/semantics/test/SemanticSearcherTestCase.java
index 8d4ef630fe7..0cb3f5dcba1 100644
--- a/container-search/src/test/java/com/yahoo/prelude/semantics/test/SemanticSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/semantics/test/SemanticSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.semantics.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -151,7 +152,7 @@ public class SemanticSearcherTestCase extends RuleBaseAbstractTestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/prelude/templates/test/TilingTestCase.java b/container-search/src/test/java/com/yahoo/prelude/templates/test/TilingTestCase.java
index d7134ebe405..40d68a29a71 100644
--- a/container-search/src/test/java/com/yahoo/prelude/templates/test/TilingTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/templates/test/TilingTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.templates.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.io.IOUtils;
import com.yahoo.language.Linguistics;
@@ -67,7 +68,7 @@ public class TilingTestCase extends junit.framework.TestCase {
}
private Result callSearchAndSetRenderer(Chain<Searcher> chain, Query query) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
Result result = new Execution(chain, context).search(query);
result.getTemplating().setRenderer(new SearchRendererAdaptor(new TiledTemplateSet()));
return result;
diff --git a/container-search/src/test/java/com/yahoo/prelude/test/RankFeatureDumpTestCase.java b/container-search/src/test/java/com/yahoo/prelude/test/RankFeatureDumpTestCase.java
index 16d1b92260f..42acf0f7a1b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/test/RankFeatureDumpTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/test/RankFeatureDumpTestCase.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.language.Linguistics;
import com.yahoo.language.simple.SimpleLinguistics;
@@ -56,7 +57,7 @@ public class RankFeatureDumpTestCase extends junit.framework.TestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}
diff --git a/container-search/src/test/java/com/yahoo/search/searchers/test/ValidateMatchPhaseSearcherTestCase.java b/container-search/src/test/java/com/yahoo/search/searchers/test/ValidateMatchPhaseSearcherTestCase.java
index 6453c3928de..31457c51011 100644
--- a/container-search/src/test/java/com/yahoo/search/searchers/test/ValidateMatchPhaseSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/searchers/test/ValidateMatchPhaseSearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.searchers.test;
+import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.config.subscription.ConfigGetter;
import com.yahoo.config.subscription.RawSource;
@@ -107,7 +108,7 @@ public class ValidateMatchPhaseSearcherTestCase {
}
private Execution createExecution(Searcher searcher) {
- Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(), new SimpleLinguistics());
+ Execution.Context context = new Execution.Context(null, null, null, new RendererRegistry(MoreExecutors.directExecutor()), new SimpleLinguistics());
return new Execution(chainedAsSearchChain(searcher), context);
}