You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "Yin Xiang (JIRA)" <ji...@apache.org> on 2018/01/11 08:33:00 UTC

[jira] [Commented] (SCB-218) [pack] mark end of saga event correctly when the alpha in charge is down

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

Yin Xiang commented on SCB-218:
-------------------------------

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)