- xappkey := TransactionXappKey{endpoint, params.Xid}
- if _, ok := t.transactionXappTable[xappkey]; ok {
- err := fmt.Errorf("Tracker: Similar transaction with xappkey %s is ongoing, transaction %s not created ", xappkey, trans)
- return nil, err
- }
-
- if subs.SetTransaction(trans) == false {
- othTrans := subs.GetTransaction()
- err := fmt.Errorf("Tracker: Subscription %s got already transaction ongoing: %s, transaction %s not created", subs, othTrans, trans)
- return nil, err
- }
- trans.Subs = subs
- if (trans.Subs.RmrEndpoint.Addr != trans.RmrEndpoint.Addr) || (trans.Subs.RmrEndpoint.Port != trans.RmrEndpoint.Port) {
- err := fmt.Errorf("Tracker: Subscription endpoint %s mismatch with trans: %s", subs, trans)
- trans.Subs.UnSetTransaction(nil)
+ if othtrans, ok := t.transactionXappTable[*trans.XappKey]; ok {
+ err := fmt.Errorf("Tracker: %s is ongoing, %s not created ", othtrans, trans)