On 3/25/2016 12:35 PM, Bergquist, Brett wrote:
Shutdown would not work. It was hung on the shutdown as well. Actually the time to recover is going to be 50 hours which we don’t have. We have had to go back to a backup of the database two days ago since the backup of the database done last night also contained these log files.

What about transactions that are not prepared? I think this is a hole here. If an application were to xa-start, execute some SQL, xa-end, but never xa-prepare and the application fails (crash), the transaction remains in Derby. If the transaction required locks, then those also remained locked. So what is ever going to clean that up. The XAResource.recover never sees those transactions.

Again, it's been a long time, but I think when the session ends the transaction should roll back. That is why I was curious if you saw the same behavior with your simple repro with Embedded. I am guessing with embedded, the connection and the transaction goes away on System.exit() in the first program. My guess is that Network Server is not cleaning up the session and so the transaction sticks around. I wouldn't be surprised if there were that kind of connection cleanup issue with Network Server. With your simple case, does runtimeinfo show the session still active?

Kathey




Reply via email to