summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-10-28 15:40:24 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-10-30 17:25:23 +0100
commit9682d9f7c5de1b38943c3c996ac152e896a1f37b (patch)
tree776020ed475897066233e1058be9b46dd6388b97 /config-model-api
parent9a6ee1f2287a679f31cb3706953dede231f13bb3 (diff)
Add types for a config change requiring reindexing
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeAction.java3
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeReindexAction.java20
2 files changed, 21 insertions, 2 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeAction.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeAction.java
index ffe011af1e8..2dfc2c37a40 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeAction.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeAction.java
@@ -4,7 +4,6 @@ package com.yahoo.config.model.api;
import com.yahoo.config.provision.ClusterSpec;
import java.util.List;
-import java.util.Optional;
/**
* Contains the action to be performed on the given services to handle a config change
@@ -15,7 +14,7 @@ import java.util.Optional;
public interface ConfigChangeAction {
enum Type {
- RESTART("restart"), REFEED("refeed");
+ RESTART("restart"), REFEED("refeed"), REINDEXING("reindexing");
private final String type;
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeReindexAction.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeReindexAction.java
new file mode 100644
index 00000000000..2ae60ba64bb
--- /dev/null
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ConfigChangeReindexAction.java
@@ -0,0 +1,20 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.model.api;
+
+import java.util.Optional;
+
+/**
+ * Represents an action to re-index a document type in order to handle a config change.
+ *
+ * @author bjorncs
+ */
+public interface ConfigChangeReindexAction extends ConfigChangeAction {
+
+ @Override default Type getType() { return Type.REINDEXING; }
+
+ /** @return name identifying this kind of change, used to identify names which should be allowed */
+ String name();
+
+ /** @return name of the document type that must bed re-indexed, or empty if all document types */
+ Optional<String> getDocumentType();
+}