summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-12-08 19:57:46 +0000
committerArne H Juul <arnej@yahooinc.com>2021-12-08 20:01:32 +0000
commit8a768c2028c25997aa50cf61f459135536641363 (patch)
tree03672b61abff7a1560388d6eb76f0e5abbe57310 /config-model
parent1ba7bec384d45a69a933aa0f2f3cfde62b5d9aa7 (diff)
avoid generating config twice for the document type
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java3
-rw-r--r--config-model/src/test/examples/fieldoftypedocument.cfg60
2 files changed, 32 insertions, 31 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
index c76577cf61a..667117e7069 100644
--- a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
+++ b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
@@ -38,7 +38,8 @@ public class DocumentManager {
for(NewDocumentType documentType : model.getDocumentManager().getTypes()) {
buildConfig(documentType, documentConfigBuilder, handled);
buildConfig(documentType.getAnnotations(), documentConfigBuilder);
- if ( documentType != VespaDocumentType.INSTANCE) {
+ if (documentType != VespaDocumentType.INSTANCE && ! handled.contains(documentType)) {
+ handled.add(documentType);
DocumentmanagerConfig.Datatype.Builder dataTypeBuilder = new DocumentmanagerConfig.Datatype.Builder();
documentConfigBuilder.datatype(dataTypeBuilder);
buildConfig(documentType, dataTypeBuilder);
diff --git a/config-model/src/test/examples/fieldoftypedocument.cfg b/config-model/src/test/examples/fieldoftypedocument.cfg
index 5753ae556a6..82a30012a07 100644
--- a/config-model/src/test/examples/fieldoftypedocument.cfg
+++ b/config-model/src/test/examples/fieldoftypedocument.cfg
@@ -23,37 +23,37 @@ datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "soundtrack"
datatype[1].structtype[0].field[0].datatype 1412693671
datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id -1383388565
-datatype[2].documenttype[0].name "book"
+datatype[2].id 1412693671
+datatype[2].documenttype[0].name "music"
datatype[2].documenttype[0].version 0
datatype[2].documenttype[0].inherits[0].name "document"
datatype[2].documenttype[0].inherits[0].version 0
-datatype[2].documenttype[0].headerstruct -1344444812
+datatype[2].documenttype[0].headerstruct -1910204744
datatype[2].documenttype[0].bodystruct 0
-datatype[2].documenttype[0].fieldsets{[document]}.fields[0] "soundtrack"
-datatype[3].id -1910204744
-datatype[3].structtype[0].name "music.header"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[3].structtype[0].field[0].name "intfield"
-datatype[3].structtype[0].field[0].datatype 0
-datatype[3].structtype[0].field[0].detailedtype ""
-datatype[3].structtype[0].field[1].name "stringfield"
-datatype[3].structtype[0].field[1].datatype 2
-datatype[3].structtype[0].field[1].detailedtype ""
-datatype[3].structtype[0].field[2].name "longfield"
-datatype[3].structtype[0].field[2].datatype 4
-datatype[3].structtype[0].field[2].detailedtype ""
-datatype[4].id 1412693671
-datatype[4].documenttype[0].name "music"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct -1910204744
-datatype[4].documenttype[0].bodystruct 0
-datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "intfield"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "longfield"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "stringfield"
+datatype[2].documenttype[0].fieldsets{[document]}.fields[0] "intfield"
+datatype[2].documenttype[0].fieldsets{[document]}.fields[1] "longfield"
+datatype[2].documenttype[0].fieldsets{[document]}.fields[2] "stringfield"
+datatype[3].id -1383388565
+datatype[3].documenttype[0].name "book"
+datatype[3].documenttype[0].version 0
+datatype[3].documenttype[0].inherits[0].name "document"
+datatype[3].documenttype[0].inherits[0].version 0
+datatype[3].documenttype[0].headerstruct -1344444812
+datatype[3].documenttype[0].bodystruct 0
+datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "soundtrack"
+datatype[4].id -1910204744
+datatype[4].structtype[0].name "music.header"
+datatype[4].structtype[0].version 0
+datatype[4].structtype[0].compresstype NONE
+datatype[4].structtype[0].compresslevel 0
+datatype[4].structtype[0].compressthreshold 95
+datatype[4].structtype[0].compressminsize 800
+datatype[4].structtype[0].field[0].name "intfield"
+datatype[4].structtype[0].field[0].datatype 0
+datatype[4].structtype[0].field[0].detailedtype ""
+datatype[4].structtype[0].field[1].name "stringfield"
+datatype[4].structtype[0].field[1].datatype 2
+datatype[4].structtype[0].field[1].detailedtype ""
+datatype[4].structtype[0].field[2].name "longfield"
+datatype[4].structtype[0].field[2].datatype 4
+datatype[4].structtype[0].field[2].detailedtype ""