Transaction Rollback takes unusally long time in GlassFish 3.1.x
Last updated on APRIL 04, 2017
Applies to:Oracle GlassFish Server - Version 3.1.2 and later
Information in this document applies to any platform.
In a test application that performs 2 inserts into an Oracle database, one via a spring bean that is leveraging the JTA and another that is making a web service call (that is also transactional). These 2 calls are wrapped in a UserTransaction and regardless of the outcome, the transaction is rolled back by the code deliberately. This works as expected, but the issue is that some times the operation takes 700-800 millis to complete (insert/rollback) and other times it takes around 31 seconds. The timings seem to indicate a timeout value of SOMETHING that is triggered at 30 seconds. The datasource being used is XA. It is not consistent either (multiple tests will trigger a couple of sub-second responses or perhaps a couple of 30+ second responses).
GlassFish server thread dump taken while the test client is running shows the following stack trace:
thread dumps of the server when the test was running. You will see this Transaction related thread.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms