operator-framework / operator-framework/java-operator-sdk
read-cache-after-write consistency and event filtering for deletes
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
See also parent issue.
This might be a bit problematic, for resource without finalizer:
If the resource does not implement a finalizer, we could just record the UID of the resource and filter out events until we receive the delete event, that removes the cached resource ID.
The issue is with the resources with a finalizer, there we could define this like:
-
Filter just the event that was caused by the delete operation (in this case, it just adds the deletion timestamp), and process subsequent events. By definition, only operations should happen afterwards, and that includes finalizer removals, but that is not enforced on the API level. Note that implementation-wise, this is an issue since the delete operation does not return the new resource nor it's version.
-
We could filter out all the subsequent events until we receive a delete event. - But this might be too opionated, and especially if the controller would be restarted, users might see the resources again (although still marked for deletion). So probably not the right thing to do.
Notes:
- optimistic locking does not seems to work for deletes either
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 localiser les chemins du cache de lecture et du filtrage des événements pour les opérations de suppression dans Java Operator SDK, puis consultez l’issue parente pour connaître le comportement attendu. Comparez les ressources avec et sans finalizers ainsi que la remarque sur le verrouillage optimiste ; cette issue ne sera terminée qu’une fois la stratégie de filtrage des événements de suppression décidée et implémentée de manière cohérente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, kubernetes
- Domaine
- backend, distributed-systems
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100