New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Workflows] Events of the same name are not buffered #6799
Comments
The behavior you're looking for is supposed to be handled by |
@cgillum |
Potentially related to dapr/dotnet-sdk#1129 |
@nyemade-uversky let's add this to the tracking board for workflows. This functionality is important for developers leveraging the monitor pattern. |
@nyemade-uversky bump |
/assign |
/assign |
This issue should be resolved with microsoft/durabletask-dotnet#194. It's also verified in dapr/dotnet-sdk#1155 that multiple events of the same name being created in parallel is working as expected. Can this issue be closed then @olitomlinson ? |
Can confirm this issue is now fixed. Thanks @shivamkm07 |
cc @cgillum
Let's say a workflow implements a simple monitor pattern that
awaits
on the same external event name ("my-external-event"
) indefinitely.Actual behaviour
If several events (named
"my-external-event"
) are raised in quick succession or in parrallel to the awaiting workflow, only the first event is consumed by the awaiting workflow, all the other events are dropped, and are therefor not allocated on subsequent generations of the monitor loop.Expected behaviour
If several events (named
"my-external-event"
) are raised in quick succession or in parallel to the awaiting workflow, all the events will be buffered (up to some configurable user-defined max limit) and each iteration of the monitor loop will consume one of the buffered messages (viacontext.WaitForExternalEventAsync()
), ideally in a FIFO order)Note :
preserveUnprocessedEvents: true
does not produce the expected behaviour, despite it sounding like it should.The text was updated successfully, but these errors were encountered: