canonical / canonical/layer-basic

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

Aperta
#68 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
10
Fork
42
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia da charms.layer.basic.clear_config_states() e segui la relativa chiamata a unitdata.kv().flush(), quindi leggi la proposta referenziata di charms.reactive sulla cleanup-phase. Il lavoro è completato quando il ciclo di vita del flush dello stato dell’hook non lascia più uno stato non valido se si verifica un errore tra due flush; il payload non indica alcun test o file da eseguire.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
devops
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.