Do not overwrite corrupt daemon state during mutation
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia in crates/clowder-daemon/src/store.rs alle righe 30–63 e traccia come JsonStore.load viene usato dai percorsi di visualizzazione/ripristino rispetto ai percorsi di mutazione. Aggiungi test di regressione per corruzione e mutazione che verifichino che uno stato illeggibile blocchi la mutazione, preservi i byte originali e restituisca un errore chiaro, mentre le letture tolleranti continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
JsonStore.load converts parse/read failures into an empty vector even when called by mutation paths. The next mutation can overwrite a corrupt state file and orphan previously recorded agents, projects, or profiles.
Evidence: https://github.com/richardcase/clowder/blob/b5492d5/crates/clowder-daemon/src/store.rs#L30-L63
Acceptance criteria
- Keep display/recovery reads tolerant.
- Refuse mutations when an existing state file is unreadable or invalid.
- Preserve the original bytes and surface a clear error.
- Add corruption and mutation regression tests.
- Lingua principale
- Rust
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di richardcase/clowder
-
documentation priority: medium
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
richardcase/clowder#143 ·
-
enhancement github_actions priority: medium rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
richardcase/clowder#142 ·
-
github_actions priority: medium
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
richardcase/clowder#141 ·
-
bug priority: medium
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
richardcase/clowder#140 ·
-
bug priority: medium
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
richardcase/clowder#139 ·
Tutte le issue di richardcase/clowder
Issue simili
-
bug: merge_insert does not detect concurrent inserts of the same FixedSizeBinary primary keyForse già presa @lance-gatefixer l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
lance-format/lance#10811 ·
I maintainer di solito rispondono entro 2 giorni
-
provider testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mishraprafful/multihull#234 ·
I maintainer di solito rispondono entro 1 giorno
-
comp-documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
ClickHouse/ClickHouse#129829 ·
I maintainer di solito rispondono entro 1 giorno
-
bug needs triage python
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
state:needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
zed-industries/zed#66628 ·
I maintainer di solito rispondono entro 1 giorno