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

Lei Zhang commented on SCB-1107:
--------------------------------

I think this issue has been solved in saga state machine mode

[https://github.com/apache/servicecomb-pack/blob/master/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CallbackContext.java]
{code:java}
} catch (IllegalAccessException | InvocationTargetException e) {
  if (omegaContext.getAlphaMetas().isAkkaEnabled()) {
    sender.send(
        new TxCompensateAckFailedEvent(omegaContext.globalTxId(), 
omegaContext.localTxId(),
            parentTxId, callbackMethod, e));
  }
  LOG.error(
      "Pre-checking for callback method " + 
contextInternal.callbackMethod.toString()
          + " was somehow skipped, did you forget to configure callback method 
checking on service startup?",
      e);
{code}
 

 

 

 

> Omega should send the compensation failure to alpha
> ---------------------------------------------------
>
>                 Key: SCB-1107
>                 URL: https://issues.apache.org/jira/browse/SCB-1107
>             Project: Apache ServiceComb
>          Issue Type: Improvement
>          Components: Saga
>            Reporter: Willem Jiang
>            Priority: Major
>             Fix For: pack-0.7.0
>
>
> When the Omega call the compensation method fail, Omega should let Alpha know 
> about it.
> In the file of 
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/CallbackContext.java
> {code}
>   } catch (IllegalAccessException | InvocationTargetException e) {
>       LOG.error(
>           "Pre-checking for callback method " + 
> contextInternal.callbackMethod.toString()
>               + " was somehow skipped, did you forget to configure callback 
> method checking on service startup?",
>           e);
>     }
> {code}
> Omega just catches the invocation exception to avoid Alpha sending out the 
> compensation command again, but we need to update the compensation method 
> status, to let Alpha know if the compensation method is invoked rightly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to