Browse Source

add msg barrier unique key conflict

topic
yedf2 5 years ago
parent
commit
abda3b43b1
  1. 5
      dtmcli/barrier.go

5
dtmcli/barrier.go

@ -8,6 +8,7 @@ package dtmcli
import (
"database/sql"
"errors"
"fmt"
"net/url"
@ -82,6 +83,10 @@ func (bb *BranchBarrier) Call(tx *sql.Tx, busiCall BarrierBusiFunc) (rerr error)
rerr = oerr
}
if bb.Op == "msg" && currentAffected == 0 { // for msg's DoAndSubmit, repeated insert should be rejected.
return errors.New("unique key conflict")
}
if (ti.Op == BranchCancel || ti.Op == BranchCompensate) && originAffected > 0 || // null compensate
currentAffected == 0 { // repeated request or dangled request
return

Loading…
Cancel
Save