aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-03-08 13:49:51 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2019-03-08 13:49:51 +0100
commit33447cfd6b15bea1a2a237763831e5d1f92ed682 (patch)
tree42d8c96e4b445e57a558594d90713aae2ddcba52
parentbb9e49ed647fdb06b7daa46ab1d981040c5295ce (diff)
Increase query timeout
-rw-r--r--container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java221
-rw-r--r--container-search/src/test/java/com/yahoo/search/federation/test/FederationTester.java13
-rw-r--r--processing/src/main/java/com/yahoo/processing/execution/chain/ChainRegistry.java1
3 files changed, 119 insertions, 116 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java b/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
index 088a432324d..deb04e80a58 100644
--- a/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
+++ b/container-search/src/test/java/com/yahoo/search/federation/test/FederationSearcherTest.java
@@ -43,75 +43,6 @@ public class FederationSearcherTest {
private static final String hasBeenFilled = "hasBeenFilled";
- private static class AddHitSearcher extends Searcher {
-
- protected Hit hit = createHit();
-
- private Hit createHit() {
- Hit hit = new Hit("dummy");
- hit.setFillable();
- return hit;
- }
-
- @Override
- public Result search(Query query, Execution execution) {
- Result result = execution.search(query);
- result.hits().add(hit);
- return result;
- }
-
- @Override
- public void fill(Result result, String summaryClass, Execution execution) {
- if (firstHit(result) != hit) {
- throw new RuntimeException("Unknown hit");
- }
- firstHit(result).setField(hasBeenFilled, true);
- }
-
- }
-
- private static class TimeoutInFillSearcher extends Searcher {
-
- private Hit createHit(String id) {
- Hit hit = new Hit(id);
- hit.setFillable();
- return hit;
- }
-
- @Override
- public Result search(Query query, Execution execution) {
- Result result = execution.search(query);
- result.hits().add(createHit("timeout1"));
- result.hits().add(createHit("timeout2"));
- return result;
- }
-
- @Override
- public void fill(Result result, String summaryClass, Execution execution) {
- throw new TimeoutException("TimeoutInFillSearcher always time out in fill");
- }
-
- }
-
- private static class ModifyQueryAndAddHitSearcher extends AddHitSearcher {
-
- private final String marker;
-
- ModifyQueryAndAddHitSearcher(String marker) {
- super();
- this.marker = marker;
- }
-
- @Override
- public Result search(Query query, Execution execution) {
- query.getModel().getQueryTree().setRoot(new WordItem(marker));
- Result result = execution.search(query);
- result.hits().add(hit);
- return result;
- }
-
- }
-
@Test
public void require_that_hits_are_not_automatically_filled() {
Result result = federationToSingleAddHitSearcher().search();
@@ -209,6 +140,47 @@ public class FederationSearcherTest {
assertNotNull(result.hits().getError());
}
+ @Test
+ public void custom_federation_target() {
+ ComponentId targetSelectorId = ComponentId.fromString("TargetSelector");
+ ComponentRegistry<TargetSelector> targetSelectors = new ComponentRegistry<>();
+ targetSelectors.register(targetSelectorId, new TestTargetSelector());
+
+ FederationSearcher searcher = new FederationSearcher(
+ new FederationConfig(new FederationConfig.Builder().targetSelector(targetSelectorId.toString())),
+ new StrictContractsConfig(new StrictContractsConfig.Builder()),
+ targetSelectors);
+
+ Result result = new Execution(searcher, Context.createContextStub()).search(new Query());
+ HitGroup myChainGroup = (HitGroup) result.hits().get(0);
+ assertThat(myChainGroup.getId(), is(new URI("source:myChain")));
+ assertThat(myChainGroup.get(0).getId(), is(new URI("myHit")));
+ }
+
+ @Test
+ public void target_selectors_can_have_multiple_targets() {
+ ComponentId targetSelectorId = ComponentId.fromString("TestMultipleTargetSelector");
+ ComponentRegistry<TargetSelector> targetSelectors = new ComponentRegistry<>();
+ targetSelectors.register(targetSelectorId, new TestMultipleTargetSelector());
+
+ FederationSearcher searcher = new FederationSearcher(
+ new FederationConfig(new FederationConfig.Builder().targetSelector(targetSelectorId.toString())),
+ new StrictContractsConfig(new StrictContractsConfig.Builder()),
+ targetSelectors);
+
+ Result result = new Execution(searcher, Context.createContextStub()).search(new Query());
+
+ Iterator<Hit> hitsIterator = result.hits().deepIterator();
+ Hit hit1 = hitsIterator.next();
+ Hit hit2 = hitsIterator.next();
+
+ assertThat(hit1.getSource(), is("chain1"));
+ assertThat(hit2.getSource(), is("chain2"));
+
+ assertThat(hit1.getField("data"), is("modifyTargetQuery:custom-data:1"));
+ assertThat(hit2.getField("data"), is("modifyTargetQuery:custom-data:2"));
+ }
+
private Hit getFirstHit(Hit hitGroup) {
if (hitGroup instanceof HitGroup)
return ((HitGroup) hitGroup).get(0);
@@ -248,24 +220,76 @@ public class FederationSearcherTest {
return ((HitGroup)firstHit(result)).get(0);
}
- @Test
- public void custom_federation_target() {
- ComponentId targetSelectorId = ComponentId.fromString("TargetSelector");
- ComponentRegistry<TargetSelector> targetSelectors = new ComponentRegistry<>();
- targetSelectors.register(targetSelectorId, new TestTargetSelector());
+ private static class AddHitSearcher extends Searcher {
- FederationSearcher searcher = new FederationSearcher(
- new FederationConfig(new FederationConfig.Builder().targetSelector(targetSelectorId.toString())),
- new StrictContractsConfig(new StrictContractsConfig.Builder()),
- targetSelectors);
+ protected Hit hit = createHit();
+
+ private Hit createHit() {
+ Hit hit = new Hit("dummy");
+ hit.setFillable();
+ return hit;
+ }
+
+ @Override
+ public Result search(Query query, Execution execution) {
+ Result result = execution.search(query);
+ result.hits().add(hit);
+ return result;
+ }
+
+ @Override
+ public void fill(Result result, String summaryClass, Execution execution) {
+ if (firstHit(result) != hit) {
+ throw new RuntimeException("Unknown hit");
+ }
+ firstHit(result).setField(hasBeenFilled, true);
+ }
+
+ }
+
+ private static class TimeoutInFillSearcher extends Searcher {
+
+ private Hit createHit(String id) {
+ Hit hit = new Hit(id);
+ hit.setFillable();
+ return hit;
+ }
+
+ @Override
+ public Result search(Query query, Execution execution) {
+ Result result = execution.search(query);
+ result.hits().add(createHit("timeout1"));
+ result.hits().add(createHit("timeout2"));
+ return result;
+ }
+
+ @Override
+ public void fill(Result result, String summaryClass, Execution execution) {
+ throw new TimeoutException("TimeoutInFillSearcher always time out in fill");
+ }
+
+ }
+
+ private static class ModifyQueryAndAddHitSearcher extends AddHitSearcher {
+
+ private final String marker;
+
+ ModifyQueryAndAddHitSearcher(String marker) {
+ super();
+ this.marker = marker;
+ }
+
+ @Override
+ public Result search(Query query, Execution execution) {
+ query.getModel().getQueryTree().setRoot(new WordItem(marker));
+ Result result = execution.search(query);
+ result.hits().add(hit);
+ return result;
+ }
- Result result = new Execution(searcher, Context.createContextStub()).search(new Query());
- HitGroup myChainGroup = (HitGroup) result.hits().get(0);
- assertThat(myChainGroup.getId(), is(new URI("source:myChain")));
- assertThat(myChainGroup.get(0).getId(), is(new URI("myHit")));
}
- static class TestTargetSelector implements TargetSelector<String> {
+ private static class TestTargetSelector implements TargetSelector<String> {
String keyName = getClass().getName();
@Override
@@ -293,7 +317,8 @@ public class FederationSearcherTest {
}
}
- static class TestMultipleTargetSelector implements TargetSelector<String> {
+ private static class TestMultipleTargetSelector implements TargetSelector<String> {
+
String keyName = getClass().getName();
@Override
@@ -303,8 +328,8 @@ public class FederationSearcherTest {
private FederationTarget<String> createTarget(int number) {
return new FederationTarget<>(new Chain<>("chain" + number, Collections.<Searcher>emptyList()),
- new FederationOptions(),
- "custom-data:" + number);
+ new FederationOptions(),
+ "custom-data:" + number);
}
@Override
@@ -320,28 +345,4 @@ public class FederationSearcherTest {
}
}
- @Test
- public void target_selectors_can_have_multiple_targets() {
- ComponentId targetSelectorId = ComponentId.fromString("TestMultipleTargetSelector");
- ComponentRegistry<TargetSelector> targetSelectors = new ComponentRegistry<>();
- targetSelectors.register(targetSelectorId, new TestMultipleTargetSelector());
-
- FederationSearcher searcher = new FederationSearcher(
- new FederationConfig(new FederationConfig.Builder().targetSelector(targetSelectorId.toString())),
- new StrictContractsConfig(new StrictContractsConfig.Builder()),
- targetSelectors);
-
- Result result = new Execution(searcher, Context.createContextStub()).search(new Query());
-
- Iterator<Hit> hitsIterator = result.hits().deepIterator();
- Hit hit1 = hitsIterator.next();
- Hit hit2 = hitsIterator.next();
-
- assertThat(hit1.getSource(), is("chain1"));
- assertThat(hit2.getSource(), is("chain2"));
-
- assertThat((String)hit1.getField("data"), is("modifyTargetQuery:custom-data:1"));
- assertThat((String)hit2.getField("data"), is("modifyTargetQuery:custom-data:2"));
- }
-
}
diff --git a/container-search/src/test/java/com/yahoo/search/federation/test/FederationTester.java b/container-search/src/test/java/com/yahoo/search/federation/test/FederationTester.java
index a863bd4f687..794fa9349f3 100644
--- a/container-search/src/test/java/com/yahoo/search/federation/test/FederationTester.java
+++ b/container-search/src/test/java/com/yahoo/search/federation/test/FederationTester.java
@@ -15,14 +15,14 @@ import com.yahoo.search.searchchain.model.federation.FederationOptions;
import java.util.Collections;
/**
-* @author Tony Vaagenes
-*/
+ * @author Tony Vaagenes
+ */
class FederationTester {
- SearchChainResolver.Builder builder = new SearchChainResolver.Builder();
- SearchChainRegistry registry = new SearchChainRegistry();
+ private final SearchChainResolver.Builder builder = new SearchChainResolver.Builder();
+ private final SearchChainRegistry registry = new SearchChainRegistry();
- Execution execution;
+ private Execution execution;
void addSearchChain(String id, Searcher... searchers) {
addSearchChain(id, federationOptions(), searchers);
@@ -51,6 +51,8 @@ class FederationTester {
}
public Result search() {
+ Query query = new Query();
+ query.setTimeout(60 * 1000);
return search(new Query());
}
@@ -73,4 +75,5 @@ class FederationTester {
public void fill(Result result) {
execution.fill(result, "default");
}
+
}
diff --git a/processing/src/main/java/com/yahoo/processing/execution/chain/ChainRegistry.java b/processing/src/main/java/com/yahoo/processing/execution/chain/ChainRegistry.java
index 3d308965897..dbf31de1b72 100644
--- a/processing/src/main/java/com/yahoo/processing/execution/chain/ChainRegistry.java
+++ b/processing/src/main/java/com/yahoo/processing/execution/chain/ChainRegistry.java
@@ -9,7 +9,6 @@ import com.yahoo.component.provider.ComponentRegistry;
* A registry of chains
*
* @author Tony Vaagenes
- * @since 5.1.7
*/
public class ChainRegistry<T extends ChainedComponent> extends ComponentRegistry<Chain<T>> {
}