summaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
index db506c0ed51..03d70a610c6 100644
--- a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
+++ b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
@@ -126,8 +126,16 @@ class OverrideProcessor implements PreProcessor {
}
private boolean matches(Optional<Environment> elementEnvironment, RegionName elementRegion) {
- if (elementEnvironment.isPresent() && ! environment.equals(elementEnvironment.get())) return false;
- if ( ! elementRegion.isDefault() && ( ! region.equals(elementRegion) || ! environment.equals(Environment.prod))) return false;
+ if (elementEnvironment.isPresent()) { // match environment
+ if (! environment.equals(elementEnvironment.get())) return false;
+ }
+
+ if ( ! elementRegion.isDefault()) { // match region
+ if ( ! region.equals(elementRegion)) return false;
+ // match region but no environment in prod only to avoid a region attribute overriding capacity policies outside prod
+ if ( ! elementEnvironment.isPresent() && ! environment.equals(Environment.prod)) return false;
+ }
+
return true;
}