summaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/searchchain
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-10-08 13:52:48 +0200
committerJon Bratseth <bratseth@gmail.com>2021-10-08 13:52:48 +0200
commit475f0c93523daa1c3c53786ee8a9a9aee6702204 (patch)
treed20932871aa4c917052f2e37dde77c5d4a880e39 /container-search/src/test/java/com/yahoo/search/searchchain
parent9d435e48c742b3efc94c68c02da835c5f5298255 (diff)
Use the executor from the context
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/searchchain')
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionOfOneChainTestCase.java4
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java58
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchchain/VespaAsyncSearcherTest.java11
3 files changed, 26 insertions, 47 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionOfOneChainTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionOfOneChainTestCase.java
index 74d74e96b05..f0be6a25f92 100644
--- a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionOfOneChainTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionOfOneChainTestCase.java
@@ -58,12 +58,12 @@ public class AsyncExecutionOfOneChainTestCase {
public Result search(Query query, Execution execution) {
List<FutureResult> futureResults = new ArrayList<>(parallelism);
for (int i = 0; i < parallelism; i++)
- futureResults.add(new AsyncExecution(execution).search(query.clone(), executor));
+ futureResults.add(new AsyncExecution(execution).search(query.clone()));
Result mainResult = execution.search(query);
// Add hits from other threads
- AsyncExecution.waitForAll(futureResults,query.getTimeLeft(), executor);
+ AsyncExecution.waitForAll(futureResults,query.getTimeLeft());
for (FutureResult futureResult : futureResults) {
Result result = futureResult.get();
mainResult.mergeWith(result);
diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java
index ec1c78437b6..8f23c7eef83 100644
--- a/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/searchchain/AsyncExecutionTestCase.java
@@ -7,15 +7,11 @@ import com.yahoo.search.Query;
import com.yahoo.search.Result;
import com.yahoo.search.Searcher;
import com.yahoo.search.result.Hit;
-import org.junit.After;
-import org.junit.Before;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertEquals;
@@ -30,29 +26,17 @@ import static org.junit.Assert.assertTrue;
*/
public class AsyncExecutionTestCase {
- private ExecutorService executor;
-
- @Before
- public void setUp() throws Exception {
- executor = Executors.newFixedThreadPool(16);
- }
-
- @After
- public void tearDown() {
- assertEquals(0, executor.shutdownNow().size());
- }
-
public static class WaitingSearcher extends Searcher {
int waittime;
- private WaitingSearcher(String id,int waittime) {
+ private WaitingSearcher(String id, int waittime) {
super(new ComponentId(id));
this.waittime = waittime;
}
@Override
- public Result search(Query query,Execution execution) {
- Result result=execution.search(query);
+ public Result search(Query query, Execution execution) {
+ Result result = execution.search(query);
if(waittime != 0)
try {
Thread.sleep(waittime);
@@ -64,7 +48,7 @@ public class AsyncExecutionTestCase {
public static class SimpleSearcher extends Searcher {
- public Result search(Query query,Execution execution) {
+ public Result search(Query query, Execution execution) {
return execution.search(query);
}
@@ -79,7 +63,7 @@ public class AsyncExecutionTestCase {
Chain<Searcher> searchChain = new Chain<>(new ComponentId("chain"), searchList);
AsyncExecution asyncExecution = new AsyncExecution(searchChain, Execution.Context.createContextStub());
- FutureResult future = asyncExecution.search(new Query("?hits=0"), executor);
+ FutureResult future = asyncExecution.search(new Query("?hits=0"));
Result result = future.get(0, TimeUnit.MILLISECONDS);
assertNotNull(result.hits().getError());
@@ -98,11 +82,11 @@ public class AsyncExecutionTestCase {
Arrays.asList(new Searcher[]{new SimpleSearcher()})
);
- FutureResult slowFuture = new AsyncExecution(slowChain, Execution.Context.createContextStub()).search(new Query("?hits=0"), executor);
- FutureResult fastFuture = new AsyncExecution(fastChain, Execution.Context.createContextStub()).search(new Query("?hits=0"), executor);
+ FutureResult slowFuture = new AsyncExecution(slowChain, Execution.Context.createContextStub()).search(new Query("?hits=0"));
+ FutureResult fastFuture = new AsyncExecution(fastChain, Execution.Context.createContextStub()).search(new Query("?hits=0"));
fastFuture.get();
FutureResult [] reslist = new FutureResult[]{slowFuture,fastFuture};
- List<Result> results = AsyncExecution.waitForAll(Arrays.asList(reslist),0, executor);
+ List<Result> results = AsyncExecution.waitForAll(Arrays.asList(reslist),0);
//assertTrue(slowFuture.isCancelled());
assertTrue(fastFuture.isDone() && !fastFuture.isCancelled());
@@ -133,26 +117,26 @@ public class AsyncExecutionTestCase {
@Test
public void testAsyncThroughSync() {
- Query query=new Query("?query=test");
- Searcher searcher=new ResultProducingSearcher();
- FutureResult futureResult=new AsyncExecution(new Execution(searcher, Execution.Context.createContextStub())).search(query, executor);
+ Query query = new Query("?query=test");
+ Searcher searcher = new ResultProducingSearcher();
+ FutureResult futureResult = new AsyncExecution(new Execution(searcher, Execution.Context.createContextStub())).search(query);
- List<FutureResult> futureResultList=new ArrayList<>();
+ List<FutureResult> futureResultList = new ArrayList<>();
futureResultList.add(futureResult);
- AsyncExecution.waitForAll(futureResultList,1000, executor);
- Result result=futureResult.get();
+ AsyncExecution.waitForAll(futureResultList, 1000);
+ Result result = futureResult.get();
- assertEquals(1,result.hits().size());
- assertEquals("hello",result.hits().get(0).getField("test"));
+ assertEquals(1, result.hits().size());
+ assertEquals("hello", result.hits().get(0).getField("test"));
}
private static class ResultProducingSearcher extends Searcher {
@Override
- public Result search(Query query,Execution execution) {
- Result result=new Result(query);
- Hit hit=new Hit("test");
- hit.setField("test","hello");
+ public Result search(Query query, Execution execution) {
+ Result result = new Result(query);
+ Hit hit = new Hit("test");
+ hit.setField("test", "hello");
result.hits().add(hit);
return result;
}
@@ -174,7 +158,7 @@ public class AsyncExecutionTestCase {
});
Execution execution = new Execution(chain, Execution.Context.createContextStub());
AsyncExecution async = new AsyncExecution(execution);
- FutureResult future = async.searchAndFill(new Query(), executor);
+ FutureResult future = async.searchAndFill(new Query());
future.get(1, TimeUnit.MILLISECONDS);
}
diff --git a/container-search/src/test/java/com/yahoo/search/searchchain/VespaAsyncSearcherTest.java b/container-search/src/test/java/com/yahoo/search/searchchain/VespaAsyncSearcherTest.java
index 0b893020a16..7ac6ded7877 100644
--- a/container-search/src/test/java/com/yahoo/search/searchchain/VespaAsyncSearcherTest.java
+++ b/container-search/src/test/java/com/yahoo/search/searchchain/VespaAsyncSearcherTest.java
@@ -2,7 +2,6 @@
package com.yahoo.search.searchchain;
import com.yahoo.component.chain.Chain;
-import com.yahoo.concurrent.InThreadExecutorService;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
import com.yahoo.search.Searcher;
@@ -12,7 +11,6 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -40,19 +38,16 @@ public class VespaAsyncSearcherTest {
private static class FirstSearcher extends Searcher {
- private final Executor executor;
- FirstSearcher(Executor executor) { this.executor = executor;}
-
@Override
public Result search(Query query, Execution execution) {
int count = 10;
List<FutureResult> futures = new ArrayList<>(count);
for (int i = 0; i < count; i++) {
Query subQuery = query.clone();
- FutureResult future = new AsyncExecution(execution).search(subQuery, executor);
+ FutureResult future = new AsyncExecution(execution).search(subQuery);
futures.add(future);
}
- AsyncExecution.waitForAll(futures, 10 * 60 * 1000, new InThreadExecutorService());
+ AsyncExecution.waitForAll(futures, 10 * 60 * 1000);
Result combinedResult = new Result(query);
for (FutureResult resultFuture : futures) {
Result result = resultFuture.get();
@@ -75,7 +70,7 @@ public class VespaAsyncSearcherTest {
@Test
public void testAsyncExecution() {
- Chain<Searcher> chain = new Chain<>(new FirstSearcher(executor), new SecondSearcher());
+ Chain<Searcher> chain = new Chain<>(new FirstSearcher(), new SecondSearcher());
Execution execution = new Execution(chain, Execution.Context.createContextStub(null));
Query query = new Query();
execution.search(query);