-
Enhancement
-
Resolution: Done
-
Minor
-
7.0.0.Final
-
None
The current implementation of com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionScanner is based on the requirement of a long-running application to evaluate which transactions are expired. It uses Hashtables to fill potential items to be evaluated as expired in the next run of the com.arjuna.ats.arjuna.recovery.RecoveryModule. That is quite problematic for short running applications which are scaled up and down (Kubernetes apps for example). In this use cases, an approach based on transaction creation time (introduced in Narayana 7.0) is a better criterion because you only need one run, which even can be the initial run at application startup.