Browse Source

TransactionMetrics refactored

pull/41/head
yedf2 5 years ago
parent
commit
ae60bdd359
  1. 9
      dtmsvr/trans.go

9
dtmsvr/trans.go

@ -118,22 +118,23 @@ func (t *TransGlobal) getProcessor() transProcessor {
// Process process global transaction once
func (t *TransGlobal) Process(db *common.DB, waitResult bool) dtmcli.M {
r := t.process(db, waitResult)
TransactionMetrics(t, r["dtm_result"] == dtmcli.ResultSuccess)
}
func (t *TransGlobal) process(db *common.DB, waitResult bool) dtmcli.M {
if !waitResult {
go t.processInner(db)
TransactionMetrics(t, true)
return dtmcli.MapSuccess
}
submitting := t.Status == dtmcli.StatusSubmitted
err := t.processInner(db)
if err != nil {
TransactionMetrics(t, false)
return dtmcli.M{"dtm_result": dtmcli.ResultFailure, "message": err.Error()}
}
if submitting && t.Status != dtmcli.StatusSucceed {
TransactionMetrics(t, false)
return dtmcli.M{"dtm_result": dtmcli.ResultFailure, "message": "trans failed by user"}
}
TransactionMetrics(t, true)
return dtmcli.MapSuccess
}

Loading…
Cancel
Save