Posted by umbra
on October 2, 2012 at 4:47 AM PDT
Every once in a while, some connectivity issues occur when one instance of MySQL server is removed from the load balancer (ETL requirements, to make the apps see the updated data) and we see some a lot of stacktraces in the logs that end up with a javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [rollback] operation. vmcid: 0x0 minor code: 0 completed: No
The MySQL documentation indicates this:
"The two SQL states that are 'retry-able' are 08S01 for a communications error, and 40001 for deadlock."
What I would like to know if it's there a way to make GlassFish automatically retry the current transaction, using a new connection from the pool. I wouldn't want to have to modify all the current code to do that...
I think I found something regarding WebLogic, but now I can't find that reference anymore...