From 47e12867aee53070b589b8000941f30d429c3998 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 21 Mar 2019 08:45:23 +0100 Subject: Enusure that explicit overrides go through --- .../java/com/yahoo/search/query/ranking/SoftTimeout.java | 8 ++++---- .../src/test/java/com/yahoo/fs4/test/QueryTestCase.java | 2 +- .../java/com/yahoo/search/query/SoftTimeoutTestCase.java | 12 ++++++++++-- 3 files changed, 15 insertions(+), 7 deletions(-) (limited to 'container-search') 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); -- cgit v1.2.3