From 74479f7a20f60bb8e94c74c0cfdfbd99c0c3c6e6 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Fri, 29 Oct 2021 22:34:08 +0800 Subject: [PATCH 1/3] cronTransOnce refactored --- dtmsvr/cron.go | 11 ++++------- dtmsvr/utils.go | 15 --------------- test/grpc_msg_test.go | 2 +- test/grpc_saga_test.go | 4 ++-- test/grpc_tcc_test.go | 2 +- test/msg_test.go | 4 ++-- test/saga_concurrent_test.go | 4 ++-- test/saga_test.go | 4 ++-- test/tcc_test.go | 2 +- test/types.go | 27 ++++++++++++++++++++++----- test/wait_saga_test.go | 2 +- 11 files changed, 38 insertions(+), 39 deletions(-) diff --git a/dtmsvr/cron.go b/dtmsvr/cron.go index 78e0546..9cb1e64 100644 --- a/dtmsvr/cron.go +++ b/dtmsvr/cron.go @@ -16,16 +16,13 @@ var NowForwardDuration time.Duration = time.Duration(0) var CronForwardDuration time.Duration = time.Duration(0) // CronTransOnce cron expired trans. use expireIn as expire time -func CronTransOnce() (hasTrans bool) { +func CronTransOnce() (gid string) { defer handlePanic(nil) trans := lockOneTrans(CronForwardDuration) if trans == nil { return } - hasTrans = true - if TransProcessedTestChan != nil { - defer WaitTransProcessed(trans.Gid) - } + gid = trans.Gid trans.WaitResult = true trans.Process(dbGet()) return @@ -34,8 +31,8 @@ func CronTransOnce() (hasTrans bool) { // CronExpiredTrans cron expired trans, num == -1 indicate for ever func CronExpiredTrans(num int) { for i := 0; i < num || num == -1; i++ { - hasTrans := CronTransOnce() - if !hasTrans && num != 1 { + gid := CronTransOnce() + if gid == "" && num != 1 { sleepCronTime() } } diff --git a/dtmsvr/utils.go b/dtmsvr/utils.go index f498a5f..3dc08e3 100644 --- a/dtmsvr/utils.go +++ b/dtmsvr/utils.go @@ -47,21 +47,6 @@ func writeTransLog(gid string, action string, status string, branch string, deta // TransProcessedTestChan only for test usage. when transaction processed once, write gid to this chan var TransProcessedTestChan chan string = nil -// WaitTransProcessed only for test usage. wait for transaction processed once -func WaitTransProcessed(gid string) { - dtmcli.Logf("waiting for gid %s", gid) - select { - case id := <-TransProcessedTestChan: - for id != gid { - dtmcli.LogRedf("-------id %s not match gid %s", id, gid) - id = <-TransProcessedTestChan - } - dtmcli.Logf("finish for gid %s", gid) - case <-time.After(time.Duration(time.Second * 3)): - dtmcli.LogFatalf("Wait Trans timeout") - } -} - var gNode *snowflake.Node = nil func init() { diff --git a/test/grpc_msg_test.go b/test/grpc_msg_test.go index c6a127e..b6aa4c2 100644 --- a/test/grpc_msg_test.go +++ b/test/grpc_msg_test.go @@ -33,7 +33,7 @@ func grpcMsgOngoing(t *testing.T) { examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing) cronTransOnceForwardNow(180) assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid)) } diff --git a/test/grpc_saga_test.go b/test/grpc_saga_test.go index 393a1bc..56c7a64 100644 --- a/test/grpc_saga_test.go +++ b/test/grpc_saga_test.go @@ -30,7 +30,7 @@ func sagaGrpcCommittedOngoing(t *testing.T) { saga.Submit() WaitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) } @@ -41,7 +41,7 @@ func sagaGrpcRollback(t *testing.T) { saga.Submit() WaitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid)) } diff --git a/test/grpc_tcc_test.go b/test/grpc_tcc_test.go index 574d0f0..946a06a 100644 --- a/test/grpc_tcc_test.go +++ b/test/grpc_tcc_test.go @@ -60,6 +60,6 @@ func tccGrpcRollback(t *testing.T) { assert.Error(t, err) WaitTransProcessed(gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) } diff --git a/test/msg_test.go b/test/msg_test.go index cac6ecb..0745a9d 100644 --- a/test/msg_test.go +++ b/test/msg_test.go @@ -22,7 +22,7 @@ func msgNormal(t *testing.T) { WaitTransProcessed(msg.Gid) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(msg.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid)) - CronTransOnce() + cronTransOnce() } func msgOngoing(t *testing.T) { @@ -37,7 +37,7 @@ func msgOngoing(t *testing.T) { examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing) cronTransOnceForwardNow(180) assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(msg.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid)) err = msg.Prepare("") diff --git a/test/saga_concurrent_test.go b/test/saga_concurrent_test.go index e71da70..bc37a0d 100644 --- a/test/saga_concurrent_test.go +++ b/test/saga_concurrent_test.go @@ -40,7 +40,7 @@ func csagaRollback(t *testing.T) { assert.Nil(t, err) WaitTransProcessed(csaga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(csaga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(csaga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusFailed, dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid)) err = csaga.Submit() @@ -67,7 +67,7 @@ func csagaCommittedOngoing(t *testing.T) { assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid)) assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(csaga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(csaga.Gid)) } diff --git a/test/saga_test.go b/test/saga_test.go index d4b6eb8..414fcf0 100644 --- a/test/saga_test.go +++ b/test/saga_test.go @@ -33,7 +33,7 @@ func sagaCommittedOngoing(t *testing.T) { saga.Submit() WaitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) } @@ -45,7 +45,7 @@ func sagaRollback(t *testing.T) { assert.Nil(t, err) WaitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid)) err = saga.Submit() diff --git a/test/tcc_test.go b/test/tcc_test.go index 2b5588d..3269f9b 100644 --- a/test/tcc_test.go +++ b/test/tcc_test.go @@ -38,6 +38,6 @@ func tccRollback(t *testing.T) { assert.Error(t, err) WaitTransProcessed(gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) } diff --git a/test/types.go b/test/types.go index c9b84bb..dcfa774 100644 --- a/test/types.go +++ b/test/types.go @@ -14,11 +14,28 @@ func dbGet() *common.DB { return common.DbGet(config.DB) } -// WaitTransProcessed alias -var WaitTransProcessed = dtmsvr.WaitTransProcessed +// WaitTransProcessed only for test usage. wait for transaction processed once +func WaitTransProcessed(gid string) { + dtmcli.Logf("waiting for gid %s", gid) + select { + case id := <-dtmsvr.TransProcessedTestChan: + for id != gid { + dtmcli.LogRedf("-------id %s not match gid %s", id, gid) + id = <-dtmsvr.TransProcessedTestChan + } + dtmcli.Logf("finish for gid %s", gid) + case <-time.After(time.Duration(time.Second * 3)): + dtmcli.LogFatalf("Wait Trans timeout") + } +} + +func cronTransOnce() { + gid := dtmsvr.CronTransOnce() + if dtmsvr.TransProcessedTestChan != nil && gid != "" { + WaitTransProcessed(gid) + } +} -// CronTransOnce alias -var CronTransOnce = dtmsvr.CronTransOnce var e2p = dtmcli.E2P // TransGlobal alias @@ -33,6 +50,6 @@ type M = dtmcli.M func cronTransOnceForwardNow(seconds int) { old := dtmsvr.NowForwardDuration dtmsvr.NowForwardDuration = time.Duration(seconds) * time.Second - CronTransOnce() + cronTransOnce() dtmsvr.NowForwardDuration = old } diff --git a/test/wait_saga_test.go b/test/wait_saga_test.go index 9166c55..6f96464 100644 --- a/test/wait_saga_test.go +++ b/test/wait_saga_test.go @@ -34,7 +34,7 @@ func sagaCommittedOngoingWait(t *testing.T) { assert.Error(t, err) WaitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) - CronTransOnce() + cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) } From 2ee5fc45431e4de40a1b218e097ca015a2d16af5 Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Fri, 29 Oct 2021 22:35:34 +0800 Subject: [PATCH 2/3] waitTransProcessed ref --- test/barrier_saga_test.go | 4 ++-- test/barrier_tcc_test.go | 4 ++-- test/dtmsvr_test.go | 4 ++-- test/grpc_barrier_saga_test.go | 4 ++-- test/grpc_msg_test.go | 2 +- test/grpc_saga_test.go | 6 +++--- test/grpc_tcc_test.go | 2 +- test/grpc_xa_test.go | 4 ++-- test/msg_test.go | 2 +- test/saga_concurrent_test.go | 8 ++++---- test/saga_test.go | 10 +++++----- test/tcc_test.go | 2 +- test/types.go | 6 +++--- test/wait_saga_test.go | 6 +++--- test/xa_test.go | 6 +++--- 15 files changed, 35 insertions(+), 35 deletions(-) diff --git a/test/barrier_saga_test.go b/test/barrier_saga_test.go index c26eefa..4f7ccf6 100644 --- a/test/barrier_saga_test.go +++ b/test/barrier_saga_test.go @@ -22,7 +22,7 @@ func sagaBarrierNormal(t *testing.T) { dtmcli.Logf("busi trans submit") err := saga.Submit() e2p(err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) } @@ -33,6 +33,6 @@ func sagaBarrierRollback(t *testing.T) { dtmcli.Logf("busi trans submit") err := saga.Submit() e2p(err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) } diff --git a/test/barrier_tcc_test.go b/test/barrier_tcc_test.go index 8b358a4..d0ee9dd 100644 --- a/test/barrier_tcc_test.go +++ b/test/barrier_tcc_test.go @@ -31,7 +31,7 @@ func tccBarrierRollback(t *testing.T) { return tcc.CallBranch(&examples.TransReq{Amount: 30, TransInResult: dtmcli.ResultFailure}, Busi+"/TccBTransInTry", Busi+"/TccBTransInConfirm", Busi+"/TccBTransInCancel") }) assert.Error(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) } @@ -43,7 +43,7 @@ func tccBarrierNormal(t *testing.T) { return tcc.CallBranch(&examples.TransReq{Amount: 30}, Busi+"/TccBTransInTry", Busi+"/TccBTransInConfirm", Busi+"/TccBTransInCancel") }) assert.Nil(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(gid)) } diff --git a/test/dtmsvr_test.go b/test/dtmsvr_test.go index e185a60..4701ca6 100644 --- a/test/dtmsvr_test.go +++ b/test/dtmsvr_test.go @@ -44,7 +44,7 @@ func getBranchesStatus(gid string) []string { } func assertSucceed(t *testing.T, gid string) { - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(gid)) } @@ -88,7 +88,7 @@ func TestUpdateBranchAsync(t *testing.T) { saga.SetOptions(&dtmcli.TransOptions{WaitResult: true}) err := saga.Submit() assert.Nil(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) time.Sleep(dtmsvr.UpdateBranchAsyncInterval) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) diff --git a/test/grpc_barrier_saga_test.go b/test/grpc_barrier_saga_test.go index ed09959..a88eb62 100644 --- a/test/grpc_barrier_saga_test.go +++ b/test/grpc_barrier_saga_test.go @@ -22,7 +22,7 @@ func grpcSagaBarrierNormal(t *testing.T) { Add(examples.BusiGrpc+"/examples.Busi/TransInBSaga", examples.BusiGrpc+"/examples.Busi/TransInRevertBSaga", req) err := saga.Submit() e2p(err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) } @@ -33,7 +33,7 @@ func grpcSagaBarrierRollback(t *testing.T) { Add(examples.BusiGrpc+"/examples.Busi/TransInBSaga", examples.BusiGrpc+"/examples.Busi/TransInRevertBSaga", req) err := saga.Submit() e2p(err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid)) } diff --git a/test/grpc_msg_test.go b/test/grpc_msg_test.go index b6aa4c2..25d3dda 100644 --- a/test/grpc_msg_test.go +++ b/test/grpc_msg_test.go @@ -19,7 +19,7 @@ func grpcMsgNormal(t *testing.T) { msg := genGrpcMsg("grpc-msg-normal") err := msg.Submit() assert.Nil(t, err) - WaitTransProcessed(msg.Gid) + waitTransProcessed(msg.Gid) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid)) } diff --git a/test/grpc_saga_test.go b/test/grpc_saga_test.go index 56c7a64..bb29bf1 100644 --- a/test/grpc_saga_test.go +++ b/test/grpc_saga_test.go @@ -18,7 +18,7 @@ func TestGrpcSaga(t *testing.T) { func sagaGrpcNormal(t *testing.T) { saga := genSagaGrpc("gid-sagaGrpcNormal", false, false) saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) transQuery(t, saga.Gid) @@ -28,7 +28,7 @@ func sagaGrpcCommittedOngoing(t *testing.T) { saga := genSagaGrpc("gid-committedOngoingGrpc", false, false) examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing) saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) @@ -39,7 +39,7 @@ func sagaGrpcRollback(t *testing.T) { saga := genSagaGrpc("gid-rollbackSaga2Grpc", false, true) examples.MainSwitch.TransOutRevertResult.SetOnce(dtmcli.ResultOngoing) saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid)) cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) diff --git a/test/grpc_tcc_test.go b/test/grpc_tcc_test.go index 946a06a..f06fae8 100644 --- a/test/grpc_tcc_test.go +++ b/test/grpc_tcc_test.go @@ -58,7 +58,7 @@ func tccGrpcRollback(t *testing.T) { return err }) assert.Error(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid)) cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) diff --git a/test/grpc_xa_test.go b/test/grpc_xa_test.go index f0c4bd2..ad57fbd 100644 --- a/test/grpc_xa_test.go +++ b/test/grpc_xa_test.go @@ -51,7 +51,7 @@ func xaGrpcNormal(t *testing.T) { return err }) assert.Equal(t, nil, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid)) } @@ -68,7 +68,7 @@ func xaGrpcRollback(t *testing.T) { return err }) assert.Error(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(gid)) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) } diff --git a/test/msg_test.go b/test/msg_test.go index 0745a9d..f5c8161 100644 --- a/test/msg_test.go +++ b/test/msg_test.go @@ -19,7 +19,7 @@ func msgNormal(t *testing.T) { msg := genMsg("gid-msg-normal") msg.Submit() assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(msg.Gid)) - WaitTransProcessed(msg.Gid) + waitTransProcessed(msg.Gid) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed}, getBranchesStatus(msg.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(msg.Gid)) cronTransOnce() diff --git a/test/saga_concurrent_test.go b/test/saga_concurrent_test.go index bc37a0d..16b07c0 100644 --- a/test/saga_concurrent_test.go +++ b/test/saga_concurrent_test.go @@ -28,7 +28,7 @@ func genCSaga(gid string, outFailed bool, inFailed bool) *dtmcli.Saga { func csagaNormal(t *testing.T) { csaga := genCSaga("gid-noraml-csaga", false, false) csaga.Submit() - WaitTransProcessed(csaga.Gid) + waitTransProcessed(csaga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(csaga.Gid)) } @@ -38,7 +38,7 @@ func csagaRollback(t *testing.T) { examples.MainSwitch.TransOutRevertResult.SetOnce(dtmcli.ResultOngoing) err := csaga.Submit() assert.Nil(t, err) - WaitTransProcessed(csaga.Gid) + waitTransProcessed(csaga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(csaga.Gid)) cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(csaga.Gid)) @@ -52,7 +52,7 @@ func csagaRollback2(t *testing.T) { csaga.AddStepOrder(1, []int{0}) err := csaga.Submit() assert.Nil(t, err) - WaitTransProcessed(csaga.Gid) + waitTransProcessed(csaga.Gid) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(csaga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusFailed, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(csaga.Gid)) err = csaga.Submit() @@ -63,7 +63,7 @@ func csagaCommittedOngoing(t *testing.T) { csaga := genCSaga("gid-committed-ongoing-csaga", false, false) examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing) csaga.Submit() - WaitTransProcessed(csaga.Gid) + waitTransProcessed(csaga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(csaga.Gid)) assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(csaga.Gid)) diff --git a/test/saga_test.go b/test/saga_test.go index 414fcf0..1e20648 100644 --- a/test/saga_test.go +++ b/test/saga_test.go @@ -19,7 +19,7 @@ func TestSaga(t *testing.T) { func sagaNormal(t *testing.T) { saga := genSaga("gid-noramlSaga", false, false) saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) transQuery(t, saga.Gid) @@ -31,7 +31,7 @@ func sagaCommittedOngoing(t *testing.T) { saga := genSaga("gid-committedOngoing", false, false) examples.MainSwitch.TransOutResult.SetOnce(dtmcli.ResultOngoing) saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) @@ -43,7 +43,7 @@ func sagaRollback(t *testing.T) { examples.MainSwitch.TransOutRevertResult.SetOnce("ERROR") err := saga.Submit() assert.Nil(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(saga.Gid)) cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) @@ -58,7 +58,7 @@ func sagaRollback2(t *testing.T) { examples.MainSwitch.TransInResult.SetOnce(dtmcli.ResultOngoing) err := saga.Submit() assert.Nil(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) cronTransOnceForwardNow(3600) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) @@ -69,7 +69,7 @@ func sagaTimeout(t *testing.T) { saga.TimeoutToFail = 1800 examples.MainSwitch.TransOutResult.SetOnce("UNKOWN") saga.Submit() - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusSubmitted, getTransStatus(saga.Gid)) cronTransOnceForwardNow(3600) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) diff --git a/test/tcc_test.go b/test/tcc_test.go index 3269f9b..fc0195a 100644 --- a/test/tcc_test.go +++ b/test/tcc_test.go @@ -36,7 +36,7 @@ func tccRollback(t *testing.T) { return tcc.CallBranch(data, Busi+"/TransIn", Busi+"/TransInConfirm", Busi+"/TransInRevert") }) assert.Error(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, dtmcli.StatusAborting, getTransStatus(gid)) cronTransOnce() assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) diff --git a/test/types.go b/test/types.go index dcfa774..6fbfa40 100644 --- a/test/types.go +++ b/test/types.go @@ -14,8 +14,8 @@ func dbGet() *common.DB { return common.DbGet(config.DB) } -// WaitTransProcessed only for test usage. wait for transaction processed once -func WaitTransProcessed(gid string) { +// waitTransProcessed only for test usage. wait for transaction processed once +func waitTransProcessed(gid string) { dtmcli.Logf("waiting for gid %s", gid) select { case id := <-dtmsvr.TransProcessedTestChan: @@ -32,7 +32,7 @@ func WaitTransProcessed(gid string) { func cronTransOnce() { gid := dtmsvr.CronTransOnce() if dtmsvr.TransProcessedTestChan != nil && gid != "" { - WaitTransProcessed(gid) + waitTransProcessed(gid) } } diff --git a/test/wait_saga_test.go b/test/wait_saga_test.go index 6f96464..7efdeec 100644 --- a/test/wait_saga_test.go +++ b/test/wait_saga_test.go @@ -20,7 +20,7 @@ func sagaNormalWait(t *testing.T) { saga.SetOptions(&dtmcli.TransOptions{WaitResult: true}) err := saga.Submit() assert.Nil(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, dtmcli.StatusSucceed, getTransStatus(saga.Gid)) transQuery(t, saga.Gid) @@ -32,7 +32,7 @@ func sagaCommittedOngoingWait(t *testing.T) { saga.SetOptions(&dtmcli.TransOptions{WaitResult: true}) err := saga.Submit() assert.Error(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared, dtmcli.StatusPrepared}, getBranchesStatus(saga.Gid)) cronTransOnce() assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(saga.Gid)) @@ -44,7 +44,7 @@ func sagaRollbackWait(t *testing.T) { saga.SetOptions(&dtmcli.TransOptions{WaitResult: true}) err := saga.Submit() assert.Error(t, err) - WaitTransProcessed(saga.Gid) + waitTransProcessed(saga.Gid) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(saga.Gid)) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusSucceed, dtmcli.StatusFailed}, getBranchesStatus(saga.Gid)) } diff --git a/test/xa_test.go b/test/xa_test.go index 8133085..782962d 100644 --- a/test/xa_test.go +++ b/test/xa_test.go @@ -39,7 +39,7 @@ func xaNormal(t *testing.T) { return xa.CallBranch(req, examples.Busi+"/TransInXa") }) assert.Equal(t, nil, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid)) } @@ -57,7 +57,7 @@ func xaDuplicate(t *testing.T) { return xa.CallBranch(req, examples.Busi+"/TransInXa") }) assert.Equal(t, nil, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, []string{dtmcli.StatusPrepared, dtmcli.StatusSucceed, dtmcli.StatusPrepared, dtmcli.StatusSucceed}, getBranchesStatus(gid)) } func xaRollback(t *testing.T) { @@ -72,7 +72,7 @@ func xaRollback(t *testing.T) { return xa.CallBranch(req, examples.Busi+"/TransInXa") }) assert.Error(t, err) - WaitTransProcessed(gid) + waitTransProcessed(gid) assert.Equal(t, []string{dtmcli.StatusSucceed, dtmcli.StatusPrepared}, getBranchesStatus(gid)) assert.Equal(t, dtmcli.StatusFailed, getTransStatus(gid)) } From f6ead39d24d8cf42f6d7d3a8f86f549a5443a40e Mon Sep 17 00:00:00 2001 From: yedf2 <120050102@qq.com> Date: Sat, 30 Oct 2021 07:14:20 +0800 Subject: [PATCH 3/3] trigger a build --- go.sum | 1 + 1 file changed, 1 insertion(+) diff --git a/go.sum b/go.sum index 061d383..dbe25ce 100644 --- a/go.sum +++ b/go.sum @@ -428,3 +428,4 @@ gorm.io/gorm v1.21.15/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +