From f796e5c3bad00742f5adda2280f873b8f373c30f Mon Sep 17 00:00:00 2001 From: xyctruth <398041993@qq.com> Date: Mon, 20 Jun 2022 17:08:43 +0800 Subject: [PATCH] xa add rollback_reason --- dtmsvr/trans_type_xa.go | 4 +++- test/tcc_test.go | 2 -- test/xa_test.go | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dtmsvr/trans_type_xa.go b/dtmsvr/trans_type_xa.go index d4ca3b3..c74f188 100644 --- a/dtmsvr/trans_type_xa.go +++ b/dtmsvr/trans_type_xa.go @@ -1,6 +1,8 @@ package dtmsvr import ( + "fmt" + "github.com/dtm-labs/dtm/dtmcli" "github.com/dtm-labs/dtm/dtmcli/dtmimp" ) @@ -22,7 +24,7 @@ func (t *transXaProcessor) ProcessOnce(branches []TransBranch) error { return nil } if t.Status == dtmcli.StatusPrepared && t.isTimeout() { - t.changeStatus(dtmcli.StatusAborting) + t.changeStatus(dtmcli.StatusAborting, withRollbackReason(fmt.Sprintf("Timeout after %d seconds", t.TimeoutToFail))) } currentType := dtmimp.If(t.Status == dtmcli.StatusSubmitted, dtmimp.OpCommit, dtmimp.OpRollback).(string) for i, branch := range branches { diff --git a/test/tcc_test.go b/test/tcc_test.go index 3196926..f4f229d 100644 --- a/test/tcc_test.go +++ b/test/tcc_test.go @@ -7,7 +7,6 @@ package test import ( - "fmt" "testing" "github.com/dtm-labs/dtm/dtmcli" @@ -69,7 +68,6 @@ func TestTccTimeout(t *testing.T) { assert.Error(t, err) assert.Equal(t, StatusFailed, getTransStatus(gid)) assert.Regexp(t, `^Timeout after \d+ seconds$`, getTrans(gid).RollbackReason) - fmt.Println(getTrans(gid).RollbackReason) assert.Equal(t, []string{StatusSucceed, StatusPrepared}, getBranchesStatus(gid)) } diff --git a/test/xa_test.go b/test/xa_test.go index 82d10c7..a15c339 100644 --- a/test/xa_test.go +++ b/test/xa_test.go @@ -94,6 +94,7 @@ func TestXaTimeout(t *testing.T) { }) assert.Error(t, err) assert.Equal(t, StatusFailed, getTransStatus(gid)) + assert.Regexp(t, `^Timeout after \d+ seconds$`, getTrans(gid).RollbackReason) assert.Equal(t, []string{}, getBranchesStatus(gid)) }