diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-07-06 14:32:42 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-07-06 14:32:42 +0200 |
commit | 5bb63fcb4013d0c8d9e6ae93e0c76ce0bfaf11e7 (patch) | |
tree | f3a1db7db7c4bcda82a096baf3e8cb334015b4a1 /config-provisioning | |
parent | e1ff21d131360952d57db9498d8fd0962aee9c95 (diff) |
Make application remove transactional
Diffstat (limited to 'config-provisioning')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java index 0ec00d965b2..bf8773858a2 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java @@ -39,8 +39,25 @@ public interface Provisioner { * Notifies provisioner that an application has been removed. * * @param application The {@link ApplicationId} that was removed. - */ - void removed(ApplicationId application); + * @deprecated use remove(transaction, application) instead + */ + @Deprecated + default void removed(ApplicationId application) { + throw new IllegalStateException("Unexpected use of deprecated method"); + } + + /** + * Transactionally remove this application. + * This default implementation delegates to removed(application), i.e performs the removal non-transactional. + * + * @param application + */ + // TODO: Remove the default implementation in this when + // no applications are on a version before 5.17 + @SuppressWarnings("deprecation") + default void remove(NestedTransaction transaction, ApplicationId application) { + removed(application); + } /** * Requests a restart of the services of the given application |