Azure / eno

Language-agnostic configuration management for Kubernetes
MIT License
7 stars 5 forks source link

Fix resource slice race condition #212

Closed jveski closed 1 month ago

jveski commented 1 month ago

It's possible that the reconciler process "sees" a resource slice before the corresponding composition. Currently we handle this correctly after the initial synthesis by comparing generations. But the logic is inverted in the case that the synthesis is nil - resource slices are deleted if there is a newer composition generation.

For example:

This doesn't break tests because the integration tests use the same informers for some controllers that normally run in separate processes, so events are received in the same order by both sets of controllers.