[
https://issues.apache.org/jira/browse/CAMEL-11020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino updated CAMEL-11020:
-------------------------------------
Fix Version/s: 2.19.0
2.18.4
> Camel Kubernetes consumers do not close watchers
> ------------------------------------------------
>
> Key: CAMEL-11020
> URL: https://issues.apache.org/jira/browse/CAMEL-11020
> Project: Camel
> Issue Type: Bug
> Components: camel-kubernetes
> Affects Versions: 2.18.3, 2.19.0
> Reporter: James Netherton
> Assignee: Andrea Cosentino
> Fix For: 2.18.4, 2.19.0
>
>
> I've been experimenting with camel-kubernetes and noticed some odd behaviour
> after my camel context is shut down. It seems that not everything is cleaned
> up and there are still some background threads running.
> I wrote a [unit
> test|https://github.com/jamesnetherton/wildfly-camel/blob/camel-kube/itests/camel/src/test/java/org/wildfly/camel/test/camel/kubernetes/KubernetesConsumerTest.java]
> that can help to replicate the problem.
> Run the test, then wait for the camel context to shut down. Afterwards, the
> thread will sleep for 5 minutes. During this time, stop the Kubernetes
> cluster and you'll see the following exception thrown (or something like it):
> {code}
> java.io.IOException: closed
> at
> okhttp3.internal.ws.WebSocketWriter.writeControlFrameSynchronized(WebSocketWriter.java:119)
> at
> okhttp3.internal.ws.WebSocketWriter.writeClose(WebSocketWriter.java:111)
> at okhttp3.internal.ws.RealWebSocket.close(RealWebSocket.java:168)
> at
> io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$1.onClose(WatchConnectionManager.java:256)
> at okhttp3.internal.ws.RealWebSocket.peerClose(RealWebSocket.java:197)
> at okhttp3.internal.ws.RealWebSocket.access$200(RealWebSocket.java:38)
> at okhttp3.internal.ws.RealWebSocket$1$2.execute(RealWebSocket.java:84)
> at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> Which indicates that the pod watcher was still active and connected to the
> k8s cluster, despite camel having been shutdown. This is not ideal when Camel
> is run within an OSGI or JavaEE container.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)