Reconciler with enabled "generationAwareEventProcessing" reconciles unchanged custom resource upon startup
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- java, kubernetes
- Domaine
- backend, infrastructure
Piste de recherche
Aucun fichier source ni test n’est nommé. Commencez par reproduire le démarrage de l’opérateur avec generationAwareEventProcessing activé et une ressource personnalisée existante dont metadata.generation est égal à status.observedGeneration ; suivez la réconciliation au démarrage et la gestion du cache de l’informer. C’est terminé lorsque les ressources inchangées ne sont pas réconciliées au démarrage et qu’un test de régression couvre ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug Report
What did you do?
Hello,
We've encountered the behavior where we're using the default Reconciler settings, which has generationAwareEventProcessing turned on as well as a default maxReconciliationInterval set to 10 hours. Our CR implements the ObservedGenerationAwareStatus interface, so it has the observedGeneration property present in the status and it's handled by the framework.
We're seeing that upon Operator startup a reconciliation is triggered, when there is an already created custom resource in the cluster which has been reconciled already and has metadata.generation equal to status.observedGenertion.
The problem in this scenario is that the Operator is being updated and has updated logic, triggered by a pipeline automation script update. An update to the CR is going to follow in the next pipeline step. However, the triggered reconciliation captures the current CR in the cluster before the updated one can be applied. That in some cases leads to breaking dependent resources spec and subsequent failure (e.g. old incompatible images read from the CR set to an updated Deployment dependent resources spec encoded in the Operator code).
What did you expect to see?
No reconciliation triggered on the CR, which has it's generation and observed generation matching properties.
Environment
Kubernetes cluster type:
Gardener K8s 1.33.5
java-operator-sdk version is 4.4.4
Java version 17
Possible Solution
Not sure if the behavior could be caused by the maxReconciliationInterval being not set after the update or just informer caches being empty.
- Langage dominant
- Java
- Étoiles
- 942
- Forks
- 246
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 28
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de operator-framework/java-operator-sdk
-
Difficulté 4/5 3-5 jours Accessibilité débutants 62/100
operator-framework/java-operator-sdk#3643 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
operator-framework/java-operator-sdk#3568 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
operator-framework/java-operator-sdk#3563 ·
Les mainteneurs répondent en général sous 1 jour
-
Support for Virtual ThreadsPeut-être pris @xstefank l’a pris il y a 61 jours. Ouverte
operator-framework/java-operator-sdk#3538 · 2 commentaires · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
operator-framework/java-operator-sdk#3498 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de operator-framework/java-operator-sdk
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
devops-thiago/ThrillhouseBot#1093 ·
Les mainteneurs répondent en général sous 1 jour
-
Missing htmx attribute processorOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
wimdeblauwe/htmx-spring-boot#205 ·
-
[BUG] 增量 SSE 解析器未识别单独 CR 换行,导致事件无法及时交付Peut-être pris @king-wwwhhh l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
langchain4j/langchain4j#6669 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
OpenAPITools/openapi-generator#25237 ·
Les mainteneurs répondent en général sous 1 jour
-
needs-area-label
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour