[ 
https://issues.apache.org/jira/browse/SCB-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16321858#comment-16321858
 ] 

Yin Xiang edited comment on SCB-218 at 1/11/18 8:33 AM:
--------------------------------------------------------

there are several solutions to this problem:
#  change compensation operation from async to blocking, so that omega will 
resend such an event to another alpha.
#  restarted alpha scans db for aborted but not ended transactions, and resume 
from there
#  all alphas constantly scan db in background for aborted event and trigger 
compensation

solution 2 is preferable to me


was (Author: seanyinx):
there are several solutions to this problem:
1. change compensation operation from async to blocking, so that omega will 
resend such an event to another alpha.
1. restarted alpha scans db for aborted but not ended transactions, and resume 
from there
1. all alphas constantly scan db in background for aborted event and trigger 
compensation

solution 2 is preferable to me

> [pack] mark end of saga event correctly when the alpha in charge is down
> ------------------------------------------------------------------------
>
>                 Key: SCB-218
>                 URL: https://issues.apache.org/jira/browse/SCB-218
>             Project: Apache ServiceComb
>          Issue Type: Improvement
>          Components: Saga
>    Affects Versions: saga-0.1.0
>            Reporter: Eric Lee
>
> Currently, we assume that all compensated command are sent out from the same 
> alpha and the compensated results are sent back from different omega to the 
> same alpha. However, when this alpha instance fails, the omega will send the 
> compensated results to another alpha as alpha is stateless. We still need to 
> query the db to keep transaction status consistent.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to