Browse Source

tcc grpc rollback_reson

pull/317/head
xyctruth 4 years ago
parent
commit
29388599e6
  1. 1
      dtmgrpc/dtmgimp/utils.go
  2. 14
      dtmsvr/trans_class.go
  3. 1
      test/tcc_grpc_test.go

1
dtmgrpc/dtmgimp/utils.go

@ -37,6 +37,7 @@ func DtmGrpcCall(s *dtmimp.TransBase, operation string) error {
PassthroughHeaders: s.PassthroughHeaders, PassthroughHeaders: s.PassthroughHeaders,
BranchHeaders: s.BranchHeaders, BranchHeaders: s.BranchHeaders,
RequestTimeout: s.RequestTimeout, RequestTimeout: s.RequestTimeout,
RollbackReason: s.RollbackReason,
}, },
QueryPrepared: s.QueryPrepared, QueryPrepared: s.QueryPrepared,
CustomedData: s.CustomData, CustomedData: s.CustomData,

14
dtmsvr/trans_class.go

@ -94,12 +94,13 @@ func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *TransGlobal
o = c.TransOptions o = c.TransOptions
} }
r := TransGlobal{TransGlobalStore: storage.TransGlobalStore{ r := TransGlobal{TransGlobalStore: storage.TransGlobalStore{
Gid: c.Gid, Gid: c.Gid,
TransType: c.TransType, TransType: c.TransType,
QueryPrepared: c.QueryPrepared, QueryPrepared: c.QueryPrepared,
Protocol: "grpc", Protocol: "grpc",
BinPayloads: c.BinPayloads, BinPayloads: c.BinPayloads,
CustomData: c.CustomedData, CustomData: c.CustomedData,
RollbackReason: o.RollbackReason,
TransOptions: dtmcli.TransOptions{ TransOptions: dtmcli.TransOptions{
WaitResult: o.WaitResult, WaitResult: o.WaitResult,
TimeoutToFail: o.TimeoutToFail, TimeoutToFail: o.TimeoutToFail,
@ -107,6 +108,7 @@ func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *TransGlobal
PassthroughHeaders: o.PassthroughHeaders, PassthroughHeaders: o.PassthroughHeaders,
BranchHeaders: o.BranchHeaders, BranchHeaders: o.BranchHeaders,
RequestTimeout: o.RequestTimeout, RequestTimeout: o.RequestTimeout,
RollbackReason: o.RollbackReason,
}, },
}} }}
if c.Steps != "" { if c.Steps != "" {

1
test/tcc_grpc_test.go

@ -52,6 +52,7 @@ func TestTccGrpcRollback(t *testing.T) {
cronTransOnce(t, gid) cronTransOnce(t, gid)
assert.Equal(t, StatusFailed, getTransStatus(gid)) assert.Equal(t, StatusFailed, getTransStatus(gid))
assert.Equal(t, []string{StatusSucceed, StatusPrepared, StatusSucceed, StatusPrepared}, getBranchesStatus(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) { func TestTccGrpcNested(t *testing.T) {

Loading…
Cancel
Save