Skip to content

Spring Cloud Kubernetes - Use Informers instead of Watchers #1587

Open
@a-maggioni

Description

@a-maggioni

Is your feature request related to a problem? Please describe.
On Spring Boot 3.2.2 with Spring Cloud 2023.0.0 the following warning appears in the logs when Kubernetes leader election is in use:
io.fabric8.kubernetes.client.WatcherException: too old resource version: 18679401 (18803484) at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onStatus(AbstractWatchManager.java:273) ~[kubernetes-client-5.10.2.jar!/:na] at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onMessage(AbstractWatchManager.java:257) ~[kubernetes-client-5.10.2.jar!/:na] at io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener.onMessage(WatcherWebSocketListener.java:93) ~[kubernetes-client-5.10.2.jar!/:na] at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.kt:333) ~[okhttp-4.9.3.jar!/:na] at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.kt:245) ~[okhttp-4.9.3.jar!/:na] at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.kt:106) ~[okhttp-4.9.3.jar!/:na] at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.kt:293) ~[okhttp-4.9.3.jar!/:na] at okhttp3.internal.ws.RealWebSocket$connect$1.onResponse(RealWebSocket.kt:195) ~[okhttp-4.9.3.jar!/:na] at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) ~[okhttp-4.9.3.jar!/:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na] Caused by: io.fabric8.kubernetes.client.KubernetesClientException: too old resource version: 18679401 (18803484) ... 12 common frames omitted

Describe the solution you'd like
According to this, Spring Cloud should migrate from using raw Watchers to Informers.

Additional context
See this for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions