You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the case where the leadership configMap references a non-existent pod (perhaps in the case of a cluster rolling upgrade?), the leadership controller gets into a state where it cannot update leader to a valid active pod.
This is due to the underlying fabric8 library's Readiness::isReady() throwing IllegalArgumentException when the queried item is null / missing. See: fabric8io/kubernetes-client#2672
Since this is resolved in fabric8 5.1+ and there seems to be a question of even continuing on with fabric8, it would seem that the simplest solution here would be to wrap Fabric8LeadershipController::isPodReady() with a try/catch and return false on IllegalArgument?
In the case where the leadership configMap references a non-existent pod (perhaps in the case of a cluster rolling upgrade?), the leadership controller gets into a state where it cannot update leader to a valid active pod.
This is due to the underlying fabric8 library's
Readiness::isReady()
throwing IllegalArgumentException when the queried item is null / missing. See: fabric8io/kubernetes-client#2672Since this is resolved in fabric8 5.1+ and there seems to be a question of even continuing on with fabric8, it would seem that the simplest solution here would be to wrap
Fabric8LeadershipController::isPodReady()
with a try/catch and return false on IllegalArgument?https://github.com/spring-cloud/spring-cloud-kubernetes/blob/main/spring-cloud-kubernetes-fabric8-leader/src/main/java/org/springframework/cloud/kubernetes/fabric8/leader/Fabric8LeadershipController.java#L131
The text was updated successfully, but these errors were encountered: