External event discarded when the durable function is in Pending state
- 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.
.
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