kustomize-controller icon indicating copy to clipboard operation
kustomize-controller copied to clipboard

Garbage collection concurrency issue

Open ghost opened this issue 1 year ago • 1 comments

Hi,

We have the following setup:

Kustomization A renders Kustomization B which renders ConfigMap C. Both Kustomizations have prune: true, point to the same GitRepository and are triggered by a web hook Receiver (along with many other Kustomizations). When the git repository changes all of the Kustomizations that point to it reconcile as well, this brings us up to kustomize-controller's maximum concurrency.

  • If I manually delete Kustomizations A or B then ConfigMap C is deleted.
  • If I remove Kustomization B in the git repo then ConfigMap C is not deleted.
  • If I increase the concurrency of the kustomize-controller to a value that is greater than the number of Kustomizations and then remove Kustomization B in git then the ConfigMap is deleted.

This leads me to believe that when Kustomization A is reconciled it deletes Kustomization B. This would normally cause Kustomization B to reconcile as well, but at this point we are at max concurrency so the reconciliation is skipped.

Ideally I'd like the controller to somehow queue this reconciliation. Or to have wait: true apply to deletions as well as applications or for Issue 301 to be fixed.

Thanks,

Joe

ghost avatar Aug 17 '22 16:08 ghost

That sounds like a bug! Thanks for reporting this.

kingdonb avatar Aug 25 '22 13:08 kingdonb