Current functional logic of the saveTransferPrepared facade is implemented so that a try-catch block wraps the entire logical insertion of the transfer, transferParticipant, transferExtension, ilpPacket, & transferStateChange. If any of those inserts fail, the catch will roll back the entire transfer. E.g. if the participant doesn't exist, the insertion into the transferParticipant table cause an error to be thrown thereby causing a complete roll-back.
The outcome being that no record is stored, and a new transferId can be retried.
Artifacts:
[x] Artifact to consider [@Contributor]
Decision(s):
[x] Actual decision made as a result of discussion
Request:
Current functional logic of the saveTransferPrepared facade is implemented so that a try-catch block wraps the entire logical insertion of the transfer, transferParticipant, transferExtension, ilpPacket, & transferStateChange. If any of those inserts fail, the catch will roll back the entire transfer. E.g. if the participant doesn't exist, the insertion into the transferParticipant table cause an error to be thrown thereby causing a complete roll-back.
The outcome being that no record is stored, and a new transferId can be retried.
Artifacts:
Decision(s):
Follow-up:
Dependencies:
Accountability:
Notes: