diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-09-02 09:27:31 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-09-02 09:27:31 +0200 |
commit | 766249c8386f968dd8ef707953c7e3b8eece1bb8 (patch) | |
tree | 67026de0e23b8cd9b634339949dac91414b77c36 /controller-server | |
parent | 1cce6c15c29e59200aa9db5e7b61da4fabc25cf3 (diff) |
Revert "Revert "Add maintainer to do GC""
This reverts commit 6da834e19f900c76bddbc981eabb3e8ecd2fd51e.
Diffstat (limited to 'controller-server')
2 files changed, 31 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java new file mode 100644 index 00000000000..9fa3b91f633 --- /dev/null +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java @@ -0,0 +1,29 @@ +package com.yahoo.vespa.hosted.controller.maintenance; + +import com.yahoo.vespa.hosted.controller.Controller; + +import java.time.Duration; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class ApplicationMetaDataGarbageCollector extends ControllerMaintainer { + + private static final Logger log = Logger.getLogger(ApplicationMetaDataGarbageCollector.class.getName()); + + public ApplicationMetaDataGarbageCollector(Controller controller, Duration interval) { + super(controller, interval); + } + + @Override + protected boolean maintain() { + try { + controller().applications().applicationStore().pruneMeta(controller().clock().instant().minus(Duration.ofDays(365))); + return true; + } + catch (Exception e) { + log.log(Level.WARNING, "Exception pruning old application meta data", e); + return false; + } + } + +} diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java index 336dc5ddd04..0e72a1b42a7 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ControllerMaintenance.java @@ -44,6 +44,7 @@ public class ControllerMaintenance extends AbstractComponent { private final RotationStatusUpdater rotationStatusUpdater; private final ResourceTagMaintainer resourceTagMaintainer; private final SystemRoutingPolicyMaintainer systemRoutingPolicyMaintainer; + private final ApplicationMetaDataGarbageCollector applicationMetaDataGarbageCollector; @Inject @SuppressWarnings("unused") // instantiated by Dependency Injection @@ -73,6 +74,7 @@ public class ControllerMaintenance extends AbstractComponent { rotationStatusUpdater = new RotationStatusUpdater(controller, maintenanceInterval); resourceTagMaintainer = new ResourceTagMaintainer(controller, Duration.ofMinutes(30), controller.serviceRegistry().resourceTagger()); systemRoutingPolicyMaintainer = new SystemRoutingPolicyMaintainer(controller, Duration.ofMinutes(10)); + applicationMetaDataGarbageCollector = new ApplicationMetaDataGarbageCollector(controller, Duration.ofHours(12)); } public Upgrader upgrader() { return upgrader; } |