I am using
I had, what appears to be a race condition in the SQL Persistence so that the Saga was not marked as completed when it should have been.
2018-02-27 11:53:28.3693 - ThreadId=201 Starting Saga…
2018-02-27 11:55:01.1513 - ThreadId=133 Skipping. Already in progress.
2018-02-27 11:55:01.1513 - ThreadId=147 Sending  changed messages.
2018-02-27 11:55:01.1513 - ThreadId=147 Finished - saga
2018-02-27 11:55:01.183 - ThreadId=133 Saga: ‘XXX’ with Id: ‘5827dccd-210c-4a1e-b295-a8940115690d’ has completed.
A saga was kicked off, running happily coordinating messages.
It received the message to let it know that it should be completed at the same time that it also received another start message for the same ID. The final message listed above is outputted AFTER the call to MarkAsComplete() by NServiceBus.
The IAmStartedBy handler of the saga checks the saga data to see if it is already running, and if so, just exists
Log.Warn(“Skipping. Already in progress.”);
However, the Saga was never completed and stayed as a row in the database. Anything else kicked off for that ID would get the “already in progress” warning.
2018-02-27 12:00:01.2163 - ThreadId=141 Skipping. Already in progress.
There were no exceptions, errors, etc.