We’ve just released NServiceBus.Persistence.AzureStorage 2.4.1.
- #306 Incorrect handling of saga completion with optimistic concurrency
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 writes saga state S2
Handler 2 marks the saga as complete, 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