Concurrent reconcile calls #427
Description
In the setup of the Reconciler We use multiple 'For' and 'Owns' from the controller-runtime
package.
I think this is causing a behavior (not sure if strange or by design) when reconcile is called for every change/event in those components.
I think this is causing the reconcile to run for every change, and every time reconcile is called its returning a Requeue result that makes the reconcile function run again, this causes the reconcile function to have an increasing number of concurrent runs (every time its triggered by a change it will keep running due to the requeue result).
I saw this when running the operator with a job for some time when I see a lot of duplicates in the log lines for the job.
The impact I saw (which led me to investigate this) was to the savepoint triggers, Now it makes sense for me why I saw multiple SPs triggered simultaneously (And in my PR i actually mitigated the symptom and not the root cause).
I would really appreciate some feedback here as my go background is not as strong as the other languages and especially the usage of the https://github.com/kubernetes-sigs/controller-runtime package.
@functicons
@elanv this might help with your current effort. #420