PQ65485: UNBIND FAILS IN ROLLED BACK TRANSACTION. | |||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description The test bean calls a method on another bean to force a system exception (NullPointerException). As part of its clean up, the application attempts an unbind on an object. From the stack trace, we see that WsnOptimizedNaming._NamingContextStub.unbind is called, which leads to a request through the ClientDelegate. Once we get into the jts code to make the request, it is determined that there is no data associated with the transaction due to the prior rollback. A new TRANSACTION_ROLLEDBACK exception is thrown, and the unbind call fails.Local fix Problem summary **************************************************************** * USERS AFFECTED: This is a problem with the WebSphere * * Application Server Release 3.5 and 4.0, * * which is fixed in WebSphere Application * * Server Release 3.5.7 and Release 4.0.5. * * * * The following users of the WebSphere * * Application Server Release 3.5 and 4.0 * * may be affected by this problem: * * * * 1> Users who use the WebSphere Application * * Server Release 3.5.6 or any release that * * is prior to 3.5.6. * * * * 2> Users who use the WebSphere Application * * Server Release 4.0.4 or any release that is * * prior to 4.0.4. * **************************************************************** * PROBLEM DESCRIPTION: The naming remote naming server calls * * was forced to be part of the user * * transaction with the current naming * * implementation, which could result in * * the following failure scenarios: * * * * 1> A user defines a 1PC resource. * * After the transaction begins, he/she * * may get the following warning message * * on the console: "warning: Illegal use * * of 1 phase resource in transaction, * * 2 phase commit was attempted with * * 1 phase resource" if a JNDI call to * * Admin Server is made within the * * current transaction. * * * * 2> After a TRANSACTION_ROLLEDBACK * * exception was thrown, a JNDI call to * * AdminServererver will cause another * * TRANSACTION_ROLLEDBACK exception * * since the JNDI call was * * unintentionally performed in a * * rolled back transaction. * **************************************************************** * RECOMMENDATION: * **************************************************************** With the current naming implementation, a JNDI call to AdminServer is done within the context of a current transaction unintentionally. This could cause problem in some situation, for examples: 1> 1> A user defines a 1PC resource. After the transaction begins, he/she may get the following warning message on the console: "warning: Illegal use of 1 phase resource in transaction, 2 phase commit was attempted with 1 phase resource" if a JNDI call to Admin Server was made within the current transaction. The reason for this is: the involvement of AdminServer, which is treated as the second server, is forced the current transaction to be 2 phase commit transaction. 2> After a TRANSACTION_ROLLEDBACK exception was thrown, a JNDI call to AdminServererver will cause another TRANSACTION_ROLLEDBACK exception since the JNDI call was unintentionally performed in a rolled back transaction.Problem conclusion The fix for this problem is to suspend the current transaction before a JNDI call to adminServer and resume the transaction after the call is made.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: PQ61350 Modules/Macros
SRLS
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ65485
IBM Group: Software Group
Modified date: Sep 30, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.