PQ65485: UNBIND FAILS IN ROLLED BACK TRANSACTION.

 Fixes are available

PQ65485, 4.0.3, 4.0.4: TRANSACTION_ROLLEDBACK due to JNDI call
4.0.5: WebSphere Application Server Version 4.0 Fix Pack 5 (Version 4.0.5)



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 information
APAR number PQ65485
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-08-21
Closed date 2002-09-30
Last modified date 2002-09-30

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:
PQ61350

Modules/Macros
NAMING          

SRLS

Fix information
Fixed component name WEBSPHERE AE NT
Fixed component ID 5630A2201

Applicable component levels
R400 PSY    UP


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