aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-09-01 21:37:34 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-09-01 21:37:34 +0200
commit3b1ded42d037c5c22504ce5a57bd96d21919927a (patch)
treef300cfd00faf7a315a6c0c36c17ecc202e78b8a4 /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java
parent30f02e92849dcdb1b1de17810d46a761eb03bc19 (diff)
Add maintainer to do GC
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationMetaDataGarbageCollector.java29
1 files changed, 29 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..9ee63a27bd8
--- /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) {
+ super(controller, Duration.ofHours(12));
+ }
+
+ @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;
+ }
+ }
+
+}