operator-framework / operator-framework/java-operator-sdk
Corner Case: Clenup Processing for Delete Event Without Finalizer
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 944
- Forks
- 242
- Merge moyen
- 1 j 4 h
- PR mergées (30 j)
- 43
Description
If Cleaner interface is implemented by a reconciler a finalizer is automatically added to the custom resource, and cleaner is called before it gets removed.
There is however a corner case when it makes sense to do cleanup event finalizer is not used. In case there is an in memory data held for a custom resource, so when a custom resource deleted, related indexed or in memory objects needs to be cleaned up. In this case a finalizer is not needed, since if the operator is down and the delete event is missed it's not a problem, since the cleanup is just for in memory data.
To support this we could add a feature flag to @ControllerConfiguration to don't add finalizer for cleanup: addFinalizerForCleaner.
Note that this is not a priority issue, we should probably implement it only if some requests it. Also having a finalizer in those cases would not be a big issues.
Guide de contribution
Ouvrir 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.
Piste de recherche
Commencez par l’annotation @ControllerConfiguration et suivez la manière dont les implémentations de Cleaner déclenchent la gestion de finalizer lors de la suppression d’une custom resource. Confirmez où le delete event est traité et comment cleanup est appelé. Le travail est considéré comme terminé lorsque la configuration proposée contrôle si un cleaner ajoute un finalizer sans modifier le comportement de cleanup, et que le comportement concerné est couvert par des tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, kubernetes
- Domaine
- infrastructure
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100