Fix (APAR): PK36471 Status: Fix Release: 6.0.2.17 Operating System: AIX,HP-UX,Linux,Linux pSeries,Linux Red Hat - pSeries,Linux zSeries,Solaris,Windows Supersedes Fixes: CMVC Defect: PK36471 Byte size of APAR: 42360 Date: 2007-01-10 Abstract: DataSource created by WPS extension code at the cluster scope during cluster member creation does not exist after the command is completed. Description/symptom of problem: PK36471 resolves the following problem: ERROR DESCRIPTION: Application WPSMGR failed to start on ND cluster. LOCAL FIX: PROBLEM SUMMARY USERS AFFECTED: WebSphere Application Server version 6.0.2 users who have applications installed on a cluster. PROBLEM DESCRIPTION: DataSource created by WPS extension code at the cluster scope during cluster member creation does not exist after the command is completed. RECOMMENDATION: None Application fails to start on a Network Deployment cluster. The application works correctly on a single server and standalone server. You would see an exception in the dmgr trace. Expected result: wpsFEMgr should be started correctly. Actual result: wpsFEMgr can not be started correctly. You will see the following message in SystemOut.log [12/6/06 14:55:07:766 CST] 0000002b RALifeCycleMa E J2CA0052E: The lookup of the ActivationSpec with JNDI Name manual recovery failed due to exception javax.naming. NameNotFoundException: Context: idler1Cell01/clusters/clustera, name: manualrecovery: First component in name manualrecovery not found. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0 at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.do_resolve _complete_info(WsnOptimizedNamingImpl.java:543) at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.reso lve_complete_info(WsnOptimizedNamingImplBase.java:2213) at com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_com plete_info(Unknown Source) at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNCont extImpl.java:4043) at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContex tImpl.java:1746) at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContex tImpl.java:1707) at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNConte xtImpl.java:1412) at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextI mpl.java:1290) at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java: 145) at javax.naming.InitialContext.lookup(InitialContext.java:36 1) at com.ibm.ejs.j2c.RALifeCycleManagerImpl.activateEndpoint(R ALifeCycleManagerImpl.java:1345) at com.ibm.ejs.container.MessageEndpointFactoryImpl.activate Endpoint(MessageEndpointFactoryImpl.java:256) at com.ibm.ws.runtime.component.EJBContainerImpl.install(EJB ContainerImpl.java:2886) at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBCo ntainerImpl.java:3548) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(App licationMgrImpl.java:1245) at com.ibm.ws.runtime.component.DeployedApplicationImpl.fire DeployedObjectStart(DeployedApplicationImpl.java:1067) at com.ibm.ws.runtime.component.DeployedModuleImpl.start(Dep loyedModuleImpl.java:547) at com.ibm.ws.runtime.component.DeployedApplicationImpl.star t(DeployedApplicationImpl.java:751) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startAppl ication(ApplicationMgrImpl.java:909) at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitia lizer.run(ApplicationMgrImpl.java:2020) at com.ibm.ws.runtime.component.ComponentImpl$_AsynchInitial izer.run(ComponentImpl.java:304) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:147 1) WPS code extends createApplicationServer command to insert cluster scope resources when a cluster member is created. When a cluster member is created using createClusterMember command, the createApplicationServer command is called first. At this time the WPS extension code adds a cluster scope resource. Later, when the createApplicationServer command completes, the createClusterMember command copies a different set of resources and overwrites what was added by WPS code. This is the sequence of flow: createClusterMember ( member1) 1. beforeStepsExecuted() of createClusterMember command calls createApplicationServer command to create the member first 2. createApplicationServer ( member1) is called. 3. beforeStepsExecuted() method of createApplicationServer creates the member and then all the extended steps are called. 4. Extension steps is creating resource under cluster scope 5. beforeStepsExecuted() method of createClusterMember(member1) calls promoteServerResources() to cluster scope. This copies the server side resources to cluster scope. This does not contain the new resources created by WPS. This overwrites what was created in step 4. PROBLEM CONCLUSION: The solution to this problem is: Do not promote the server scope resources to cluster scope when a cluster member is created. Step 5. above is removed from the code. The fix for this APAR is currently targeted for inclusion in fixpack 6.0.2.19. Please refer to the recommended updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: NOTE: Choose the: 1) Release the fix applies to 2) The Editions that apply 3) Delete the Editions & Methods that do not apply and this Note Fix applies to Editions: Release 6.0 __ Application Server (Express or BASE) __ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes __ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.0.2.2 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy PKxxxxx.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (PKxxxxx.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (PKxxxxx.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: