summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-03-14 13:28:42 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2024-03-14 13:42:08 +0100
commit764fb86ffd0908a0599de67a81e8b1a745836c70 (patch)
treed7aafaabb61e04d1f90d54d6700e55a1f1af96c4 /config-model
parent2d415aed93581592feaf14f8774120319b90c677 (diff)
Validate based on index mode of schema, not the mode of the searchcluster
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldAttributesValidator.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/ComplexFieldsWithStructFieldIndexesValidator.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/NoPrefixForIndexes.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/SearchDataTypeValidator.java8
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);
}
}
}