summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-03-21 08:45:23 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2019-03-21 08:45:23 +0100
commit47e12867aee53070b589b8000941f30d429c3998 (patch)
tree66501678e61aa000dd7bb0a0a0ff3b029d5e00a4 /container-search
parentf60935d45bd01a0e0edfa5dc605936ad96f88aaa (diff)
Enusure that explicit overrides go through
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/ranking/SoftTimeout.java8
-rw-r--r--container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java12
3 files changed, 15 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/query/ranking/SoftTimeout.java b/container-search/src/main/java/com/yahoo/search/query/ranking/SoftTimeout.java
index 05cbed6b6d9..1bca3df4d77 100644
--- a/container-search/src/main/java/com/yahoo/search/query/ranking/SoftTimeout.java
+++ b/container-search/src/main/java/com/yahoo/search/query/ranking/SoftTimeout.java
@@ -37,7 +37,7 @@ public class SoftTimeout implements Cloneable {
}
public static QueryProfileType getArgumentType() { return argumentType; }
- private boolean enabled = true;
+ private Boolean enabled = null;
private Double factor = null;
private Double tailcost = null;
@@ -69,8 +69,8 @@ public class SoftTimeout implements Cloneable {
/** Internal operation - DO NOT USE */
public void prepare(RankProperties rankProperties) {
- if ( !enabled)
- rankProperties.put("vespa.softtimeout.enable", "false");
+ if (enabled != null)
+ rankProperties.put("vespa.softtimeout.enable", String.valueOf(enabled));
if (factor != null)
rankProperties.put("vespa.softtimeout.factor", String.valueOf(factor));
if (tailcost != null)
@@ -90,7 +90,7 @@ public class SoftTimeout implements Cloneable {
@Override
public int hashCode() {
int hash = 0;
- if (enabled) hash += 11;
+ if (enabled != null) hash += 11;
if (factor != null) hash += 13 * factor.hashCode();
if (tailcost != null) hash += 17 * tailcost.hashCode();
return hash;
diff --git a/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
index e998dd4c966..fc39c1d8fe0 100644
--- a/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
+++ b/container-search/src/test/java/com/yahoo/fs4/test/QueryTestCase.java
@@ -82,7 +82,7 @@ public class QueryTestCase {
"&ranking.features.query(foo)=30.3&ranking.features.query(bar)=0" +
"&ranking.properties.property.p1=v1&ranking.properties.property.p2=v2" +
"&pos.ll=S22.4532;W123.9887&pos.radius=3&pos.attribute=place&ranking.freshness=37" +
- "&model.searchPath=7/3&ranking.softtimeout.enable=true");
+ "&model.searchPath=7/3");
query.getRanking().setFreshness(new Freshness("123456"));
query.getRanking().setSorting("+field1 -field2");
query.getRanking().setProfile("two");
diff --git a/container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java b/container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java
index 0881a141abd..6754494ba4e 100644
--- a/container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java
@@ -13,7 +13,7 @@ public class SoftTimeoutTestCase {
@Test
public void testDefaultsInQuery() {
Query query=new Query("?query=test");
- assertTrue(query.getRanking().getSoftTimeout().getEnable());
+ assertNull(query.getRanking().getSoftTimeout().getEnable());
assertNull(query.getRanking().getSoftTimeout().getFactor());
assertNull(query.getRanking().getSoftTimeout().getTailcost());
}
@@ -21,7 +21,7 @@ public class SoftTimeoutTestCase {
@Test
public void testQueryOverride() {
Query query=new Query("?query=test&ranking.softtimeout.factor=0.7&ranking.softtimeout.tailcost=0.3");
- assertTrue(query.getRanking().getSoftTimeout().getEnable());
+ assertNull(query.getRanking().getSoftTimeout().getEnable());
assertEquals(Double.valueOf(0.7), query.getRanking().getSoftTimeout().getFactor());
assertEquals(Double.valueOf(0.3), query.getRanking().getSoftTimeout().getTailcost());
query.prepare();
@@ -38,6 +38,14 @@ public class SoftTimeoutTestCase {
assertEquals("false", query.getRanking().getProperties().get("vespa.softtimeout.enable").get(0));
}
+ @Test
+ public void testEnable() {
+ Query query=new Query("?query=test&ranking.softtimeout.enable=true");
+ assertTrue(query.getRanking().getSoftTimeout().getEnable());
+ query.prepare();
+ assertEquals("true", query.getRanking().getProperties().get("vespa.softtimeout.enable").get(0));
+ }
+
private void verifyException(String key, String value) {
try {
new Query("?query=test&ranking.softtimeout."+key+"="+value);