users@glassfish.java.net

Re: Transaction demarcation in client container

From: <glassfish_at_javadesktop.org>
Date: Wed, 21 Nov 2007 01:08:13 PST

Thanks Oliver for the logs. I could see that the transaction.commit call in the client reaching the server and the hang is is in the TopLink's afterCompletion method. Since the client is waiting for the server call to return, you are observing the hang.

I guess this issue is same as the issue being discusses at http://forums.java.net/jive/thread.jspa?threadID=31970&tstart=0

For easy reference, copy and pasted trace from your log:

Thread t_at_23299: (state = BLOCKED)
 - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
 - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
 - oracle.toplink.essentials.internal.helper.ConcurrencyManager.acquire(boolean) @bci=35, line=111 (Interpreted frame)
 - oracle.toplink.essentials.internal.identitymaps.CacheKey.acquire() @bci=5, line=117 (Interpreted frame)
 - oracle.toplink.essentials.internal.identitymaps.FullIdentityMap.remove(oracle.toplink.essentials.internal.identitymaps.CacheKey) @bci=5, line=199 (Interpreted frame)
 - oracle.toplink.essentials.internal.identitymaps.HardCacheWeakIdentityMap.remove(oracle.toplink.essentials.internal.identitymaps.CacheKey) @bci=40, line=117 (Interpreted frame)
 - oracle.toplink.essentials.internal.helper.WriteLockManager.releaseAllAcquiredLocks(oracle.toplink.essentials.internal.sessions.MergeManager) @bci=53, line=399 (Interpreted frame)
 - oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.afterTransaction(boolean, boolean) @bci=66, line=1835 (Interpreted frame)
 - oracle.toplink.essentials.transaction.AbstractSynchronizationListener.afterCompletion(java.lang.Object) @bci=51, line=170 (Interpreted frame)
 - oracle.toplink.essentials.transaction.JTASynchronizationListener.afterCompletion(int) @bci=9, line=102 (Interpreted frame)
[Message sent by forum member 'sankara' (sankara)]

http://forums.java.net/jive/thread.jspa?messageID=246487