From 0ad13c9cdea50598c189b0fa89e90b230c669211 Mon Sep 17 00:00:00 2001 From: Tomas Hofman Date: Thu, 11 Mar 2021 11:02:13 +0100 Subject: [PATCH] kubernetes.KUBE_PING - dont repeat warn message when kubernetes endpoint unavailable Signed-off-by: Tomas Hofman --- .../org/jgroups/protocols/kubernetes/KUBE_PING.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jgroups/protocols/kubernetes/KUBE_PING.java b/src/main/java/org/jgroups/protocols/kubernetes/KUBE_PING.java index 99ce9fd..a36f90b 100644 --- a/src/main/java/org/jgroups/protocols/kubernetes/KUBE_PING.java +++ b/src/main/java/org/jgroups/protocols/kubernetes/KUBE_PING.java @@ -112,6 +112,8 @@ public class KUBE_PING extends Discovery { protected int tp_bind_port; + private boolean failedJsonErrorReported = false; + public boolean isDynamic() { return false; // bind_port in the transport needs to be fixed (cannot be 0) } @@ -293,11 +295,16 @@ public String fetchFromKube() { protected List readAll() { if(isClusteringEnabled() && client != null) { try { - return client.getPods(namespace, labels, dump_requests); + List pods = client.getPods(namespace, labels, dump_requests); + failedJsonErrorReported = false; + return pods; } catch(Exception e) { - log.warn("failed getting JSON response from Kubernetes %s for cluster [%s], namespace [%s], labels [%s]; encountered [%s: %s]", - client.info(), cluster_name, namespace, labels, e.getClass().getName(), e.getMessage()); + if (!failedJsonErrorReported) { + failedJsonErrorReported = true; + log.warn("failed getting JSON response from Kubernetes %s for cluster [%s], namespace [%s], labels [%s]; encountered [%s: %s]", + client.info(), cluster_name, namespace, labels, e.getClass().getName(), e.getMessage()); + } } } return Collections.emptyList();