diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-14 13:28:42 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-14 13:42:08 +0100 |
commit | 764fb86ffd0908a0599de67a81e8b1a745836c70 (patch) | |
tree | d7aafaabb61e04d1f90d54d6700e55a1f1af96c4 /config-model | |
parent | 2d415aed93581592feaf14f8774120319b90c677 (diff) |
Validate based on index mode of schema, not the mode of the searchcluster
Diffstat (limited to 'config-model')
5 files changed, 13 insertions, 19 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldAttributesValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldAttributesValidator.java index 12f3f025996..7b7c92a43e0 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldAttributesValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldAttributesValidator.java @@ -28,10 +28,10 @@ public class ComplexFieldsWithStructFieldAttributesValidator implements Validato public void validate(Context context) { List<SearchCluster> searchClusters = context.model().getSearchClusters(); for (SearchCluster cluster : searchClusters) { - if (cluster.isStreaming()) continue; - for (SchemaInfo spec : cluster.schemas().values()) { - validateComplexFields(context, cluster.getClusterName(), spec.fullSchema(), context.deployState().getDeployLogger()); + if (spec.getIndexMode() == SchemaInfo.IndexMode.INDEX) { + validateComplexFields(context, cluster.getClusterName(), spec.fullSchema(), context.deployState().getDeployLogger()); + } } } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldIndexesValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldIndexesValidator.java index 3dbba081400..2d553c84f48 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldIndexesValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldIndexesValidator.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.model.application.validation; import com.yahoo.schema.Schema; +import com.yahoo.schema.derived.SchemaInfo; import com.yahoo.schema.document.ImmutableSDField; import com.yahoo.vespa.model.application.validation.Validation.Context; @@ -24,11 +25,10 @@ public class ComplexFieldsWithStructFieldIndexesValidator implements Validator { @Override public void validate(Context context) { for (var cluster : context.model().getSearchClusters()) { - if (cluster.isStreaming()) { - continue; - } for (var spec : cluster.schemas().values()) { - validateComplexFields(context, cluster.getClusterName(), spec.fullSchema()); + if (spec.getIndexMode() == SchemaInfo.IndexMode.INDEX) { + validateComplexFields(context, cluster.getClusterName(), spec.fullSchema()); + } } } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java index 15d293e4abc..2ea4755ca75 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java @@ -8,7 +8,6 @@ import com.yahoo.schema.document.ImmutableSDField; import com.yahoo.schema.document.MatchAlgorithm; import com.yahoo.vespa.model.application.validation.Validation.Context; import com.yahoo.vespa.model.search.DocumentDatabase; -import com.yahoo.vespa.model.search.IndexedSearchCluster; import com.yahoo.vespa.model.search.SearchCluster; import java.util.Map; @@ -23,10 +22,9 @@ public class NoPrefixForIndexes implements Validator { @Override public void validate(Context context) { for (SearchCluster cluster : context.model().getSearchClusters()) { - if (cluster instanceof IndexedSearchCluster) { - IndexedSearchCluster sc = (IndexedSearchCluster) cluster; - for (DocumentDatabase docDb : sc.getDocumentDbs()) { - DerivedConfiguration sdConfig = docDb.getDerivedConfiguration(); + for (DocumentDatabase docDb : cluster.getDocumentDbs()) { + DerivedConfiguration sdConfig = docDb.getDerivedConfiguration(); + if ( ! sdConfig.isStreaming() ) { Schema schema = sdConfig.getSchema(); for (ImmutableSDField field : schema.allConcreteFields()) { if (field.doesIndexing()) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java index 03076b64d0c..736665b2184 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java @@ -69,7 +69,7 @@ public class RankSetupValidator implements Validator { String schemaDir = clusterDir + schemaName + "/"; writeConfigs(schemaDir, docDb); writeExtraVerifyRankSetupConfig(schemaDir, docDb); - if (!validate(context, "dir:" + schemaDir, sc, schemaName, cfgDir, sc.isStreaming())) { + if (!validate(context, "dir:" + schemaDir, sc, schemaName, cfgDir, docDb.getDerivedConfiguration().isStreaming())) { return; } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java index 6e21adc4fe4..cd8094f8c12 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java @@ -31,15 +31,11 @@ public class SearchDataTypeValidator implements Validator { public void validate(Context context) { List<SearchCluster> clusters = context.model().getSearchClusters(); for (SearchCluster cluster : clusters) { - if (cluster.isStreaming()) { - continue; - } for (SchemaInfo spec : cluster.schemas().values()) { SDDocumentType docType = spec.fullSchema().getDocument(); - if (docType == null) { - continue; + if (docType != null && spec.getIndexMode() == SchemaInfo.IndexMode.INDEX) { + validateDocument(context, cluster, spec.fullSchema(), docType); } - validateDocument(context, cluster, spec.fullSchema(), docType); } } } |