summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configdefinitions/src/vespa/configserver.def3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java8
2 files changed, 8 insertions, 3 deletions
diff --git a/configdefinitions/src/vespa/configserver.def b/configdefinitions/src/vespa/configserver.def
index 228a5c6fb4f..b92a865783a 100644
--- a/configdefinitions/src/vespa/configserver.def
+++ b/configdefinitions/src/vespa/configserver.def
@@ -61,3 +61,6 @@ tenantsMaintainerIntervalMinutes int default=525600
# How long bootstrapping can take before giving up (in seconds)
maxDurationOfBootstrap long default=7200
+
+# Feature Flags (poor man's feature flags, to be overridden in configserver-config.xml if needed)
+deleteApplicationLegacy bool default=false
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 1bfe14566f7..552a67c902e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -270,10 +270,12 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
*/
public boolean delete(ApplicationId applicationId) {
// TODO: Use deleteApplication() in all zones
- if ( ! configserverConfig.hostedVespa() || SystemName.from(configserverConfig.system()) == SystemName.cd) {
- return deleteApplication(applicationId);
- } else {
+ if (configserverConfig.deleteApplicationLegacy() ||
+ (configserverConfig.hostedVespa() && SystemName.from(configserverConfig.system()) == SystemName.main
+ && !Arrays.asList("corp-us-east-1", "aws-us-east-1a").contains(configserverConfig.region()))) {
return deleteApplicationLegacy(applicationId);
+ } else {
+ return deleteApplication(applicationId);
}
}