diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-27 11:59:14 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-27 11:59:14 +0100 |
commit | a571ac4ee3f30a8a4b292f779dcb0e66d4c56002 (patch) | |
tree | c06d4d537366a2223f9f50bda712896429b07cfa | |
parent | 71ed3ba1d080a44db7c44eb8b9bc7af29ed8f11f (diff) |
Reduce dependency on documentapi.
4 files changed, 20 insertions, 23 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java index 69accef2fe4..d6569dcaa58 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java @@ -9,7 +9,6 @@ import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.container.bundle.BundleInstantiationSpecification; -import com.yahoo.container.core.documentapi.DocumentAccessProvider; import com.yahoo.container.di.config.PlatformBundlesConfig; import com.yahoo.documentmodel.NewDocumentType; import com.yahoo.osgi.provider.model.ComponentModel; @@ -148,7 +147,7 @@ public class ClusterControllerContainer extends Container implements private void configureReindexing() { addFileBundle(REINDEXING_CONTROLLER_BUNDLE.getName()); - addComponent(new SimpleComponent(DocumentAccessProvider.class.getName())); + addComponent(new SimpleComponent("com.yahoo.container.core.documentapi.DocumentAccessProvider")); addComponent("reindexing-maintainer", "ai.vespa.reindexing.ReindexingMaintainer", REINDEXING_CONTROLLER_BUNDLE); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index c0182c2f5ac..2f41c177ea5 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -112,7 +112,7 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat addSimpleComponent("com.yahoo.container.jdisc.SecretStoreProvider"); addSimpleComponent("com.yahoo.container.jdisc.CertificateStoreProvider"); addSimpleComponent("com.yahoo.container.jdisc.AthenzIdentityProviderProvider"); - addSimpleComponent(com.yahoo.container.core.documentapi.DocumentAccessProvider.class.getName()); + addSimpleComponent("com.yahoo.container.core.documentapi.DocumentAccessProvider"); addSimpleComponent(DOCUMENT_TYPE_MANAGER_CLASS); addMetricsHandlers(); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index 2053ac93aba..2d8d89e3bd2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -11,7 +11,6 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.Zone; -import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import com.yahoo.documentmodel.NewDocumentType; import com.yahoo.metrics.MetricsmanagerConfig; import com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig; @@ -21,6 +20,7 @@ import com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig; import com.yahoo.vespa.config.content.StorDistributionConfig; import com.yahoo.vespa.config.content.core.BucketspacesConfig; import com.yahoo.vespa.config.content.core.StorDistributormanagerConfig; +import com.yahoo.vespa.model.AbstractService; import com.yahoo.vespa.model.HostResource; import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerCluster; @@ -48,6 +48,7 @@ import com.yahoo.vespa.model.content.StorageGroup; import com.yahoo.vespa.model.content.engines.PersistenceEngine; import com.yahoo.vespa.model.content.engines.ProtonEngine; import com.yahoo.vespa.model.content.storagecluster.StorageCluster; +import com.yahoo.vespa.model.routing.DocumentProtocol; import com.yahoo.vespa.model.search.IndexedSearchCluster; import com.yahoo.vespa.model.search.Tuning; import org.w3c.dom.Element; @@ -155,10 +156,6 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce if (tuning != null) setupTuning(c, tuning); - ModelElement experimental = contentElement.child("experimental"); - if (experimental != null) - setupExperimental(c, experimental); - if (context.getParentProducer().getRoot() == null) return c; addClusterControllers(context, contentElement, c, deployState); @@ -249,10 +246,6 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce return 0.0; } - private void setupExperimental(ContentCluster cluster, ModelElement experimental) { - // Put handling of experimental flags here - } - private void validateGroupSiblings(String cluster, StorageGroup group) { Set<String> siblings = new HashSet<>(); for (StorageGroup g : group.getSubgroups()) { @@ -302,7 +295,7 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce } else { // self-hosted: Put cluster controller on config servers or use explicit cluster controllers if (admin.getClusterControllers() == null) { - var hosts = admin.getConfigservers().stream().map(s -> s.getHostResource()).toList(); + var hosts = admin.getConfigservers().stream().map(AbstractService::getHostResource).toList(); if (hosts.size() > 1) { var message = "When having content clusters and more than 1 config server " + "it is recommended to configure cluster controllers explicitly."; @@ -447,16 +440,7 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce @Override public void getConfig(MessagetyperouteselectorpolicyConfig.Builder builder) { if ( ! getSearch().hasIndexedCluster()) return; - builder.defaultroute(com.yahoo.vespa.model.routing.DocumentProtocol.getDirectRouteName(getConfigId())) - .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() - .messagetype(DocumentProtocol.MESSAGE_PUTDOCUMENT) - .name(com.yahoo.vespa.model.routing.DocumentProtocol.getIndexedRouteName(getConfigId()))) - .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() - .messagetype(DocumentProtocol.MESSAGE_REMOVEDOCUMENT) - .name(com.yahoo.vespa.model.routing.DocumentProtocol.getIndexedRouteName(getConfigId()))) - .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() - .messagetype(DocumentProtocol.MESSAGE_UPDATEDOCUMENT) - .name(com.yahoo.vespa.model.routing.DocumentProtocol.getIndexedRouteName(getConfigId()))); + DocumentProtocol.getConfig(builder, getConfigId()); } public com.yahoo.vespa.model.content.StorageGroup getRootGroup() { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/routing/DocumentProtocol.java b/config-model/src/main/java/com/yahoo/vespa/model/routing/DocumentProtocol.java index 8a8d38e23e3..ad0312705ca 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/routing/DocumentProtocol.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/routing/DocumentProtocol.java @@ -9,6 +9,7 @@ import com.yahoo.messagebus.routing.ApplicationSpec; import com.yahoo.messagebus.routing.HopSpec; import com.yahoo.messagebus.routing.RouteSpec; import com.yahoo.messagebus.routing.RoutingTableSpec; +import com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig; import com.yahoo.vespa.model.container.Container; import com.yahoo.vespa.model.container.ContainerCluster; import com.yahoo.vespa.model.container.ContainerModel; @@ -118,6 +119,19 @@ public final class DocumentProtocol implements Protocol, } } + public static void getConfig(MessagetyperouteselectorpolicyConfig.Builder builder, String configId) { + builder.defaultroute(getDirectRouteName(configId)) + .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() + .messagetype(com.yahoo.documentapi.messagebus.protocol.DocumentProtocol.MESSAGE_PUTDOCUMENT) + .name(getIndexedRouteName(configId))) + .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() + .messagetype(com.yahoo.documentapi.messagebus.protocol.DocumentProtocol.MESSAGE_REMOVEDOCUMENT) + .name(getIndexedRouteName(configId))) + .route(new MessagetyperouteselectorpolicyConfig.Route.Builder() + .messagetype(com.yahoo.documentapi.messagebus.protocol.DocumentProtocol.MESSAGE_UPDATEDOCUMENT) + .name(getIndexedRouteName(configId))); + } + private static void addRoutes(String directRoute, String indexedRoute, DocumentProtocolPoliciesConfig.Cluster.Builder builder) { builder.defaultRoute(directRoute) .route(new DocumentProtocolPoliciesConfig.Cluster.Route.Builder() |