Azure / Azure/durabletask

External event discarded when the durable function is in Pending state

Offen
#720 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
1.7k
Forks
335
Ø Merge
2 T. 23 Std.
Gemergte PRs (30 T.)
6

Beschreibung

**Description**
After a long period of inactivity, if we start a new instance of the durable function the initial status is _OrchestrationRuntimeStatus.Pending_ and after 2 seconds the status is updated to _Running_.

If we send and external event to the durable function, invoking the _IDurableOrchestrationClient.RaiseEventAsync()_, while the status is Pending, sometimes the event is discarded!

**Expected behavior**
We expect that the event is not discarded while the status is pending.

**Actual behavior**
As from the application insights the event is dequeued and discarded because the instance of the durable function not exists ("No such instance") but it's not true.
![MicrosoftTeams-image](https://user-images.githubusercontent.com/48127230/166218980-98601f05-b1c3-42a1-841a-76df0a42246b.png).
After the RaiseEventAsync(), our application log a message with the status of the durable fuction that was _Pending_ (_"Orchestrator '0cbedce2-61b8-41fc-84bf-697d31b80a10' status:'Pending'."_) .

**App Details**
Durable Functions extension version: 2.6.0
Azure Functions runtime version: 4.0.1
Programming language used: .NET (C#)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der Untersuchung des External-Event-Pfads, der von IDurableOrchestrationClient.RaiseEventAsync() verwendet wird, und wie er Instanzen im OrchestrationRuntimeStatus.Pending behandelt. Reproduziere das beschriebene Timing mit der Durable Functions extension 2.6.0 und der Azure Functions runtime 4.0.1 und verifiziere anschließend, dass ein während Pending ausgelöstes Event nicht als "No such instance" aus der Warteschlange entfernt wird und verfügbar ist, sobald die Orchestrierung Running erreicht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, csharp
Bereich
backend, distributed-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.