APAR status
Closed as program error.
Error description
Every WebSphere server has a name server running in its process.
When an application gets a default initial JNDI context, it
comes from the name server running in its process. Therefore,
the context is a local reference. If the initial context were
obtained from another server process, the context would be a
remote reference. The importance of this is that remote
references involve remote communication between ORBs, and this
can result in conditions that cannot occur on local calls.
These conditions can cause transactions to be rolled back.
.
Every WebSphere name server creates a "system name space"
structure, which essentially links all servers together. This
way, you can look up an object in another server by qualifying
the lookup name. In order to link to other servers, the name
space must contain context bindings that are remote references
to contexts in other servres. For example, a qualified lookup
name to another server server might be:
.
cell/clusters/otherCluster/ejb/someEBB.
.
In this case, the name is for an object in a remote cluster. The
binding "otherCluster" is really a context that resolves to any
member of that cluster. If this name is applied to the (local)
default initial context, the name "cell/clusters/otherCluster"
can be resolved locally because these are all bindings in the
local system name space. But, to resolve the rest of the name
"ejb/someEJB", the name server must invoke the context bound
under "otherCluster" (which, again, is a remote reference) with
the name "ejb/someEJB" to complete the name resolution. This
involves remote communication.
.
The APAR involves having the Naming JNDI code suspend and resume
transactions on name server calls. The JNDI code already did
this if the naming context to which the operation was being
applied was remote. It did not do this if the naming context was
local. However, this logic was a bit flawed, because the lookup
name might be a "qualified name" and cross a federated boundary
to another server so that the lookup was remote after all.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: Any WebSphere Applicaton Server v5 *
* application affected by PQ65485 which *
* uses qualified names that resolve to a *
* server other than that which the *
* application is running on. *
****************************************************************
* PROBLEM DESCRIPTION: The fix for PQ65485 only suspsends and *
* resumes tranactions if the naming *
* context being used is remote. This *
* APAR fixes suspends and resumes for *
* transactions where the naming context *
* is local (resides on the same server as *
* the application). This fix is needed *
* because the lookup name may be include *
* in a federated context such that the *
* resolved object resides in the remote *
* server's name space. (Naming operations *
* which are completely local don't create *
* this problem, but just because the *
* initial context is local doesn't mean *
* that the name may not be resolve to a *
* remote name space.) *
****************************************************************
* RECOMMENDATION: *
****************************************************************
The fix for PQ65485 only suspsends and
resumes tranactions if the naming
context being used is remote. This
APAR fixes suspends and resumes for
transactions where the naming context
is local (resides on the same server as
the application). This fix is needed
because the lookup name may be include
in a federated context such that the
resolved object resides in the remote
server's name space. (Naming operations
which are completely local don't create
this problem, but just because the
initial context is local doesn't mean
that the name may not be resolve to a
remote name space.)
Problem conclusion
Always suspend and resume transactions on JNDI operations,
even if the naming context is local to the application's
server. Formerly, transactions were only suspended and
resumed if the naming context was from a remote server.
Temporary fix Comments
APAR information |
APAR number |
PQ91261 |
Reported component name |
WAS ENTERPRISE |
Reported component ID |
5630A3700 |
Reported release |
00I |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2004-07-12 |
Closed date |
2004-08-02 |
Last modified date |
2004-09-08 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
|