We’ve just released NServiceBus.Persistence.AzureStorage 2.4.2.
- #319 Concurrent saga completion doesn’t roll back causing duplicate messages to be sent
How to know if you are affected
You are affected if you are using version NServiceBus.Persistence.AzureStorage in combination with sagas.
In the case of two saga handlers running concurrently for the same saga instance, the following may occur:
- Handler 1 reads saga state S1
- Handler 2 reads saga state S1
- Handler 1 completes saga state S2
- Handler 2 completes the saga based on state S1
Handler 2 should fail, because the state was modified by handler 1 while handler 2 was handling the message. This is standard optimistic concurrency behavior. However, handler 2 succeeds, and any outgoing messages are sent.
Should you upgrade immediately
You should upgrade immediately if you are using NServiceBus.Persistence.AzureStorage in combination with sagas.
Where to get it
You can install the new version from NuGet.
The team in Particular