diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-09-04 14:39:45 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-09-04 14:39:45 +0200 |
commit | ddd2b9f76bccd696af9aef93d6b4d0fbb50d0298 (patch) | |
tree | 143333cd92b0a7c18dc802589bf523048f9327bd /config-model/src/main/java | |
parent | 28d9bc98b9fdce4ab87ada59660b36369d934694 (diff) |
Revert "Merge pull request #6781 from vespa-engine/revert-6774-bratseth/handle-large-constants"
This reverts commit f4b81d662c31f25b2be8964fd22bacf11b60e362, reversing
changes made to f0405491348b35153b6bc3137ae8af6df7255c05.
Diffstat (limited to 'config-model/src/main/java')
5 files changed, 34 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java index 4af26b72817..9a00ee5bbd0 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java @@ -94,7 +94,7 @@ public class DerivedConfiguration { summaries = new Summaries(search, deployLogger); summaryMap = new SummaryMap(search, summaries); juniperrc = new Juniperrc(search); - rankProfileList = new RankProfileList(search, attributeFields, rankProfileRegistry, queryProfiles, importedModels); + rankProfileList = new RankProfileList(search, search.rankingConstants(), attributeFields, rankProfileRegistry, queryProfiles, importedModels); indexingScript = new IndexingScript(search); indexInfo = new IndexInfo(search); indexSchema = new IndexSchema(search); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java index 10881ab9ce0..e58b3da4f72 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java @@ -3,24 +3,33 @@ package com.yahoo.searchdefinition.derived; import com.yahoo.search.query.profile.QueryProfileRegistry; import com.yahoo.searchdefinition.RankProfileRegistry; +import com.yahoo.searchdefinition.RankingConstant; +import com.yahoo.searchdefinition.RankingConstants; import com.yahoo.searchlib.rankingexpression.integration.ml.ImportedModels; import com.yahoo.vespa.config.search.RankProfilesConfig; import com.yahoo.searchdefinition.RankProfile; import com.yahoo.searchdefinition.Search; +import com.yahoo.vespa.config.search.core.RankingConstantsConfig; + import java.util.Map; +import java.util.logging.Logger; /** * The derived rank profiles of a search definition * * @author bratseth */ -public class RankProfileList extends Derived implements RankProfilesConfig.Producer { +public class RankProfileList extends Derived implements RankProfilesConfig.Producer, RankingConstantsConfig.Producer { + + private static final Logger log = Logger.getLogger(RankProfileList.class.getName()); private final Map<String, RawRankProfile> rankProfiles = new java.util.LinkedHashMap<>(); + private final RankingConstants rankingConstants; public static RankProfileList empty = new RankProfileList(); private RankProfileList() { + this.rankingConstants = new RankingConstants(); } /** @@ -30,11 +39,13 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ * @param attributeFields the attribute fields to create a ranking for */ public RankProfileList(Search search, + RankingConstants rankingConstants, AttributeFields attributeFields, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryProfiles, ImportedModels importedModels) { setName(search == null ? "default" : search.getName()); + this.rankingConstants = rankingConstants; deriveRankProfiles(rankProfileRegistry, queryProfiles, importedModels, search, attributeFields); } @@ -78,4 +89,17 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ } } + @Override + public void getConfig(RankingConstantsConfig.Builder builder) { + for (RankingConstant constant : rankingConstants.asMap().values()) { + if ("".equals(constant.getFileReference())) + log.warning("Illegal file reference " + constant); // Let tests pass ... we should find a better way + else + builder.constant(new RankingConstantsConfig.Constant.Builder() + .name(constant.getName()) + .fileref(constant.getFileReference()) + .type(constant.getType())); + } + } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index 3e9d188670e..1b15233fead 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -169,6 +169,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri deployState.rankProfileRegistry(), deployState.getQueryProfiles().getRegistry()); this.rankProfileList = new RankProfileList(null, // null search -> global + rankingConstants, AttributeFields.empty, deployState.rankProfileRegistry(), deployState.getQueryProfiles().getRegistry(), diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 8c6c13d810f..606d5d5afb0 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -45,6 +45,7 @@ import com.yahoo.searchdefinition.RankProfileRegistry; import com.yahoo.searchdefinition.derived.AttributeFields; import com.yahoo.searchdefinition.derived.RankProfileList; import com.yahoo.vespa.config.search.RankProfilesConfig; +import com.yahoo.vespa.config.search.core.RankingConstantsConfig; import com.yahoo.vespa.configdefinition.IlscriptsConfig; import com.yahoo.vespa.model.PortsMeta; import com.yahoo.vespa.model.Service; @@ -129,7 +130,8 @@ public final class ContainerCluster RoutingProviderConfig.Producer, ConfigserverConfig.Producer, ThreadpoolConfig.Producer, - RankProfilesConfig.Producer + RankProfilesConfig.Producer, + RankingConstantsConfig.Producer { @@ -732,6 +734,9 @@ public final class ContainerCluster rankProfileList.getConfig(builder); } + @Override + public void getConfig(RankingConstantsConfig.Builder builder) { rankProfileList.getConfig(builder); } + public void setMbusParams(MbusParams mbusParams) { this.mbusParams = mbusParams; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java b/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java index a6bf51a2503..b29ed0fc25b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java @@ -75,16 +75,7 @@ public class DocumentDatabase extends AbstractConfigProducer implements @Override public void getConfig(RankingConstantsConfig.Builder builder) { - for (RankingConstant constant : derivedCfg.getSearch().rankingConstants().asMap().values()) { - if ("".equals(constant.getFileReference())) { - System.err.println("INVALID rank constant "+constant.getName()+" [missing file reference]"); // TODO: Throw or log warning - continue; - } - builder.constant(new RankingConstantsConfig.Constant.Builder() - .name(constant.getName()) - .fileref(constant.getFileReference()) - .type(constant.getType())); - } + derivedCfg.getRankProfileList().getConfig(builder); } @Override |