Well it could be very hard to write the compensate method sometimes. I
don't think it would be an easy way to rollback or undo the UPDATE
statement.


2018-02-07 21:11 GMT+08:00 Willem Jiang <[email protected]>:

> It's good way to provide the custom extension of the compensating message.
> But it's a challenge for the user to know about the whole compensation
> message.
>
> It's could more easier for the user to write the code by using forward
> recovery which means we just let the omega retry the transaction method.
>
>
> Willem Jiang
>
> Blog: http://willemjiang.blogspot.com (English)
>           http://jnn.iteye.com  (Chinese)
> Twitter: willemjiang
> Weibo: 姜宁willem
>
> On Tue, Feb 6, 2018 at 10:46 PM, Eric Lee <[email protected]> wrote:
>
> > Hi all,
> >
> > Currently, saga pack intercept all arguments to be processed by spring
> aop.
> > However, when developers execute the SQL's update operations with
> > complicate types like update the status, it will be really hard to
> > compensate because neither alpha and omega knows what's the previous
> status
> > before execute the update statement. In other words, it can not rollback
> to
> > the original state by compensating.
> >
> > Possible solution:
> > Add a new method for developers to customize their payloads needed to
> > recover when compensating. Suppose we need to change the task status to
> > DONE regardless of its previous status, before that, we just query for
> the
> > current task status and save it to payloads which will be stored in alpha
> > and return to omega when compensation happens. In this way, we can
> recover
> > the task status to the original one.
> >
> > Any idea on this is welcome. Thanks.
> >
> >
> > Best Regards!
> > Eric Lee
> >
>

Reply via email to