PQ57357: ALLOW USING NOT SHARED HFS IN A SYSPLEX WITH ONE SYSTEM

 A fix may be available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
During installation of IVP's, naming registration fails trying
to createHome for the WebSphereSampleEARFile home with
java.lang.NoClassDefFoundError for class
IVPVerificationException.  In the output for BBOASR2S, the
classloader search looked for two different path names.  One is
/web/WebSphere390/... and the other with system name
appand to it /SYSTEM/web/WebSphere390/... The reason for
/SYSTEM/ in front of /web/WebSphere390/... is that it is not
shared hfs.  The problem occurred because some classloading is
Management is using the value of the CBCONFIG environment
variable to determine the path for installed applications.
If there is only one system on the sysplex with WebSphere
configured, non-shared hfs should be allowed  to be used during
the customization steps.
Local fix
Change the CBCONFIG environment variable to append the system
specific identifier to the mount point
(i.e. /SYSTEM/web/WebSphere390...)

NOTE: You have to manually edit the current.env file of the
J2EE Application server to make the change to the CBCONFIG
variable.  The CBCONFIG variable cannot be changed via the
SM/EUI, when you try you get the following error messages:
BBON0478E Change for 'plexnam' failed. See message log for
          details.
BBON1093E Environment variable CBCONFIG must not be changed for
          sysplex 'sysplexname'.
Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 V4.0.1 for z/OS and OS/390.                  *
****************************************************************
* PROBLEM DESCRIPTION: After the installation of the           *
*                      PolicyIVP application on a J2EE server  *
*                      that is part of a single-system sysplex *
*                      with an HFS that is not shared, server  *
*                      startup fails with a message of:        *
*                      "BBOU0652E NAMING REGISTRATION FAILED". *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Customer has installed WebSphere using a HFS, that is not
shared, in a sysplex comprised of a single system.  The
customer's CBCONFIG environment variable has a value of
"/web/WebSphere390/CB390", and the customer has created a
symbolic link on the HFS so that the "/web" entry in the
root of the file system points to "$SYSNAME/web".  Since the
customer's HFS is not shared, the "$SYSNAME" variable resolves
to a value of "/SYSTEM".

The customer then installs the PolicyIVP sample application on
a J2EE server named BBOASR2.  After activating the conversation,
the customer attempts to start server BBOASR2.  Server startup
fails with the following message: "BBOU0652E NAMING REGISTRATION
FAILED FOR SERVER BBOASR2".

Examination of the server logs for BBOASR2S indicates that the
naming registration failure is caused by a
java.lang.NoClassDefFoundError exception being thrown for the
class com.ibm.ws390.samples.ivp.ejb.PolicySessionHome by the
com.ibm.ws390.rmi.corba.ORBEJSBridge.createHome method.  This
exception occurs because the WAS/390 classloader code uses
a canonical (i.e., resolved) path to locate classes, while the
System Management code handling the naming registration
(implemented in BeanMetaDataMgrImpl.java) uses the absolute path
defined in the CBCONFIG environment variable.  In the customer's
case, the classloader would search for the PolicyIVP classes
using a path of "/SYSTEM/web/WebSphere390", but System Managemen
had registered these under an unresolved absolute path of
"/web/WebSphere390".  This causes the NoClassDefFoundError
exception.
Problem conclusion
The code in BeanMetaDataMgrImpl.java that handles naming
registration of J2EE application modules was originally using
the value of the CBCONFIG environment variable to create
classloader entries for the module classes.  This code was
modified to create a java.io.File object using the path obtained
from CBCONFIG, and then the getCanonicalPath() method is called
on the File object to produce a canonical version of the path
for naming registration.  Since the classloader uses the same
process to locate classes, the NoClassDefFoundError no longer
happens and naming registration succeeds.

APAR PQ57357 is associated with SERVICE LEVEL W401026 of
WebSphere Application Server V4.0.1 for z/OS and OS/390.
Temporary fix Comments
APAR information
APAR number PQ57357
Reported component name WASKBASE
Reported component ID 5655A9801
Reported release 401
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-01-31
Closed date 2002-03-01
Last modified date 2002-04-29

APAR is sysrouted FROM one or more of the following:

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

Modules/Macros
BBOUBINF BBOZ0812        

Fix information
Fixed component name WASKBASE
Fixed component ID 5655A9801

Applicable component levels
R401 PSY UQ63622    UP02/03/12 P F203

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ57357
IBM Group: Software Group
Modified date: Apr 29, 2002