users@glassfish.java.net

Re: Resource Adapter call to XATeminator.recover hangs App Server

From: Sivakumar Thyagarajan <Sivakumar.Thyagarajan_at_Sun.COM>
Date: Wed, 12 Dec 2007 15:41:02 +0530

> This seems like a bug in the App Server. Any help would be
> appreciated.

We would like to understand this scenario better. Would you be able to
the stack trace so that we could try to find out why
XATerminator.recover() hangs?

> With the past post, I was asked to get a thread dump, but I don't
> know how to do that. If that is required, can someone give me
> instructions?

Steps to get a thread dump are available at
http://blogs.sun.com/foo/entry/how_to_get_thread_dumps
http://blogs.sun.com/msreddy/entry/how_to_get_thread_dump

Thanks
--Siva.

glassfish_at_javadesktop.org wrote:
> I previously entered this issue against Sun Java System Application Server Enterprise Edition 8.2. See
> http://forum.java.sun.com/thread.jspa?forumID=734&threadID=5202307
>
>
>
> I am the developer for a JCA 1.5 resource adapter named DTPRA. Note that DTPRA works with WebSphere Application Server, WebLogic Application Server and JBoss Application Server.
>
> I needed to test DTPRA with the Sun App Server, so I downloaded Sun Java System Application Server Enterprise Edition 9.1 (build b58g-fcs) to test DTPRA.
>
> I am now testing transaction recovery, so I set automatic recovery to true. That is, I have the following in my domain.xml:
>
> &lt;transaction-service [b]automatic-recovery="true"[/b] heuristic-decision="rollback" keypoint-interval="65536" retry-timeout-in-seconds="600" timeout-in-seconds="0" tx-log-dir="${com.sun.aas.instanceRoot}/logs"/&gt;
>
>
> When I start the App Server with this setting, the App Server hangs and it never starts.
>
> Looking at trace output from DTPRA, it is clear that the following has happened:
> 1) The App Server called the ResourceAdapter.start method for DTPRA.
> 2) As part of DTPRA startup, DTPRA calls the App Server's XATerminator.recover method to see if there are inbound transactions to recover.
>
> The call to XATerminator.recover never returns. Apparently there is some sort of deadlock in the App Server when a resource adapter calls XATerminator.recover from the ResourceAdapter.start method.
>
> [b]This only occurs when automatic recovery is enabled.[/b]
>
> This seems like a bug in the App Server. Any help would be appreciated.
>
> With the past post, I was asked to get a thread dump, but I don't know how to do that. If that is required, can someone give me instructions?
>
> Thanks.
> [Message sent by forum member 'burdeasa' (burdeasa)]
>
> http://forums.java.net/jive/thread.jspa?messageID=249528
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>