You cannot cancel a committed transaction, be it an XA or nonXA transaction.
To solve the problem you mentioned, you need to enable ALL involved resources within the same XA transaction.
If the indicated solution is impossible for some reason, you can do this: a) Ask to prepare the first layer (from 3 databases). b) If the result (a) is in order, fix the 4th DB. c) If result (b) is OK, call up the second phase lock after 3 DB.
NTN.
Thanks Nitin
source share