From 29388599e6db9bd29adfe87f305c5ef5108783a9 Mon Sep 17 00:00:00 2001 From: xyctruth <398041993@qq.com> Date: Fri, 24 Jun 2022 11:44:37 +0800 Subject: [PATCH] tcc grpc rollback_reson --- dtmgrpc/dtmgimp/utils.go | 1 + dtmsvr/trans_class.go | 14 ++++++++------ test/tcc_grpc_test.go | 1 + 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/dtmgrpc/dtmgimp/utils.go b/dtmgrpc/dtmgimp/utils.go index d10b321..532c5d5 100644 --- a/dtmgrpc/dtmgimp/utils.go +++ b/dtmgrpc/dtmgimp/utils.go @@ -37,6 +37,7 @@ func DtmGrpcCall(s *dtmimp.TransBase, operation string) error { PassthroughHeaders: s.PassthroughHeaders, BranchHeaders: s.BranchHeaders, RequestTimeout: s.RequestTimeout, + RollbackReason: s.RollbackReason, }, QueryPrepared: s.QueryPrepared, CustomedData: s.CustomData, diff --git a/dtmsvr/trans_class.go b/dtmsvr/trans_class.go index 1e239c0..35d0ee0 100644 --- a/dtmsvr/trans_class.go +++ b/dtmsvr/trans_class.go @@ -94,12 +94,13 @@ func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *TransGlobal o = c.TransOptions } r := TransGlobal{TransGlobalStore: storage.TransGlobalStore{ - Gid: c.Gid, - TransType: c.TransType, - QueryPrepared: c.QueryPrepared, - Protocol: "grpc", - BinPayloads: c.BinPayloads, - CustomData: c.CustomedData, + Gid: c.Gid, + TransType: c.TransType, + QueryPrepared: c.QueryPrepared, + Protocol: "grpc", + BinPayloads: c.BinPayloads, + CustomData: c.CustomedData, + RollbackReason: o.RollbackReason, TransOptions: dtmcli.TransOptions{ WaitResult: o.WaitResult, TimeoutToFail: o.TimeoutToFail, @@ -107,6 +108,7 @@ func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *TransGlobal PassthroughHeaders: o.PassthroughHeaders, BranchHeaders: o.BranchHeaders, RequestTimeout: o.RequestTimeout, + RollbackReason: o.RollbackReason, }, }} if c.Steps != "" { diff --git a/test/tcc_grpc_test.go b/test/tcc_grpc_test.go index 5a7c336..6e5e745 100644 --- a/test/tcc_grpc_test.go +++ b/test/tcc_grpc_test.go @@ -52,6 +52,7 @@ func TestTccGrpcRollback(t *testing.T) { cronTransOnce(t, gid) assert.Equal(t, StatusFailed, getTransStatus(gid)) assert.Equal(t, []string{StatusSucceed, StatusPrepared, StatusSucceed, StatusPrepared}, getBranchesStatus(gid)) + assert.Equal(t, "rpc error: code = Aborted desc = reason:", getTrans(gid).RollbackReason) } func TestTccGrpcNested(t *testing.T) {