[ 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)