canonical / canonical/layer-basic

Multiple calls to unitdata.kv().flush()

Ouverte
#68 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
10
Forks
42
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

charms.layer.basic.clear_config_states() calls unitdata.kv().flush(), which will be the second time the storage is flushed in the hook. In the perverse case where a failure happens between these two calls, we can end up with invalid state.

I think this is a use case for an actual `@cleanup` phase in charms.reactive, per https://github.com/juju-solutions/charms.reactive/pull/20

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par charms.layer.basic.clear_config_states() et suivez son appel à unitdata.kv().flush(), puis lisez la proposition référencée de charms.reactive concernant la cleanup-phase. C’est terminé lorsque le cycle de vie du vidage de l’état du hook ne laisse plus d’état invalide si une défaillance survient entre deux vidages ; le payload n’indique aucun test ni fichier à exécuter.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
devops
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.