From e80f68c387a8c19d608102bb8eaff3b082d1c774 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Thu, 29 Jul 2021 20:23:23 +0800 Subject: [PATCH] add saga rollback pending bug --- dtmsvr/trans_saga_test.go | 5 ++++- examples/main_base.go | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dtmsvr/trans_saga_test.go b/dtmsvr/trans_saga_test.go index 0868820..217abf8 100644 --- a/dtmsvr/trans_saga_test.go +++ b/dtmsvr/trans_saga_test.go @@ -26,7 +26,7 @@ func sagaNormal(t *testing.T) { func sagaCommittedPending(t *testing.T) { saga := genSaga("gid-committedPending", false, false) - examples.MainSwitch.TransInResult.SetOnce("PENDING") + examples.MainSwitch.TransOutResult.SetOnce("PENDING") saga.Submit() WaitTransProcessed(saga.Gid) assert.Equal(t, []string{"prepared", "prepared", "prepared", "prepared"}, getBranchesStatus(saga.Gid)) @@ -37,8 +37,11 @@ func sagaCommittedPending(t *testing.T) { func sagaRollback(t *testing.T) { saga := genSaga("gid-rollbackSaga2", false, true) + examples.MainSwitch.TransOutRevertResult.SetOnce("PENDING") saga.Submit() WaitTransProcessed(saga.Gid) + assert.Equal(t, "aborting", getTransStatus(saga.Gid)) + CronTransOnce(60 * time.Second) assert.Equal(t, "failed", getTransStatus(saga.Gid)) assert.Equal(t, []string{"succeed", "succeed", "succeed", "failed"}, getBranchesStatus(saga.Gid)) } diff --git a/examples/main_base.go b/examples/main_base.go index 36f7165..3291b93 100644 --- a/examples/main_base.go +++ b/examples/main_base.go @@ -62,7 +62,7 @@ var MainSwitch mainSwitchType func handleGeneralBusiness(c *gin.Context, result1 string, result2 string, busi string) (interface{}, error) { info := infoFromContext(c) - res := common.OrString(MainSwitch.TransInResult.Fetch(), result2, "SUCCESS") + res := common.OrString(result1, result2, "SUCCESS") logrus.Printf("%s %s result: %s", busi, info.String(), res) return M{"dtm_result": res}, nil