Azure / Azure/durabletask

More thorough nondeterminism checking

Aperta
#443 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
C#
Stelle
1.7k
Fork
335
Merge medio
2g 23h
PR unite (30g)
6

Descrizione

I noticed when trying to create nondeterminism in an orchestrator on purpose that DTFx does not do a very good job at detecting it. It is surprisingly tolerant.

It appears that all it does is essentially to count the orchestrator actions. It matches actions based on their position in the sequence (the EventId); but it does not check if the replayed actions match the history event details (type, arguments, etc).

I think it could perhaps be helpful to do a more precise check and throw a `NondeterminismDetectedException` with a detailed description of the divergence situation (including details about the expected and actual events).

Perhaps this can be an optional feature so as to not break legacy deployments.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando il replay corrente dell’orchestratore di DTFx e il comportamento di corrispondenza di azioni/EventId, quindi riproduci l’orchestratore intenzionalmente non deterministico descritto nell’issue. Confronta le azioni riprodotte con i tipi di evento e gli argomenti della cronologia, e chiarisci il comportamento opzionale previsto e i requisiti di compatibilità per NondeterminismDetectedException.

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

Valutazione

Stack tecnologico
csharp
Ambito
distributed-systems
Tipo di issue
Funzionalità
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.