Browse Source

add msg barrier unique key conflict

pull/209/head
yedf2 5 years ago
parent
commit
abda3b43b1
  1. 5
      dtmcli/barrier.go

5
dtmcli/barrier.go

@ -8,6 +8,7 @@ package dtmcli
import ( import (
"database/sql" "database/sql"
"errors"
"fmt" "fmt"
"net/url" "net/url"
@ -82,6 +83,10 @@ func (bb *BranchBarrier) Call(tx *sql.Tx, busiCall BarrierBusiFunc) (rerr error)
rerr = oerr 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 if (ti.Op == BranchCancel || ti.Op == BranchCompensate) && originAffected > 0 || // null compensate
currentAffected == 0 { // repeated request or dangled request currentAffected == 0 { // repeated request or dangled request
return return

Loading…
Cancel
Save