diff --git a/dtmcli/saga.go b/dtmcli/saga.go index 2ac9c1c..b768d76 100644 --- a/dtmcli/saga.go +++ b/dtmcli/saga.go @@ -43,8 +43,12 @@ func (s *Saga) EnableConcurrent() *Saga { // Submit submit the saga trans func (s *Saga) Submit() error { + s.AddConcurrentContext() + return dtmimp.TransCallDtm(&s.TransBase, s, "submit") +} + +func (s *Saga) AddConcurrentContext() { if s.concurrent { s.CustomData = dtmimp.MustMarshalString(map[string]interface{}{"orders": s.orders, "concurrent": s.concurrent}) } - return dtmimp.TransCallDtm(&s.TransBase, s, "submit") } diff --git a/dtmgrpc/saga.go b/dtmgrpc/saga.go index af09038..9fca5d9 100644 --- a/dtmgrpc/saga.go +++ b/dtmgrpc/saga.go @@ -43,5 +43,6 @@ func (s *SagaGrpc) EnableConcurrent() *SagaGrpc { // Submit submit the saga trans func (s *SagaGrpc) Submit() error { + s.Saga.AddConcurrentContext() return dtmgimp.DtmGrpcCall(&s.Saga.TransBase, "Submit") } diff --git a/dtmsvr/trans_class.go b/dtmsvr/trans_class.go index 50f9b01..b6e080b 100644 --- a/dtmsvr/trans_class.go +++ b/dtmsvr/trans_class.go @@ -96,6 +96,7 @@ func TransFromDtmRequest(ctx context.Context, c *dtmgpb.DtmRequest) *TransGlobal QueryPrepared: c.QueryPrepared, Protocol: "grpc", BinPayloads: c.BinPayloads, + CustomData: c.CustomedData, TransOptions: dtmcli.TransOptions{ WaitResult: o.WaitResult, TimeoutToFail: o.TimeoutToFail,