diff options
4 files changed, 18 insertions, 13 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 5132d954687..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,9 +69,8 @@ public class SoftTimeout implements Cloneable { /** Internal operation - DO NOT USE */ public void prepare(RankProperties rankProperties) { - if ( !enabled) return; - - rankProperties.put("vespa.softtimeout.enable", "true"); + 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) @@ -91,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 e2ce26cb908..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=false"); + "&model.searchPath=7/3"); query.getRanking().setFreshness(new Freshness("123456")); query.getRanking().setSorting("+field1 -field2"); query.getRanking().setProfile("two"); @@ -108,7 +108,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=false"); + "&model.searchPath=7/3"); query.getRanking().setFreshness("123456"); query.getRanking().setSorting("+field1 -field2"); query.getRanking().setProfile("two"); @@ -130,7 +130,6 @@ public class QueryTestCase { @Test public void testEncodeQueryPacketWithLabelsConnectivityAndSignificance() { Query query = new Query(); - query.properties().set(SoftTimeout.enableProperty, false); AndItem and = new AndItem(); WeightedSetItem taggable1 = new WeightedSetItem("field1"); taggable1.setLabel("foo"); diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java index 44f090b8c51..f4be2943f5f 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java @@ -171,7 +171,6 @@ public class FastSearcherTestCase { documentdbConfigWithOneDb); Query query = new Query("?query=foo&model.restrict=testDb"); - query.getRanking().getSoftTimeout().setEnable(false); query.prepare(); doSearch(fastSearcher, query, 0, 10); 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 5026250ab91..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,11 +21,11 @@ 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(); - assertEquals("true", query.getRanking().getProperties().get("vespa.softtimeout.enable").get(0)); + assertNull(query.getRanking().getProperties().get("vespa.softtimeout.enable")); assertEquals("0.7", query.getRanking().getProperties().get("vespa.softtimeout.factor").get(0)); assertEquals("0.3", query.getRanking().getProperties().get("vespa.softtimeout.tailcost").get(0)); } @@ -35,7 +35,15 @@ public class SoftTimeoutTestCase { Query query=new Query("?query=test&ranking.softtimeout.enable=false"); assertFalse(query.getRanking().getSoftTimeout().getEnable()); query.prepare(); - assertTrue(query.getRanking().getProperties().isEmpty()); + 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) { |