diff --git a/ksql-rest-app/src/main/java/io/confluent/ksql/rest/server/HeartbeatAgent.java b/ksql-rest-app/src/main/java/io/confluent/ksql/rest/server/HeartbeatAgent.java index d851e9b4cec2..8eff959468ab 100644 --- a/ksql-rest-app/src/main/java/io/confluent/ksql/rest/server/HeartbeatAgent.java +++ b/ksql-rest-app/src/main/java/io/confluent/ksql/rest/server/HeartbeatAgent.java @@ -223,9 +223,7 @@ private void processHeartbeats(final long windowStart, final long windowEnd) { } return status; }); - for (HostStatusListener listener : hostStatusListeners) { - listener.onHostStatusUpdated(getHostsStatus()); - } + notifyListeners(); return; } @@ -256,8 +254,16 @@ private void processHeartbeats(final long windowStart, final long windowEnd) { .withHostAlive(isAlive).withLastStatusUpdateMs(windowEnd)); } } + notifyListeners(); + } + + private void notifyListeners() { for (HostStatusListener listener : hostStatusListeners) { - listener.onHostStatusUpdated(getHostsStatus()); + try { + listener.onHostStatusUpdated(getHostsStatus()); + } catch (Throwable t) { + LOG.error("Error while notifying listener", t); + } } }