The first question is about SO (actually ???), so bear with me please :)
We are developing a solution using event sources. Some of our business processes will be lengthy, so we plan to use sagas to command teams of several cumulative roots .
In my understanding, if the command issued by the saga must exit , the saga will be responsible for issuing compensation commands to all previously calculated roots of the population.
What should be the course of action if the state of the aggregate root is changed externally (i.e. by some other process / user) after it takes part in saga, but before the saga it failed, but issues a compensating command to this aggregated root?
In other words, how can you try to compensate for an event that is not the last in a particular thread of the cumulative root event (speaking in EventStore lingo)?
source share