From 035b86a1811445ede9c7fa7c76fadb04e4470951 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Mon, 5 Sep 2022 10:25:05 +0800 Subject: [PATCH] fix failureError nil bug --- dtmsvr/trans_type_saga.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dtmsvr/trans_type_saga.go b/dtmsvr/trans_type_saga.go index e445b97..44c8667 100644 --- a/dtmsvr/trans_type_saga.go +++ b/dtmsvr/trans_type_saga.go @@ -237,7 +237,11 @@ func (t *transSagaProcessor) ProcessOnce(branches []TransBranch) error { return nil } if t.Status == dtmcli.StatusSubmitted && rsAFailed > 0 { - t.changeStatus(dtmcli.StatusAborting, withRollbackReason(failureError.Error())) + msg := "fail message lost" + if failureError != nil { // handle the case if branch failed and saved, and then crash + msg = failureError.Error() + } + t.changeStatus(dtmcli.StatusAborting, withRollbackReason(msg)) } if t.Status == dtmcli.StatusSubmitted && t.isTimeout() { t.changeStatus(dtmcli.StatusAborting, withRollbackReason(fmt.Sprintf("Timeout after %d seconds", t.TimeoutToFail)))