diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/processing')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/processing/AddExtraFieldsToDocument.java | 46 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/processing/IndexingOutputs.java | 15 |
2 files changed, 3 insertions, 58 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/processing/AddExtraFieldsToDocument.java b/config-model/src/main/java/com/yahoo/schema/processing/AddExtraFieldsToDocument.java index e736f289003..49de976f7d0 100644 --- a/config-model/src/main/java/com/yahoo/schema/processing/AddExtraFieldsToDocument.java +++ b/config-model/src/main/java/com/yahoo/schema/processing/AddExtraFieldsToDocument.java @@ -24,8 +24,6 @@ import java.util.Set; */ public class AddExtraFieldsToDocument extends Processor { - Set<String> extraSummaryFields = new LinkedHashSet<String>(); - AddExtraFieldsToDocument(Schema schema, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles) { super(schema, deployLogger, rankProfileRegistry, queryProfiles); } @@ -39,29 +37,7 @@ public class AddExtraFieldsToDocument extends Processor { } for (var docsum : schema.getSummaries().values()) { for (var summaryField : docsum.getSummaryFields().values()) { - var transform = summaryField.getTransform(); - if (transform.isDynamic() && DynamicSummaryTransformUtils.summaryFieldIsRequiredInDocumentType(summaryField) || - transform == SummaryTransform.NONE) - { - addSummaryField(schema, document, summaryField, validate); - } else { - // skip: generated from attribute or similar, - // so does not need to be included as an extra - // field in the document type - } - } - } - /* - * Don't use extra summary fields when generating summaries. They will not be created nor populated by - * future vespa versions. When vespa version 'X' stops using these fields and vespa version 'Y' stops - * populating the fields, rollback from vespa version >= 'Y' to vespa version < 'X' will break (missing - * summary fields). - */ - for (var docsum : schema.getSummaries().values()) { - for (var summaryField : docsum.getSummaryFields().values()) { - if (extraSummaryFields.contains(summaryField.getName())) { - considerCopyTransformForExtraSummaryField(schema, summaryField); - } + considerCopyTransformForExtraSummaryField(schema, summaryField); } } } @@ -79,24 +55,6 @@ public class AddExtraFieldsToDocument extends Processor { addField(schema, document, field, validate); } - private void addSummaryField(Schema schema, SDDocumentType document, SummaryField field, boolean validate) { - Field docField = document.getField(field.getName()); - if (docField == null) { - ImmutableSDField existingField = schema.getField(field.getName()); - if (existingField == null) { - SDField newField = new SDField(document, field.getName(), field.getDataType()); - newField.setIsExtraField(true); - extraSummaryFields.add(field.getName()); - document.addField(newField); - } else if (!existingField.isImportedField()) { - document.addField(existingField.asField()); - } - } else if (!docField.getDataType().equals(field.getDataType())) { - if (validate) - throw newProcessException(schema, field, "Summary field has conflicting type."); - } - } - private void addField(Schema schema, SDDocumentType document, Field field, boolean validate) { if (document.getField(field.getName()) != null && !(document.getField(field.getName()) == field)) { if (validate) @@ -114,6 +72,6 @@ public class AddExtraFieldsToDocument extends Processor { private boolean fieldIsExtraSummaryField(Schema schema, String name) { var field = schema.getConcreteField(name); - return field == null || extraSummaryFields.contains(name); + return field == null; } } diff --git a/config-model/src/main/java/com/yahoo/schema/processing/IndexingOutputs.java b/config-model/src/main/java/com/yahoo/schema/processing/IndexingOutputs.java index b5d1cf71809..3c655c24922 100644 --- a/config-model/src/main/java/com/yahoo/schema/processing/IndexingOutputs.java +++ b/config-model/src/main/java/com/yahoo/schema/processing/IndexingOutputs.java @@ -100,13 +100,11 @@ public class IndexingOutputs extends Processor { final Schema schema; final Field field; - final Set<String> summaryFields; final boolean validate; MyConverter(Schema schema, Field field, Set<String> summaryFields, boolean validate) { this.schema = schema; this.field = field; - this.summaryFields = summaryFields.isEmpty() ? Set.of(field.getName()) : summaryFields; this.validate = validate; } @@ -134,18 +132,7 @@ public class IndexingOutputs extends Processor { } else if (exp instanceof IndexExpression) { ret.add(new IndexExpression(field.getName())); } else if (exp instanceof SummaryExpression) { - for (String fieldName : summaryFields) { - ret.add(new SummaryExpression(fieldName)); - } - /* - * Write to summary field source. AddExtraFieldsToDocument processor adds the "copy" - * summary transform to summary fields without a corresponding explicitly declared - * document field (2023-11-01). Future vespa versions will stop adding document - * fields for those summary fields. - */ - if (!summaryFields.contains(field.getName())) { - ret.add(new SummaryExpression(field.getName())); - } + ret.add(new SummaryExpression(field.getName())); } else { throw new UnsupportedOperationException(exp.getClass().getName()); } |