summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2020-11-23 13:38:50 +0100
committerGitHub <noreply@github.com>2020-11-23 13:38:50 +0100
commit38006ebe5b0c25c578491f74a4c47d546019208d (patch)
tree3d2c7fdfe73bf0f5759230c7bb916d4f6736ce2f /config-model
parent12d0b8124c989e36fa31236adf66ceb18f9165af (diff)
parent2643e022c01b1ec88509eac5ce526e29249afa49 (diff)
Merge pull request #15421 from vespa-engine/jonmv/reindexing-rest-api-take2
Revert "Revert "Jonmv/reindexing rest api""
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java52
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ReindexingController.java48
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/ContainerIncludeTest.java2
4 files changed, 44 insertions, 60 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index acd4d705889..2ffc24239f9 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -97,7 +97,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
private static final long serialVersionUID = 1L;
- public static final Logger log = Logger.getLogger(VespaModel.class.getPackage().toString());
+ public static final Logger log = Logger.getLogger(VespaModel.class.getName());
private final Version version;
private final ConfigModelRepo configModelRepo = new ConfigModelRepo();
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 ec8607daaca..9e15db348a2 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
@@ -3,13 +3,16 @@ package com.yahoo.vespa.model.admin.clustercontroller;
import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.component.ComponentSpecification;
+import com.yahoo.config.model.api.Reindexing;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
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;
import com.yahoo.vespa.config.content.FleetcontrollerConfig;
+import com.yahoo.vespa.config.content.reindexing.ReindexingConfig;
import com.yahoo.vespa.model.application.validation.RestartConfigs;
import com.yahoo.vespa.model.container.Container;
import com.yahoo.vespa.model.container.component.AccessLogComponent;
@@ -28,12 +31,15 @@ import java.util.TreeSet;
@RestartConfigs({FleetcontrollerConfig.class, ZookeeperServerConfig.class})
public class ClusterControllerContainer extends Container implements
PlatformBundlesConfig.Producer,
- ZookeeperServerConfig.Producer
+ ZookeeperServerConfig.Producer,
+ ReindexingConfig.Producer
{
private static final ComponentSpecification CLUSTERCONTROLLER_BUNDLE = new ComponentSpecification("clustercontroller-apps");
private static final ComponentSpecification ZOOKEEPER_SERVER_BUNDLE = new ComponentSpecification("zookeeper-server");
+ private static final ComponentSpecification REINDEXING_CONTROLLER_BUNDLE = new ComponentSpecification("clustercontroller-reindexer");
private final Set<String> bundles = new TreeSet<>();
+ private final ReindexingContext reindexingContext;
public ClusterControllerContainer(
AbstractConfigProducer<?> parent,
@@ -42,12 +48,16 @@ public class ClusterControllerContainer extends Container implements
boolean isHosted,
ReindexingContext reindexingContext) {
super(parent, "" + index, index, isHosted);
+ this.reindexingContext = reindexingContext;
+
addHandler("clustercontroller-status",
"com.yahoo.vespa.clustercontroller.apps.clustercontroller.StatusHandler",
- "/clustercontroller-status/*");
+ "/clustercontroller-status/*",
+ CLUSTERCONTROLLER_BUNDLE);
addHandler("clustercontroller-state-restapi-v2",
"com.yahoo.vespa.clustercontroller.apps.clustercontroller.StateRestApiV2Handler",
- "/cluster/v2/*");
+ "/cluster/v2/*",
+ CLUSTERCONTROLLER_BUNDLE);
if (runStandaloneZooKeeper) {
addComponent("clustercontroller-zkrunner",
"com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl",
@@ -73,7 +83,7 @@ public class ClusterControllerContainer extends Container implements
addFileBundle("clustercontroller-core");
addFileBundle("clustercontroller-utils");
addFileBundle("zookeeper-server");
- configureReindexing(reindexingContext);
+ configureReindexing();
}
@Override
@@ -110,15 +120,21 @@ public class ClusterControllerContainer extends Container implements
addComponent(new Component<>(createComponentModel(id, className, bundle)));
}
- private void addHandler(String id, String className, String path) {
- addHandler(new Handler(createComponentModel(id, className, CLUSTERCONTROLLER_BUNDLE)), path);
+ private void addHandler(String id, String className, String path, ComponentSpecification bundle) {
+ addHandler(new Handler(createComponentModel(id, className, bundle)), path);
}
- private void configureReindexing(ReindexingContext context) {
- if (context != null) {
- addFileBundle(ReindexingController.REINDEXING_CONTROLLER_BUNDLE);
- addComponent(new ReindexingController(context));
+ private void configureReindexing() {
+ if (reindexingContext != null) {
+ addFileBundle(REINDEXING_CONTROLLER_BUNDLE.getName());
addComponent(new SimpleComponent(DocumentAccessProvider.class.getName()));
+ addComponent("reindexing-maintainer",
+ "ai.vespa.reindexing.ReindexingMaintainer",
+ REINDEXING_CONTROLLER_BUNDLE);
+ addHandler("reindexing-status",
+ "ai.vespa.reindexing.http.ReindexingV1ApiHandler",
+ "/reindexing/v1/*",
+ REINDEXING_CONTROLLER_BUNDLE);
}
}
@@ -133,4 +149,20 @@ public class ClusterControllerContainer extends Container implements
builder.myid(index());
}
+ @Override
+ public void getConfig(ReindexingConfig.Builder builder) {
+ if (reindexingContext == null)
+ return;
+
+ builder.clusterName(reindexingContext.contentClusterName());
+ builder.enabled(reindexingContext.reindexing().enabled());
+ for (NewDocumentType type : reindexingContext.documentTypes()) {
+ String typeName = type.getFullName().getName();
+ reindexingContext.reindexing().status(reindexingContext.contentClusterName(), typeName)
+ .ifPresent(status -> builder.status(typeName,
+ new ReindexingConfig.Status.Builder()
+ .readyAtMillis(status.ready().toEpochMilli())));
+ }
+ }
+
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ReindexingController.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ReindexingController.java
deleted file mode 100644
index 24909ddbc8d..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ReindexingController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.model.admin.clustercontroller;
-
-import com.yahoo.config.model.api.Reindexing;
-import com.yahoo.container.bundle.BundleInstantiationSpecification;
-import com.yahoo.documentmodel.NewDocumentType;
-import com.yahoo.osgi.provider.model.ComponentModel;
-import com.yahoo.vespa.config.content.reindexing.ReindexingConfig;
-import com.yahoo.vespa.model.container.component.SimpleComponent;
-
-import java.util.Collection;
-
-/**
- * @author bjorncs
- */
-class ReindexingController extends SimpleComponent implements ReindexingConfig.Producer {
-
- static final String REINDEXING_CONTROLLER_BUNDLE = "clustercontroller-reindexer";
-
- private final Reindexing reindexing;
- private final String contentClusterName;
- private final Collection<NewDocumentType> documentTypes;
-
- ReindexingController(ReindexingContext context) {
- super(new ComponentModel(
- BundleInstantiationSpecification.getFromStrings(
- "reindexing-maintainer",
- "ai.vespa.reindexing.ReindexingMaintainer",
- REINDEXING_CONTROLLER_BUNDLE)));
- this.reindexing = context.reindexing();
- this.contentClusterName = context.contentClusterName();
- this.documentTypes = context.documentTypes();
- }
-
- @Override
- public void getConfig(ReindexingConfig.Builder builder) {
- builder.clusterName(contentClusterName);
- builder.enabled(reindexing.enabled());
- for (NewDocumentType type : documentTypes) {
- String typeName = type.getFullName().getName();
- reindexing.status(contentClusterName, typeName).ifPresent(status ->
- builder.status(
- typeName,
- new ReindexingConfig.Status.Builder()
- .readyAtMillis(status.ready().toEpochMilli())));
- }
- }
-}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerIncludeTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerIncludeTest.java
index 62a36422dd8..7d4be4b5e33 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerIncludeTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerIncludeTest.java
@@ -18,7 +18,7 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
/**
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
+ * @author Einar M R Rosenvinge
* @since 5.1.13
*/
public class ContainerIncludeTest {