aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-01-27 11:59:14 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2023-01-27 11:59:14 +0100
commita571ac4ee3f30a8a4b292f779dcb0e66d4c56002 (patch)
treec06d4d537366a2223f9f50bda712896429b07cfa
parent71ed3ba1d080a44db7c44eb8b9bc7af29ed8f11f (diff)
Reduce dependency on documentapi.
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java24
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/routing/DocumentProtocol.java14
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()