aboutsummaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorKristian Aune <kraune@verizonmedia.com>2022-10-20 15:25:02 +0200
committerKristian Aune <kraune@verizonmedia.com>2022-10-20 15:25:02 +0200
commit0e13ae2224a4f52d6f16eff96ed254531722b428 (patch)
treea01ad99ea52e3a5de00c93cb6d1c0ec4cbd15313 /config-model-api
parent373ba6880a5f7fb91682996ec971d5974edfce32 (diff)
Add "schema-removal alias for content-type-removal"
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ValidationId.java5
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/ValidationOverrideTest.java23
2 files changed, 26 insertions, 2 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationId.java b/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationId.java
index 71e0b0926b9..8784167a3e2 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationId.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationId.java
@@ -16,7 +16,7 @@ public enum ValidationId {
clusterSizeReduction("cluster-size-reduction"), // Large reductions in cluster size
tensorTypeChange("tensor-type-change"), // Tensor type change
resourcesReduction("resources-reduction"), // Large reductions in node resources
- contentTypeRemoval("content-type-removal"), // Removal of a data type (causes deletion of all data)
+ contentTypeRemoval("schema-removal"), // Removal of a schema (causes deletion of all documents)
contentClusterRemoval("content-cluster-removal"), // Removal (or id change) of content clusters
deploymentRemoval("deployment-removal"), // Removal of production zones from deployment.xml
globalDocumentChange("global-document-change"), // Changing global attribute for document types in content clusters
@@ -44,6 +44,9 @@ public enum ValidationId {
* @return the matching validation id or empty if none
*/
public static Optional<ValidationId> from(String id) {
+ // ToDo: Vespa 9 remove support for content-type-removal
+ if ("content-type-removal".equals(id)) return from("schema-removal");
+
for (ValidationId candidate : ValidationId.values())
if (id.equals(candidate.toString())) return Optional.of(candidate);
return Optional.empty();
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/ValidationOverrideTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/ValidationOverrideTest.java
index ba741804615..bf71947a983 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/ValidationOverrideTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/ValidationOverrideTest.java
@@ -89,5 +89,26 @@ public class ValidationOverrideTest {
catch (ValidationOverrides.ValidationException expected) {
}
}
-
+
+ @Test
+ public void testSchemaRemovalAliasForContentTypeRemoval() {
+ String validationOverridesContentType =
+ "<validation-overrides>" +
+ " <allow until='2000-02-02'>content-type-removal</allow>" +
+ "</validation-overrides>";
+ ValidationOverrides overrideContentTypeRemoval = ValidationOverrides
+ .fromXml(new StringReader(validationOverridesContentType));
+
+ String validationOverridesSchema =
+ "<validation-overrides>" +
+ " <allow until='2000-02-02'>schema-removal</allow>" +
+ "</validation-overrides>";
+ ValidationOverrides overrideSchemaRemoval = ValidationOverrides
+ .fromXml(new StringReader(validationOverridesSchema));
+
+
+ Instant now = ManualClock.at("2000-01-01T23:59:00");
+ assertOverridden("content-type-removal", overrideContentTypeRemoval, now);
+ assertOverridden("schema-removal", overrideSchemaRemoval, now);
+ }
}