You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/01/15 13:21:03 UTC

(camel) 03/10: CAMEL-20297 camel-kubernetes: do not swallow interrupted exceptions

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit fb007b3f060d3a379241119046c859f61e0399ec
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Jan 15 11:05:15 2024 +0100

    CAMEL-20297 camel-kubernetes: do not swallow interrupted exceptions
---
 .../kubernetes/cluster/lock/KubernetesLeadershipController.java        | 2 ++
 .../camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java   | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
index d8a54756f34..5eea0823cef 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
@@ -217,6 +217,7 @@ public class KubernetesLeadershipController implements Service {
             Thread.sleep(delay);
         } catch (InterruptedException e) {
             LOG.warn("Thread interrupted", e);
+            Thread.currentThread().interrupt();
         }
 
         LOG.info("{} Current pod is becoming the new leader now...", logPrefix);
@@ -238,6 +239,7 @@ public class KubernetesLeadershipController implements Service {
             Thread.sleep(delay);
         } catch (InterruptedException e) {
             LOG.warn("Thread interrupted", e);
+            Thread.currentThread().interrupt();
         }
 
         LOG.info("{} Current pod is losing leadership now...", logPrefix);
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
index 8643f5a1e40..f2df12a81e6 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
@@ -109,7 +109,8 @@ public class TimedLeaderNotifier implements Service {
             try {
                 executor.awaitTermination(1, TimeUnit.SECONDS);
             } catch (InterruptedException e) {
-                // ignore
+                LOG.info("Interrupted while waiting for thread termination");
+                Thread.currentThread().interrupt();
             }
         }
     }