Add observedGeneration while updating the ApicurioRegistry3's status #6367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request refines the status management logic in the
StatusManager
class to ensure theobservedGeneration
field is updated accurately and reflects the latest resource version. The changes improve the reliability of status updates for theApicurioRegistry3
resource.Background Context
The ApicurioRegistry3 operator is exhibiting unexpected behavior where the status.observedGeneration field is being removed and then immediately re-added in subsequent reconciliation loops. This pattern results in frequent MODIFIED events, each triggering a new resourceVersion in etcd:
observedGeneration is removed by the operator.
A follow-up event adds the same observedGeneration back.
Each of these changes results in a new resourceVersion.
These seemingly redundant modifications cause unnecessary propagation of updates to dependent deployment objects (app, ui) through the annotation:
javaoperatorsdk.io/previous: ... ...
Each event causes the operator to patch these deployments even though there is no actual configuration change, resulting in noise and inefficiency.