All, I've voiced this concern in the past. When a transaction times out, why does the method TxCapsule.timedOut only set the status of the transaction as STATUS_MARKED_ROLLBACK? Why doesn't it actually do a rollback?
A very serious side effect is this scenario: Something hangs indefinately within a transaction. With Entity pessimistic locking all locks are held onto and the bean is locked forever until you kill the server. I can fix this. 1. in TxCapsule.timedOut call rollback() 2. in TxInterceptors don't base tx status checks on STATUS_MARKED_ROLLBACK Side effects of the fix are as follows: 1. What if a transaction is not hanging but takes long than the timeout? How do we make sure that a JDBC connection is not returned to the pool while the sluggish timedout thread could be making JDBC calls? On a rollback, can we discard the connection totally? Or maybe this is already happening. I need input. Thanks in advance, Bill P.S. I need to solve this problem for work. So if I get no feedback, beware....I'll be making changes. _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development