Duplicate
Details
Details
Assignee
Damien
DamienReporter
Damien
DamienPriority
Story Points
0
Development Team
Thunderjet
Fix versions
Release
Kiwi (R3 2021) Hot Fix #3
RCA Group
Implementation coding issue
CSP Approved
Yes
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created April 28, 2022 at 4:01 AM
Updated June 27, 2022 at 9:30 AM
Resolved June 27, 2022 at 8:48 AM
Overview:
When an error occurs in createTransaction or updateTransaction, the temporary transactions are currently not cleaned up. Because the same id is currently used to process transactions for orders or invoices again, and because processAllOrNothing compares the number of temporary transactions to the number of expected transactions, this causes the processing of failed temporary transactions with some new ones, and the subsequent error "All expected transactions already processed".
Since the calling mods will give up on the whole set of transactions if a single one fails, we should remove all the related temporary transactions in case of failure, for any case of failure (including validation).
https://folio-org.atlassian.net/browse/MODFISTO-268#icft=MODFISTO-268 will resolve this issue, but the resolution is too complex to be included in a hot fix. On the other hand, cleaning up the temp transactions is easy and can be included in a hot fix.
Steps to Reproduce:
See related stories.
Expected Results:
User can try again if an operation (such as invoice approval) fails.
Actual Results:
The operation keeps failing with the message "All expected transactions already processed".
Additional Information:
In AllOrNothingTransactionService, deleteTempTransactions should be called if there is an error within createTransaction, updateTransaction or processAllOrNothing.
Interested parties: