diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-14 14:07:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-14 14:07:09 +0100 |
commit | a7d038d0495efd5f0622a8ec000d3bd4a7d29864 (patch) | |
tree | 488f9b9362903820df77f78431866648a024cbef /config-model/src/main/java/com/yahoo | |
parent | eae18fe7f97f663ee5b0abe9d02af72caef6ba26 (diff) | |
parent | 764fb86ffd0908a0599de67a81e8b1a745836c70 (diff) |
Merge pull request #30628 from vespa-engine/balder/consider-mode-of-schema
Validate based on index mode of schema, not the mode of the searchclu…
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
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); } } } |