Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Berkeley JE's design means that once a transaction has begun, its internal cleaner is unable to clean beyond the point the transaction started in the transaction log. Other transaction work continues as normal, but the disk space utilisation can't shrink until the long running transaction is completed. In an extreme case, disk space can be exhausted.
This has consequence for long running store transactions in Qpid. For 0-x, the transaction timeout features allows the the length of time a transaction may be open or idle to be constrained, thus limiting the harmful effects of a long running store transaction.
For robustness, that features needs to be implemented on AMQP 1.0 too. A decision needs to be made about the correct course of action to be taken when a long running transaction exceeds the threshold. The transaction coordinator link could be closed with an error or the entire connection closed.