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
Currently, we are calling Watch() on Resources in NumaflowControllerRollout here but we also have these same resources being cached by the gitops-engine.
There is a call to clusterCache.OnResourceUpdated() in sync/cache.go. This uses a callback. We would need to make sure that we safely call the same reconciliation code that is being used by Reconcile(), such that only one NumaflowControllerRollout is being processed at a time. Thus, we would probably need to use a workqueue.RateLimitingInterface where both Reconcile() and this callback add to that queue (similar to what we're planning for PipelineRollout).
The text was updated successfully, but these errors were encountered:
juliev0
changed the title
Watch resources owned by the ControllerRollout so we can perform self-healing when somebody changes one of them
Don't cache children of Numaflow Controller Rollout twice
Jul 6, 2024
Currently, we are calling
Watch()
on Resources in NumaflowControllerRollout here but we also have these same resources being cached by the gitops-engine.There is a call to clusterCache.OnResourceUpdated() in
sync/cache.go
. This uses a callback. We would need to make sure that we safely call the same reconciliation code that is being used by Reconcile(), such that only one NumaflowControllerRollout is being processed at a time. Thus, we would probably need to use aworkqueue.RateLimitingInterface
where bothReconcile()
and this callback add to that queue (similar to what we're planning for PipelineRollout).The text was updated successfully, but these errors were encountered: