Transaction Rollback takes unusally long time in GlassFish 3.1.x (Doc ID 1537545.1)

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.

Symptoms

 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.

 

Cause

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