diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-05-03 08:13:51 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-05-03 08:13:51 +0200 |
commit | 45bc928423548c93e52000725df9a56971e3f8a6 (patch) | |
tree | 9011dc94a0584fc331d76eb865dbaeada2d0f753 /config-model/src/main/java/com/yahoo/vespa/model/application | |
parent | c5df332d4c7519565f45ce9301771c3662eda128 (diff) |
Revert "Merge pull request #17692 from vespa-engine/revert-17670-jonmv/reindexing-when-new-extra-field-is-added"
This reverts commit 320422464e326adcbe67891f0ace8d702e4fd18d, reversing
changes made to 23e6772cce9f39ae58b3ccd592f1ef69406d0b60.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/application')
2 files changed, 9 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/VespaReindexAction.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/VespaReindexAction.java index 8b4060e7d19..c2d23844687 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/VespaReindexAction.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/VespaReindexAction.java @@ -46,7 +46,7 @@ public class VespaReindexAction extends VespaConfigChangeAction implements Confi return new VespaReindexAction(clusterId(), validationId, newMessage, newServices, documentType); } - @Override public Optional<ValidationId> validationId() { return Optional.of(validationId); } + @Override public Optional<ValidationId> validationId() { return Optional.ofNullable(validationId); } @Override public String getDocumentType() { return documentType; } @Override public boolean ignoreForInternalRedeploy() { return false; } @Override public String toString() { return super.toString() + ", documentType='" + documentType + "'"; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java index 91e370211f1..20872bcf326 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/IndexingScriptChangeValidator.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.model.application.validation.change.search; import com.yahoo.config.application.api.ValidationId; -import com.yahoo.config.application.api.ValidationOverrides; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.searchdefinition.Search; import com.yahoo.searchdefinition.document.ImmutableSDField; @@ -13,8 +12,8 @@ import com.yahoo.vespa.indexinglanguage.expressions.ScriptExpression; import com.yahoo.vespa.model.application.validation.change.VespaConfigChangeAction; import com.yahoo.vespa.model.application.validation.change.VespaReindexAction; -import java.time.Instant; import java.util.ArrayList; +import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; @@ -37,12 +36,18 @@ public class IndexingScriptChangeValidator { public List<VespaConfigChangeAction> validate() { List<VespaConfigChangeAction> result = new ArrayList<>(); - for (ImmutableSDField nextField : nextSearch.allConcreteFields()) { + for (ImmutableSDField nextField : new LinkedHashSet<>(nextSearch.allConcreteFields())) { String fieldName = nextField.getName(); ImmutableSDField currentField = currentSearch.getConcreteField(fieldName); if (currentField != null) { validateScripts(currentField, nextField).ifPresent(r -> result.add(r)); } + else if (nextField.isExtraField()) { + result.add(VespaReindexAction.of(id, + null, + "Non-document field '" + nextField.getName() + + "' added; this may be populated by reindexing")); + } } return result; } |