From b6f197461e83a02c9bdd13da0cfc932fcacabbc1 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Tue, 12 Jul 2022 00:33:37 +0200 Subject: Create processing handler from the default bundle (not from container-search-and-docproc) + Simplify creation of ProcessingHandler instances. --- .../java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java | 2 +- .../java/com/yahoo/vespa/model/container/ContainerCluster.java | 4 +++- .../vespa/model/container/component/chain/ProcessingHandler.java | 7 ++++--- .../com/yahoo/vespa/model/container/docproc/DocprocChains.java | 4 +++- .../com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java | 6 ++++-- 5 files changed, 15 insertions(+), 8 deletions(-) (limited to 'config-model/src/main') diff --git a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java index d5f41353616..f23f27c0d8e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java @@ -81,7 +81,7 @@ public class ContainerDocumentApi { private static Handler createHandler(String className, Threadpool executor) { return new Handler(new ComponentModel(className, null, "vespaclient-container-plugin"), - executor); + executor); } public static final class HandlerOptions { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 188f6d223f4..b3189fe9251 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -318,7 +318,9 @@ public abstract class ContainerCluster this.processingChains = processingChains; - ProcessingHandler processingHandler = new ProcessingHandler<>(processingChains, PROCESSING_HANDLER_CLASS); + ProcessingHandler processingHandler = new ProcessingHandler<>( + processingChains, + BundleInstantiationSpecification.getFromStrings(PROCESSING_HANDLER_CLASS, null, null)); for (BindingPattern binding: serverBindings) processingHandler.addServerBindings(binding); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java index 6036ce66162..897a1f22f30 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/chain/ProcessingHandler.java @@ -22,12 +22,13 @@ public class ProcessingHandler> protected final CHAINS chains; - public ProcessingHandler(CHAINS chains, String handlerClass) { - this(chains, BundleInstantiationSpecification.getInternalProcessingSpecificationFromStrings(handlerClass, null), null); + // Create a handler that uses the default threadpool for handlers + public ProcessingHandler(CHAINS chains, BundleInstantiationSpecification spec) { + this(chains, spec, null); } public ProcessingHandler(CHAINS chains, BundleInstantiationSpecification spec, ContainerThreadpool threadpool) { - super(new ComponentModel(spec, null), threadpool); + super(new ComponentModel(spec), threadpool); this.chains = chains; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java index 31ba195775b..43f86da1461 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChains.java @@ -26,7 +26,9 @@ public class DocprocChains extends Chains { public DocprocChains(AbstractConfigProducer parent, String subId) { super(parent, subId); - docprocHandler = new ProcessingHandler<>(this, "com.yahoo.docproc.jdisc.DocumentProcessingHandler"); + docprocHandler = new ProcessingHandler<>( + this, + BundleInstantiationSpecification.getInternalHandlerSpecificationFromStrings("com.yahoo.docproc.jdisc.DocumentProcessingHandler", null)); addComponent(docprocHandler); addComponent( new SimpleComponent( diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 31c77e26d3e..ec447544073 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -30,6 +30,7 @@ import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.Zone; +import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.container.logging.FileConnectionLog; import com.yahoo.osgi.provider.model.ComponentModel; import com.yahoo.schema.OnnxModel; @@ -886,8 +887,9 @@ public class ContainerModelBuilder extends ConfigModelBuilder { private void addSearchHandler(ApplicationContainerCluster cluster, Element searchElement) { // Magic spell is needed to receive the chains config :-| - cluster.addComponent(new ProcessingHandler<>(cluster.getSearch().getChains(), - "com.yahoo.search.searchchain.ExecutionFactory")); + cluster.addComponent(new ProcessingHandler<>( + cluster.getSearch().getChains(), + BundleInstantiationSpecification.getInternalHandlerSpecificationFromStrings("com.yahoo.search.searchchain.ExecutionFactory", null))); cluster.addComponent( new SearchHandler( -- cgit v1.2.3