+++ This bug was initially created as a clone of Bug #1769317 +++ We are using Firehose to watch resources See https://github.com/openshift/console/blob/master/frontend/public/components/dashboard/with-dashboard-resources.tsx#L161 . Every card is wrapped in withDashboardResources HOC which injects functions to watch URL, Prometheus and k8s resource. A card will use useEffect hook to call watchK8sResource(requested_resource) which will update withDashboardResources's state and updates Firehose's resources prop. The problem is that if the component is watching only resource(s) which do not exist in the cluster (like ClusterVersion CRD on non-OpenShift) the Firehose will render null https://github.com/openshift/console/blob/master/frontend/public/components/utils/firehose.jsx#L245 which in turn will call Card's useEffect cleanup function which calls stopWatchK8sResources(requested_resource) - this will update withDashboardResources's state and Firehose's resources prop is set to empty array - Firehose will now render the Card (as every resource is loaded) and now the loop starts - Card is rendered and useEffect is called again - we are at the beginning.
I think we can fix in 4.4 and skip the backport since I'm not aware of any user-facing bug. We should not be requesting any resource that doesn't exist in an OpenShift 4.3 cluster. Rastislav, let me know if that's incorrect.
That is correct, we dont have such a case in 4.3