operator-framework / operator-framework/java-operator-sdk
read-cache-after-write consistency and event filtering for deletes
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 944
- Forks
- 242
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 43
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza localizando las rutas de caché de lectura y filtrado de eventos para las operaciones de eliminación en Java Operator SDK, y después revisa el issue principal para conocer el comportamiento previsto. Compara los recursos con y sin finalizers y la nota sobre el bloqueo optimista; este issue solo estará terminado cuando la política de filtrado de eventos de eliminación se haya decidido e implementado de forma coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, kubernetes
- Área
- backend, distributed-systems
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100