aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-28 14:04:00 +0200
committerjonmv <venstad@gmail.com>2022-04-28 14:04:00 +0200
commit24d500837af3f3e4c15d910f110408f286cbcf73 (patch)
treeda199691f5add851b48605012f8d4bd503907e72 /controller-server
parentcd04e0c3a06499971c82678e88510b257d4d6faa (diff)
Discard notification entires with outdated job type
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NotificationsSerializer.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NotificationsSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NotificationsSerializer.java
index 16ec240a116..99687a9893c 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NotificationsSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NotificationsSerializer.java
@@ -69,6 +69,16 @@ public class NotificationsSerializer {
public List<Notification> fromSlime(TenantName tenantName, Slime slime) {
return SlimeUtils.entriesStream(slime.get().field(notificationsFieldName))
+ .filter(inspector -> { // TODO: remove in summer.
+ if ( ! inspector.field(jobTypeField).valid()) return true;
+ try {
+ JobType.ofSerialized(inspector.field(jobTypeField).asString());
+ return true;
+ }
+ catch (RuntimeException e) {
+ return false;
+ }
+ })
.map(inspector -> fromInspector(tenantName, inspector))
.collect(Collectors.toUnmodifiableList());
}