External event discarded when the durable function is in Pending state
- Lenguaje dominante
- C#
- Estrellas
- 1.7k
- Forks
- 335
- Merge medio
- 2 d 23 h
- PR fusionados (30 d)
- 6
Descripción
**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#)
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza inspeccionando la ruta de eventos externos utilizada por IDurableOrchestrationClient.RaiseEventAsync() y cómo gestiona las instancias en OrchestrationRuntimeStatus.Pending. Reproduce el timing descrito con Durable Functions extension 2.6.0 y Azure Functions runtime 4.0.1; después, verifica que un evento generado durante Pending no se retire de la cola como "No such instance" y esté disponible una vez que la orquestación alcance Running.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- azure, csharp
- Área
- backend, distributed-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100