Stamped fields: prove the sync/{id} route, cover mesh-declared types and durable rows (follow-up to #6519)

Chiusa
#6,527 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Una pull request collegata è già stata integrata.

  • #6563 di @rbuergi — integrata

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
backend, testing

Direzione di ricerca

Read the stamped fields architecture notes at Doc/Architecture/StampedFields and the tests for #6519 to find the node hub patch check and StampedFieldDataValidator. Add coverage for the internal sync/{id} route, mesh-declared NodeType fields changing while the hub runs, and rows reloaded after a recycle. Done when tests prove the refusal holds for each case, or show that changes through sync/{id} cannot reach node data.

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

Descrizione

bug sev:M

Follow-up from the review of #6519 (platform-stamped fields), deferred there by the converge rule:

  1. Prove or close the sync/{id} route. A data change sent directly to one of a node hub's internal sync/{id} stream hubs is not in front of the new stamped-field check (patch check on the node hub plus StampedFieldDataValidator). The framework's own write-backs never use that route, and Doc/Architecture/StampedFields lists it as unmeasured. Either show with a test that such a change cannot reach the node's data, or put the check in front of it.
  2. A type declared in stored mesh content. The tests declare stampedFields on a NodeType defined in code. Add a test where the declaration lives on a NodeType node in the mesh (the shape Plugins #3393 relies on for EvalCase), including a declaration changed while the hub runs.
  3. A durable-row test: the refusal holds for a row read back from persistence after a recycle, not only for the in-memory node.

Not established: whether item 1 is reachable by any client today.

Lingua principale
C#
Stelle
12
Fork
5
Merge medio
5h 10m
PR unite (30g)
980

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Systemorph/MeshWeaver

Tutte le issue di Systemorph/MeshWeaver

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.