diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-26 11:35:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-26 11:35:25 +0100 |
commit | 606f7f83c02cd9818d9336611e4cf6e13ffea1b5 (patch) | |
tree | 1942f6f302a8b489ce1040e367976c28a6e0a2af /container-search | |
parent | 8b378f8d90ed92fc826c0113a2e00123839429f3 (diff) |
Revert "Balder/return timeout information up 4"
Diffstat (limited to 'container-search')
13 files changed, 44 insertions, 292 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java b/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java index 42fe08ad5a4..3a695efa383 100644 --- a/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java +++ b/container-search/src/main/java/com/yahoo/fs4/QueryPacket.java @@ -201,7 +201,6 @@ public class QueryPacket extends Packet { /** * query flag bits, taken from searchlib/common/transport.h **/ - static final int QFLAG_EXTENDED_COVERAGE = 0x00000001; static final int QFLAG_ESTIMATE = 0x00000080; static final int QFLAG_DROP_SORTDATA = 0x00004000; static final int QFLAG_NO_RESULTCACHE = 0x00010000; @@ -235,7 +234,7 @@ public class QueryPacket extends Packet { } static int getQueryFlags(Query query) { - int flags = QFLAG_EXTENDED_COVERAGE; + int flags = 0; flags |= query.properties().getBoolean(com.yahoo.search.query.Model.ESTIMATE) ? QFLAG_ESTIMATE : 0; flags |= query.getNoCache() ? QFLAG_NO_RESULTCACHE : 0; diff --git a/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java b/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java index 2714ea7ee76..0b940791326 100644 --- a/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java +++ b/container-search/src/main/java/com/yahoo/fs4/QueryResultPacket.java @@ -31,11 +31,8 @@ public class QueryResultPacket extends Packet { /** Whether coverage information is included in this result */ private boolean coverageFeature = false; - private boolean coverageExtendedFeature = false; private long coverageDocs = 0; private long activeDocs = 0; - private long soonActiveDocs = 0; - private int degradedReason = 0; /** Whether the result contains grouping results **/ private boolean groupDataFeature = false; @@ -84,10 +81,6 @@ public class QueryResultPacket extends Packet { public long getActiveDocs() { return activeDocs; } - public long getSoonActiveDocs() { return soonActiveDocs; } - - public int getDegradedReason() { return degradedReason; } - public boolean getCoverageFull() { return coverageDocs == activeDocs; } @@ -124,13 +117,6 @@ public class QueryResultPacket extends Packet { coverageDocs = buffer.getLong(); activeDocs = buffer.getLong(); } - if (coverageExtendedFeature) { - soonActiveDocs = buffer.getLong(); - degradedReason = buffer.getInt(); - } else { - soonActiveDocs = activeDocs; - degradedReason = 0; - } decodeDocuments(buffer,documentCount); if (propsFeature) { int numMaps = buffer.getInt(); @@ -149,12 +135,11 @@ public class QueryResultPacket extends Packet { /** * feature bits */ - public static final int QRF_MLD = 0x00000001; - public static final int QRF_SORTDATA = 0x00000010; - public static final int QRF_EXTENDED_COVERAGE = 0x00000020; - public static final int QRF_COVERAGE = 0x00000040; - public static final int QRF_GROUPDATA = 0x00000200; - public static final int QRF_PROPERTIES = 0x00000400; + public static final int QRF_MLD = 0x00000001; + public static final int QRF_SORTDATA = 0x00000010; + public static final int QRF_COVERAGE = 0x00000040; + public static final int QRF_GROUPDATA = 0x00000200; + public static final int QRF_PROPERTIES = 0x00000400; /** * Sets the features of this package. @@ -169,7 +154,6 @@ public class QueryResultPacket extends Packet { datasetFeature = (0x002 & features) != 0; // Data given by sortFeature not currently used by QRS: // sortFeature = (QRF_SORTDATA & features) != 0; - coverageExtendedFeature = (QRF_EXTENDED_COVERAGE & features) != 0; coverageFeature = (QRF_COVERAGE & features) != 0; groupDataFeature = (QRF_GROUPDATA & features) != 0; propsFeature = (QRF_PROPERTIES & features) != 0; diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java index 872ed5ac11c..aec60473541 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/VespaBackEndSearcher.java @@ -417,7 +417,7 @@ public abstract class VespaBackEndSearcher extends PingableSearcher { } if (resultPacket.getCoverageFeature()) { - result.setCoverage(new Coverage(resultPacket.getCoverageDocs(), resultPacket.getActiveDocs()).setSoonActive(resultPacket.getSoonActiveDocs()).setDegradedReason(resultPacket.getDegradedReason())); + result.setCoverage(new Coverage(resultPacket.getCoverageDocs(), resultPacket.getActiveDocs())); } } diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java b/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java index 3158b330146..e88e58b8681 100644 --- a/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java +++ b/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java @@ -45,11 +45,6 @@ public class DefaultTemplateSet extends UserTemplate<XMLWriter> { private static final Utf8String NAME = new Utf8String("name"); private static final Utf8String CODE = new Utf8String("code"); private static final Utf8String COVERAGE_DOCS = new Utf8String("coverage-docs"); - private static final Utf8String COVERAGE_ACTIVE = new Utf8String("coverage-active"); - private static final Utf8String COVERAGE_SOON_ACTIVE = new Utf8String("coverage-soon-active"); - private static final Utf8String COVERAGE_DEGRADE_MATCHPHASE = new Utf8String("coverage-degrade-match-phase"); - private static final Utf8String COVERAGE_DEGRADE_TIMEOUT = new Utf8String("coverage-degrade-timeout"); - private static final Utf8String COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT = new Utf8String("coverage-degrade-adaptive-timeout"); private static final Utf8String COVERAGE_NODES = new Utf8String("coverage-nodes"); private static final Utf8String COVERAGE_FULL = new Utf8String("coverage-full"); private static final Utf8String COVERAGE = new Utf8String("coverage"); @@ -166,13 +161,6 @@ public class DefaultTemplateSet extends UserTemplate<XMLWriter> { protected static void renderCoverageAttributes(Coverage coverage, XMLWriter writer) throws IOException { if (coverage == null) return; writer.attribute(COVERAGE_DOCS,coverage.getDocs()); - writer.attribute(COVERAGE_ACTIVE,coverage.getActive()); - writer.attribute(COVERAGE_SOON_ACTIVE,coverage.getSoonActive()); - if (coverage.isDegraded()) { - writer.attribute(COVERAGE_DEGRADE_MATCHPHASE, coverage.isDegradedByMatchPhase()); - writer.attribute(COVERAGE_DEGRADE_TIMEOUT, coverage.isDegradedByTimeout()); - writer.attribute(COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT, coverage.isDegradedByAdapativeTimeout()); - } writer.attribute(COVERAGE_NODES,coverage.getNodes()); writer.attribute(COVERAGE_FULL,coverage.getFull()); writer.attribute(COVERAGE,coverage.getResultPercentage()); diff --git a/container-search/src/main/java/com/yahoo/search/query/Ranking.java b/container-search/src/main/java/com/yahoo/search/query/Ranking.java index addd759cd29..e543589f74d 100644 --- a/container-search/src/main/java/com/yahoo/search/query/Ranking.java +++ b/container-search/src/main/java/com/yahoo/search/query/Ranking.java @@ -37,7 +37,6 @@ public class Ranking implements Cloneable { public static final String QUERYCACHE = "queryCache"; public static final String MATCH_PHASE = "matchPhase"; public static final String DIVERSITY = "diversity"; - public static final String SOFTTIMEOUT = "softtimeout"; public static final String FEATURES = "features"; public static final String PROPERTIES = "properties"; @@ -83,8 +82,6 @@ public class Ranking implements Cloneable { private MatchPhase matchPhase = new MatchPhase(); - private SoftTimeout softTimeout = new SoftTimeout(); - public Ranking(Query parent) { this.parent = parent; } @@ -172,9 +169,6 @@ public class Ranking implements Cloneable { /** Returns the match phase rank settings of this. This is never null. */ public MatchPhase getMatchPhase() { return matchPhase; } - /** Returns the soft timeout settings of this. This is never null. */ - public SoftTimeout getSoftTimeout() { return softTimeout; } - @Override public Object clone() { try { @@ -185,7 +179,6 @@ public class Ranking implements Cloneable { clone.rankProperties = this.rankProperties.clone(); clone.rankFeatures = this.rankFeatures.clone(); clone.matchPhase = this.matchPhase.clone(); - clone.softTimeout = this.softTimeout.clone(); return clone; } catch (CloneNotSupportedException e) { @@ -215,7 +208,6 @@ public class Ranking implements Cloneable { hash += 11 * rankFeatures.hashCode(); hash += 13 * rankProperties.hashCode(); hash += 17 * matchPhase.hashCode(); - hash += 19 * softTimeout.hashCode(); return Ranking.class.hashCode() + QueryHelper.combineHash(sorting,location,profile,hash); } @@ -240,7 +232,6 @@ public class Ranking implements Cloneable { public void prepare() { rankFeatures.prepare(rankProperties); matchPhase.prepare(rankProperties); - softTimeout.prepare(rankProperties); prepareNow(freshness); } diff --git a/container-search/src/main/java/com/yahoo/search/query/SoftTimeout.java b/container-search/src/main/java/com/yahoo/search/query/SoftTimeout.java deleted file mode 100644 index 2db1235f72c..00000000000 --- a/container-search/src/main/java/com/yahoo/search/query/SoftTimeout.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.yahoo.search.query; - -import com.yahoo.search.query.profile.types.FieldDescription; -import com.yahoo.search.query.profile.types.QueryProfileType; -import com.yahoo.search.query.ranking.RankProperties; - -import java.util.Objects; - -/** - * Holds the settings for the soft-timeout feature. - * - * @author balder - */ -public class SoftTimeout implements Cloneable { - /** The type representing the property arguments consumed by this */ - private static final QueryProfileType argumentType; - - public static final String ENABLE = "enable"; - public static final String FACTOR = "factor"; - public static final String TAILCOST = "tailcost"; - - - static { - argumentType =new QueryProfileType(Ranking.SOFTTIMEOUT); - argumentType.setStrict(true); - argumentType.setBuiltin(true); - argumentType.addField(new FieldDescription(TAILCOST, "double")); - argumentType.addField(new FieldDescription(ENABLE, "boolean")); - argumentType.freeze(); - } - public static QueryProfileType getArgumentType() { return argumentType; } - - public Boolean enable = null; - private Double factor = null; - private Double tailcost = null; - - public void setEnable(boolean enable) { this.enable = enable; } - - public Boolean getEnable() { return enable; } - - public void setFactor(double factor) { - if ((factor < 0.0) || (factor > 1.0)) { - throw new IllegalArgumentException("factor must be in the range [0.0, 1.0]. It is " + factor); - } - this.factor = factor; - } - public Double getFactor() { return factor; } - public void setTailcost(double tailcost) { - if ((tailcost < 0.0) || (tailcost > 1.0)) { - throw new IllegalArgumentException("tailcost must be in the range [0.0, 1.0]. It is " + tailcost); - } - this.tailcost = tailcost; - } - public Double getTailcost() { return tailcost; } - - /** Internal operation - DO NOT USE */ - public void prepare(RankProperties rankProperties) { - - if (enable != null) { - rankProperties.put("vespa.softtimeout.enable", String.valueOf(enable)); - } - if (factor != null) { - rankProperties.put("vespa.softtimeout.factor", String.valueOf(factor)); - } - if (tailcost != null) { - rankProperties.put("vespa.softtimeout.tailcost", String.valueOf(tailcost)); - } - } - - @Override - public SoftTimeout clone() { - try { - return (SoftTimeout) super.clone(); - } - catch (CloneNotSupportedException e) { - throw new RuntimeException("Won't happen", e); - } - } - - @Override - public int hashCode() { - int hash = 0; - if (enable != null) hash += 11 * enable.hashCode(); - if (factor != null) hash += 13 * factor.hashCode(); - if (tailcost != null) hash += 17 * tailcost.hashCode(); - return hash; - } - - @Override - public boolean equals(Object o) { - if (o == this) return true; - if ( ! (o instanceof SoftTimeout)) return false; - - SoftTimeout other = (SoftTimeout)o; - if ( ! Objects.equals(this.enable, other.enable)) return false; - if ( ! Objects.equals(this.factor, other.factor)) return false; - if ( ! Objects.equals(this.tailcost, other.tailcost)) return false; - return true; - } - -} diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java index 30154b223a5..5abc6663063 100644 --- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java +++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java @@ -74,36 +74,34 @@ public class QueryProperties extends Properties { public Object get(CompoundName key, Map<String,String> context, com.yahoo.processing.request.Properties substitution) { if (key.size()==2 && key.first().equals(Model.MODEL)) { - Model model = query.getModel(); - if (key.last().equals(Model.QUERY_STRING)) return model.getQueryString(); - if (key.last().equals(Model.TYPE)) return model.getType(); - if (key.last().equals(Model.FILTER)) return model.getFilter(); - if (key.last().equals(Model.DEFAULT_INDEX)) return model.getDefaultIndex(); - if (key.last().equals(Model.LANGUAGE)) return model.getLanguage(); - if (key.last().equals(Model.ENCODING)) return model.getEncoding(); - if (key.last().equals(Model.SOURCES)) return model.getSources(); - if (key.last().equals(Model.SEARCH_PATH)) return model.getSearchPath(); - if (key.last().equals(Model.RESTRICT)) return model.getRestrict(); + if (key.last().equals(Model.QUERY_STRING)) return query.getModel().getQueryString(); + if (key.last().equals(Model.TYPE)) return query.getModel().getType(); + if (key.last().equals(Model.FILTER)) return query.getModel().getFilter(); + if (key.last().equals(Model.DEFAULT_INDEX)) return query.getModel().getDefaultIndex(); + if (key.last().equals(Model.LANGUAGE)) return query.getModel().getLanguage(); + if (key.last().equals(Model.ENCODING)) return query.getModel().getEncoding(); + if (key.last().equals(Model.SOURCES)) return query.getModel().getSources(); + if (key.last().equals(Model.SEARCH_PATH)) return query.getModel().getSearchPath(); + if (key.last().equals(Model.RESTRICT)) return query.getModel().getRestrict(); } else if (key.first().equals(Ranking.RANKING)) { - Ranking ranking = query.getRanking(); if (key.size()==2) { - if (key.last().equals(Ranking.LOCATION)) return ranking.getLocation(); - if (key.last().equals(Ranking.PROFILE)) return ranking.getProfile(); - if (key.last().equals(Ranking.SORTING)) return ranking.getSorting(); - if (key.last().equals(Ranking.FRESHNESS)) return ranking.getFreshness(); - if (key.last().equals(Ranking.QUERYCACHE)) return ranking.getQueryCache(); - if (key.last().equals(Ranking.LIST_FEATURES)) return ranking.getListFeatures(); + if (key.last().equals(Ranking.LOCATION)) return query.getRanking().getLocation(); + if (key.last().equals(Ranking.PROFILE)) return query.getRanking().getProfile(); + if (key.last().equals(Ranking.SORTING)) return query.getRanking().getSorting(); + if (key.last().equals(Ranking.FRESHNESS)) return query.getRanking().getFreshness(); + if (key.last().equals(Ranking.QUERYCACHE)) return query.getRanking().getQueryCache(); + if (key.last().equals(Ranking.LIST_FEATURES)) return query.getRanking().getListFeatures(); } else if (key.size()>=3 && key.get(1).equals(Ranking.MATCH_PHASE)) { if (key.size() == 3) { - MatchPhase matchPhase = ranking.getMatchPhase(); + MatchPhase matchPhase = query.getRanking().getMatchPhase(); if (key.last().equals(MatchPhase.ATTRIBUTE)) return matchPhase.getAttribute(); if (key.last().equals(MatchPhase.ASCENDING)) return matchPhase.getAscending(); if (key.last().equals(MatchPhase.MAX_HITS)) return matchPhase.getMaxHits(); if (key.last().equals(MatchPhase.MAX_FILTER_COVERAGE)) return matchPhase.getMaxFilterCoverage(); } else if (key.size() >= 4 && key.get(2).equals(Ranking.DIVERSITY)) { - Diversity diversity = ranking.getMatchPhase().getDiversity(); + Diversity diversity = query.getRanking().getMatchPhase().getDiversity(); if (key.size() == 4) { if (key.last().equals(Diversity.ATTRIBUTE)) return diversity.getAttribute(); if (key.last().equals(Diversity.MINGROUPS)) return diversity.getMinGroups(); @@ -113,16 +111,10 @@ public class QueryProperties extends Properties { } } } - else if (key.size() == 3 && key.get(1).equals(Ranking.SOFTTIMEOUT)) { - SoftTimeout soft = ranking.getSoftTimeout(); - if (key.last().equals(SoftTimeout.ENABLE)) return soft.getEnable(); - if (key.last().equals(SoftTimeout.FACTOR)) return soft.getFactor(); - if (key.last().equals(SoftTimeout.TAILCOST)) return soft.getTailcost(); - } else if (key.size()>2) { // pass the portion after "ranking.features/properties" down - if (key.get(1).equals(Ranking.FEATURES)) return ranking.getFeatures().getObject(key.rest().rest().toString()); - if (key.get(1).equals(Ranking.PROPERTIES)) return ranking.getProperties().get(key.rest().rest().toString()); + if (key.get(1).equals(Ranking.FEATURES)) return query.getRanking().getFeatures().getObject(key.rest().rest().toString()); + if (key.get(1).equals(Ranking.PROPERTIES)) return query.getRanking().getProperties().get(key.rest().rest().toString()); } } else if (key.size()==2 && key.first().equals(Presentation.PRESENTATION)) { @@ -157,47 +149,45 @@ public class QueryProperties extends Properties { // Note: The defaults here are never used try { if (key.size()==2 && key.first().equals(Model.MODEL)) { - Model model = query.getModel(); if (key.last().equals(Model.QUERY_STRING)) - model.setQueryString(asString(value, "")); + query.getModel().setQueryString(asString(value, "")); else if (key.last().equals(Model.TYPE)) - model.setType(asString(value, "ANY")); + query.getModel().setType(asString(value, "ANY")); else if (key.last().equals(Model.FILTER)) - model.setFilter(asString(value, "")); + query.getModel().setFilter(asString(value, "")); else if (key.last().equals(Model.DEFAULT_INDEX)) - model.setDefaultIndex(asString(value, "")); + query.getModel().setDefaultIndex(asString(value, "")); else if (key.last().equals(Model.LANGUAGE)) - model.setLanguage(asString(value, "")); + query.getModel().setLanguage(asString(value, "")); else if (key.last().equals(Model.ENCODING)) - model.setEncoding(asString(value,"")); + query.getModel().setEncoding(asString(value,"")); else if (key.last().equals(Model.SEARCH_PATH)) - model.setSearchPath(asString(value,"")); + query.getModel().setSearchPath(asString(value,"")); else if (key.last().equals(Model.SOURCES)) - model.setSources(asString(value,"")); + query.getModel().setSources(asString(value,"")); else if (key.last().equals(Model.RESTRICT)) - model.setRestrict(asString(value,"")); + query.getModel().setRestrict(asString(value,"")); else throwIllegalParameter(key.last(),Model.MODEL); } else if (key.first().equals(Ranking.RANKING)) { - Ranking ranking = query.getRanking(); if (key.size()==2) { if (key.last().equals(Ranking.LOCATION)) - ranking.setLocation(asString(value,"")); + query.getRanking().setLocation(asString(value,"")); else if (key.last().equals(Ranking.PROFILE)) - ranking.setProfile(asString(value,"")); + query.getRanking().setProfile(asString(value,"")); else if (key.last().equals(Ranking.SORTING)) - ranking.setSorting(asString(value,"")); + query.getRanking().setSorting(asString(value,"")); else if (key.last().equals(Ranking.FRESHNESS)) - ranking.setFreshness(asString(value, "")); + query.getRanking().setFreshness(asString(value, "")); else if (key.last().equals(Ranking.QUERYCACHE)) - ranking.setQueryCache(asBoolean(value, false)); + query.getRanking().setQueryCache(asBoolean(value, false)); else if (key.last().equals(Ranking.LIST_FEATURES)) - ranking.setListFeatures(asBoolean(value,false)); + query.getRanking().setListFeatures(asBoolean(value,false)); } else if (key.size()>=3 && key.get(1).equals(Ranking.MATCH_PHASE)) { if (key.size() == 3) { - MatchPhase matchPhase = ranking.getMatchPhase(); + MatchPhase matchPhase = query.getRanking().getMatchPhase(); if (key.last().equals(MatchPhase.ATTRIBUTE)) { matchPhase.setAttribute(asString(value, null)); } else if (key.last().equals(MatchPhase.ASCENDING)) { @@ -208,7 +198,7 @@ public class QueryProperties extends Properties { matchPhase.setMaxFilterCoverage(asDouble(value, 0.2)); } } else if (key.size() > 3 && key.get(2).equals(Ranking.DIVERSITY)) { - Diversity diversity = ranking.getMatchPhase().getDiversity(); + Diversity diversity = query.getRanking().getMatchPhase().getDiversity(); if (key.last().equals(Diversity.ATTRIBUTE)) { diversity.setAttribute(asString(value, null)); } else if (key.last().equals(Diversity.MINGROUPS)) { @@ -222,18 +212,12 @@ public class QueryProperties extends Properties { } } } - else if (key.size() == 3 && key.get(1).equals(Ranking.SOFTTIMEOUT)) { - SoftTimeout soft = ranking.getSoftTimeout(); - if (key.last().equals(SoftTimeout.ENABLE)) soft.setEnable(asBoolean(value, false)); - if (key.last().equals(SoftTimeout.FACTOR)) soft.setFactor(asDouble(value, 0.50)); - if (key.last().equals(SoftTimeout.TAILCOST)) soft.setTailcost(asDouble(value, 0.10)); - } else if (key.size()>2) { String restKey = key.rest().rest().toString(); if (key.get(1).equals(Ranking.FEATURES)) setRankingFeature(query, restKey, toSpecifiedType(restKey, value, profileRegistry.getTypeRegistry().getComponent("features"))); else if (key.get(1).equals(Ranking.PROPERTIES)) - ranking.getProperties().put(restKey, toSpecifiedType(restKey, value, profileRegistry.getTypeRegistry().getComponent("properties"))); + query.getRanking().getProperties().put(restKey, toSpecifiedType(restKey, value, profileRegistry.getTypeRegistry().getComponent("properties"))); else throwIllegalParameter(key.rest().toString(),Ranking.RANKING); } diff --git a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java index e35f21b1797..a742a54e866 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java @@ -60,11 +60,6 @@ public final class DefaultRenderer extends AsynchronousSectionedRenderer<Result> private static final Utf8String NAME = new Utf8String("name"); private static final Utf8String CODE = new Utf8String("code"); private static final Utf8String COVERAGE_DOCS = new Utf8String("coverage-docs"); - private static final Utf8String COVERAGE_ACTIVE = new Utf8String("coverage-active"); - private static final Utf8String COVERAGE_SOON_ACTIVE = new Utf8String("coverage-soon-active"); - private static final Utf8String COVERAGE_DEGRADE_MATCHPHASE = new Utf8String("coverage-degrade-match-phase"); - private static final Utf8String COVERAGE_DEGRADE_TIMEOUT = new Utf8String("coverage-degrade-timeout"); - private static final Utf8String COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT = new Utf8String("coverage-degrade-adaptive-timeout"); private static final Utf8String COVERAGE_NODES = new Utf8String("coverage-nodes"); private static final Utf8String COVERAGE_FULL = new Utf8String("coverage-full"); private static final Utf8String COVERAGE = new Utf8String("coverage"); @@ -157,13 +152,6 @@ public final class DefaultRenderer extends AsynchronousSectionedRenderer<Result> protected static void renderCoverageAttributes(Coverage coverage, XMLWriter writer) throws IOException { if (coverage == null) return; writer.attribute(COVERAGE_DOCS,coverage.getDocs()); - writer.attribute(COVERAGE_ACTIVE,coverage.getActive()); - writer.attribute(COVERAGE_SOON_ACTIVE,coverage.getSoonActive()); - if (coverage.isDegraded()) { - writer.attribute(COVERAGE_DEGRADE_MATCHPHASE, coverage.isDegradedByMatchPhase()); - writer.attribute(COVERAGE_DEGRADE_TIMEOUT, coverage.isDegradedByTimeout()); - writer.attribute(COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT, coverage.isDegradedByAdapativeTimeout()); - } writer.attribute(COVERAGE_NODES,coverage.getNodes()); writer.attribute(COVERAGE_FULL,coverage.getFull()); writer.attribute(COVERAGE,coverage.getResultPercentage()); diff --git a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java index b9ab8f79329..31b231a0997 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java @@ -96,12 +96,6 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> { private static final String COVERAGE = "coverage"; private static final String COVERAGE_COVERAGE = "coverage"; private static final String COVERAGE_DOCUMENTS = "documents"; - private static final String COVERAGE_ACTIVE = "active"; - private static final String COVERAGE_SOON_ACTIVE = "soon-active"; - private static final String COVERAGE_DEGRADE = "degraded"; - private static final String COVERAGE_DEGRADE_MATCHPHASE = "match-phase"; - private static final String COVERAGE_DEGRADE_TIMEOUT = "timeout"; - private static final String COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT = "adaptive-timeout"; private static final String COVERAGE_FULL = "full"; private static final String COVERAGE_NODES = "nodes"; private static final String COVERAGE_RESULTS = "results"; @@ -445,16 +439,6 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> { generator.writeObjectFieldStart(COVERAGE); generator.writeNumberField(COVERAGE_COVERAGE, c.getResultPercentage()); generator.writeNumberField(COVERAGE_DOCUMENTS, c.getDocs()); - generator.writeNumberField(COVERAGE_ACTIVE, c.getActive()); - generator.writeNumberField(COVERAGE_SOON_ACTIVE, c.getSoonActive()); - if (c.isDegraded()) { - generator.writeObjectFieldStart(COVERAGE_DEGRADE); - generator.writeBooleanField(COVERAGE_DEGRADE_MATCHPHASE, c.isDegradedByMatchPhase()); - generator.writeBooleanField(COVERAGE_DEGRADE_TIMEOUT, c.isDegradedByTimeout()); - generator.writeBooleanField(COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT, c.isDegradedByAdapativeTimeout()); - generator.writeEndObject(); - } - generator.writeNumberField(COVERAGE_DOCUMENTS, c.getDocs()); generator.writeBooleanField(COVERAGE_FULL, c.getFull()); generator.writeNumberField(COVERAGE_NODES, c.getNodes()); generator.writeNumberField(COVERAGE_RESULTS, c.getResultSets()); diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java index 5a0695c0491..e394a674a06 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java @@ -54,11 +54,6 @@ public final class SyncDefaultRenderer extends Renderer { private static final Utf8String NAME = new Utf8String("name"); private static final Utf8String CODE = new Utf8String("code"); private static final Utf8String COVERAGE_DOCS = new Utf8String("coverage-docs"); - private static final Utf8String COVERAGE_ACTIVE = new Utf8String("coverage-active"); - private static final Utf8String COVERAGE_SOON_ACTIVE = new Utf8String("coverage-soon-active"); - private static final Utf8String COVERAGE_DEGRADE_MATCHPHASE = new Utf8String("coverage-degrade-match-phase"); - private static final Utf8String COVERAGE_DEGRADE_TIMEOUT = new Utf8String("coverage-degrade-timeout"); - private static final Utf8String COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT = new Utf8String("coverage-degrade-adaptive-timeout"); private static final Utf8String COVERAGE_NODES = new Utf8String("coverage-nodes"); private static final Utf8String COVERAGE_FULL = new Utf8String("coverage-full"); private static final Utf8String COVERAGE = new Utf8String("coverage"); @@ -171,13 +166,6 @@ public final class SyncDefaultRenderer extends Renderer { protected static void renderCoverageAttributes(Coverage coverage, XMLWriter writer) throws IOException { if (coverage == null) return; writer.attribute(COVERAGE_DOCS,coverage.getDocs()); - writer.attribute(COVERAGE_ACTIVE,coverage.getActive()); - writer.attribute(COVERAGE_SOON_ACTIVE,coverage.getSoonActive()); - if (coverage.isDegraded()) { - writer.attribute(COVERAGE_DEGRADE_MATCHPHASE, coverage.isDegradedByMatchPhase()); - writer.attribute(COVERAGE_DEGRADE_TIMEOUT, coverage.isDegradedByTimeout()); - writer.attribute(COVERAGE_DEGRADE_ADAPTIVE_TIMEOUT, coverage.isDegradedByAdapativeTimeout()); - } writer.attribute(COVERAGE_NODES,coverage.getNodes()); writer.attribute(COVERAGE_FULL,coverage.getFull()); writer.attribute(COVERAGE,coverage.getResultPercentage()); diff --git a/container-search/src/main/java/com/yahoo/search/result/Coverage.java b/container-search/src/main/java/com/yahoo/search/result/Coverage.java index 13deaf36db7..bf34c42b97a 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Coverage.java +++ b/container-search/src/main/java/com/yahoo/search/result/Coverage.java @@ -21,7 +21,4 @@ public class Coverage extends com.yahoo.container.handler.Coverage { super(docs, nodes, full, resultSets); } - public Coverage setSoonActive(long soonActive) { this.soonActive = soonActive; return this; } - public Coverage setDegradedReason(int degradedReason) { this.degradedReason = degradedReason; return this; } - } 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 deleted file mode 100644 index 3b230aa9416..00000000000 --- a/container-search/src/test/java/com/yahoo/search/query/SoftTimeoutTestCase.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yahoo.search.query; - -import com.yahoo.prelude.query.QueryException; -import com.yahoo.search.Query; -import org.junit.Test; -import static org.junit.Assert.*; - -/** - * @author baldersheim - */ -public class SoftTimeoutTestCase { - @Test - public void testDefaultsInQuery() { - Query query=new Query("?query=test"); - assertNull(query.getRanking().getSoftTimeout().getEnable()); - assertNull(query.getRanking().getSoftTimeout().getFactor()); - assertNull(query.getRanking().getSoftTimeout().getTailcost()); - } - - @Test - public void testQueryOverride() { - Query query=new Query("?query=test&ranking.softtimeout.enable&ranking.softtimeout.factor=0.7&ranking.softtimeout.tailcost=0.3"); - assertTrue(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)); - assertEquals("0.7", query.getRanking().getProperties().get("vespa.softtimeout.factor").get(0)); - assertEquals("0.3", query.getRanking().getProperties().get("vespa.softtimeout.tailcost").get(0)); - } - - private void verifyException(String key, String value) { - try { - new Query("?query=test&ranking.softtimeout."+key+"="+value); - assertFalse(true); - } catch (QueryException e) { - assertEquals("Invalid request parameter", e.getMessage()); - assertEquals("Could not set 'ranking.softtimeout." + key + "' to '" + value +"'", e.getCause().getMessage()); - assertEquals(key + " must be in the range [0.0, 1.0]. It is " + value, e.getCause().getCause().getMessage()); - } - } - @Test - public void testLimits() { - verifyException("factor", "-0.1"); - verifyException("factor", "1.1"); - verifyException("tailcost", "-0.1"); - verifyException("tailcost", "1.1"); - } -} diff --git a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java index ac1da3ada1c..eaaf87bc035 100644 --- a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java @@ -100,7 +100,6 @@ public class QueryTestCase { assertNotSame(q.getRanking().getProperties(), p.getRanking().getProperties()); assertNotSame(q.getRanking().getMatchPhase(), p.getRanking().getMatchPhase()); assertNotSame(q.getRanking().getMatchPhase().getDiversity(), p.getRanking().getMatchPhase().getDiversity()); - assertNotSame(q.getRanking().getSoftTimeout(), p.getRanking().getSoftTimeout()); assertNotSame(q.getPresentation(), p.getPresentation()); assertNotSame(q.getPresentation().getHighlight(), p.getPresentation().getHighlight()); |