diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-09-27 09:14:01 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-09-27 09:14:01 +0200 |
commit | a295d10844b7534bb12f4a18ee2054e54d08c003 (patch) | |
tree | b5632046f215b2df65d1d5e40817aecd2a605d5a /controller-server | |
parent | 484551af5b25d497ac5a63402505e5b937f7288e (diff) |
Validate before storing, and make clear that method has side effects (storing)
Diffstat (limited to 'controller-server')
2 files changed, 6 insertions, 10 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index b70eb8d6fa7..b3158102182 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -331,13 +331,9 @@ public class ApplicationController { validateRun(application.get(), zone, platformVersion, applicationVersion); } - validate(applicationPackage.deploymentSpec()); - // Update application with information from application package - if ( ! preferOldestVersion && ! application.get().deploymentJobs().builtInternally()) { - application = withUpdatedConfig(application, applicationPackage); - store(application); // store missing information even if we fail deployment below - } + if ( ! preferOldestVersion && ! application.get().deploymentJobs().builtInternally()) + application = storeWithUpdatedConfig(application, applicationPackage); // Assign global rotation application = withRotation(application, zone); @@ -360,8 +356,9 @@ public class ApplicationController { } /** Stores the deployment spec and validation overrides from the application package, and runs cleanup. */ - public LockedApplication withUpdatedConfig(LockedApplication application, ApplicationPackage applicationPackage) { - // Store information about application package + public LockedApplication storeWithUpdatedConfig(LockedApplication application, ApplicationPackage applicationPackage) { + validate(applicationPackage.deploymentSpec()); + application = application.with(applicationPackage.deploymentSpec()); application = application.with(applicationPackage.validationOverrides()); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java index e9b0267a443..994f47ab004 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java @@ -227,8 +227,7 @@ public class JobController { }); } - controller.applications().store(controller.applications().withUpdatedConfig(application.withBuiltInternally(true), - new ApplicationPackage(applicationPackage))); + controller.applications().storeWithUpdatedConfig(application.withBuiltInternally(true), new ApplicationPackage(applicationPackage)); notifyOfNewSubmission(id, revision, run); }); |