Add a retryCount variable to work around intermittent failures.
---------------------------------------------------------------

                 Key: MWAS-43
                 URL: http://jira.codehaus.org/browse/MWAS-43
             Project: Maven 2.x WebSphere 6 Plugin
          Issue Type: New Feature
         Environment: N/A
            Reporter: Chris Graham
            Assignee: David J. M. Karlsen
         Attachments: MWAS-43.patch

Maven builds will be failed, sometimes unnecessarily either due to connection 
issues to the DMgr process (which effects the WsAdminMojo) and quite often due 
to bugs in the underlying implementation of ServiceDeploy (which effects the 
ServiceDeployMojo).

Should these failures occur when performing a release, it is a nightmare to 
clean up.

A typical failure of ServiceDeploy looks like this:

>From the Hudson/Maven log:

[INFO] servicedeploy:
[INFO] [servicedeploy] Starting workbench in /tmp/sd/12070a80e15
[INFO] [servicedeploy] Initializing workspace
[INFO] [servicedeploy] Building project IL802_PurchaseOrderConfirmation_WPS
[INFO] [servicedeploy] Rebuilding project IL802_PurchaseOrderConfirmation_WPS
[INFO] [servicedeploy] Rebuilding project IL802_PurchaseOrderConfirmation_WPS
[INFO] [servicedeploy] Building project IL802_PurchaseOrderConfirmation_WPSEJB
[INFO] [servicedeploy] Building project IL802_PurchaseOrderConfirmation_WPSApp
[INFO] [servicedeploy] Building project SharedArtifacts
[INFO] [servicedeploy] Building project IL802_PurchaseOrderConfirmation_WPS
[INFO] [servicedeploy] Rebuilding project IL802_PurchaseOrderConfirmation_WPS
[INFO] [servicedeploy] Deploying IL802_PurchaseOrderConfirmation_WPSApp
[INFO] [servicedeploy] There was an unexpected exception in the deployment 
framework. No ear file will be generated. Run serviceDeploy with the -keep 
option and inspect the workspace log for details.
[INFO] 
[INFO] [servicedeploy] 12 warning messages were reported during deployment:
[INFO] 

from: sctappd03:/tmp/sd/12070a80e15/.metadata/.log (still there - I've not 
wiped it yet):

!ENTRY com.ibm.ws.sca.rapiddeploy.headless 1 0 Apr 04, 2009 21:28:07.755
!MESSAGE   Deploying selected modules

!ENTRY com.ibm.ws.sca.rapiddeploy.headless 4 0 Apr 04, 2009 21:28:07.759
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
        at 
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java(Compiled
 Code))
        at 
com.ibm.wtp.internal.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:229)
        at 
com.ibm.wtp.emf.workbench.WorkbenchResourceHelper.getOrCreateResource(WorkbenchResourceHelper.java:373)
        at 
com.ibm.wtp.emf.workbench.edit.EditModel.getResource(EditModel.java:638)
        at 
com.ibm.wtp.emf.workbench.edit.EditModel.getOrCreateResource(EditModel.java:1311)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getEARProjectMap(EAREditModel.java:246)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getModuleMappings(EAREditModel.java:421)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getModuleMapping(EAREditModel.java:269)
        at 
com.ibm.etools.ear.earproject.EARNatureRuntime.primGetModuleProject(EARNatureRuntime.java:379)
        at 
com.ibm.etools.ear.earproject.EARNatureRuntime.getModuleProject(EARNatureRuntime.java:235)
        at com.ibm.etools.ejbdeploy.EJBDeployer.visit(EJBDeployer.java:180)
        at com.ibm.etools.ejbdeploy.EJBDeployer.doExecute(EJBDeployer.java:257)
        at com.ibm.etools.ejbdeploy.EJBDeployer.execute(EJBDeployer.java:240)
        at 
com.ibm.wtp.j2ee.deploy.J2EEDeployOperation.deploy(J2EEDeployOperation.java:90)
        at 
com.ibm.wtp.j2ee.deploy.J2EEDeployOperation.execute(J2EEDeployOperation.java:67)
        at 
com.ibm.wtp.common.operation.WTPOperation.doRun(WTPOperation.java:267)
        at 
com.ibm.ws.sca.rapiddeploy.headless.applications.ServiceDeployApplication.deploy(ServiceDeployApplication.java:1324)
        at 
com.ibm.ws.sca.rapiddeploy.headless.applications.ServiceDeployApplication.run(ServiceDeployApplication.java:434)
        at 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
        at java.lang.reflect.Method.invoke(Method.java:391)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:704)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
        at java.lang.reflect.Method.invoke(Method.java:391)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployLauncher.startup(ServiceDeployLauncher.java:142)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.startup(ServiceDeployMain.java:73)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.execute(ServiceDeployMain.java:47)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.main(ServiceDeployMain.java:121)

!ENTRY com.ibm.ws.sca.rapiddeploy.headless 4 0 Apr 04, 2009 21:28:07.804
!MESSAGE An unexpected exception occurred while executing the j2ee deployers.
!STACK 0
java.lang.NullPointerException
        at 
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java(Compiled
 Code))
        at 
com.ibm.wtp.internal.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:229)
        at 
com.ibm.wtp.emf.workbench.WorkbenchResourceHelper.getOrCreateResource(WorkbenchResourceHelper.java:373)
        at 
com.ibm.wtp.emf.workbench.edit.EditModel.getResource(EditModel.java:638)
        at 
com.ibm.wtp.emf.workbench.edit.EditModel.getOrCreateResource(EditModel.java:1311)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getEARProjectMap(EAREditModel.java:246)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getModuleMappings(EAREditModel.java:421)
        at 
com.ibm.etools.ear.earproject.EAREditModel.getModuleMapping(EAREditModel.java:269)
        at 
com.ibm.etools.ear.earproject.EARNatureRuntime.primGetModuleProject(EARNatureRuntime.java:379)
        at 
com.ibm.etools.ear.earproject.EARNatureRuntime.getModuleProject(EARNatureRuntime.java:235)
        at com.ibm.etools.ejbdeploy.EJBDeployer.visit(EJBDeployer.java:180)
        at com.ibm.etools.ejbdeploy.EJBDeployer.doExecute(EJBDeployer.java:257)
        at com.ibm.etools.ejbdeploy.EJBDeployer.execute(EJBDeployer.java:240)
        at 
com.ibm.wtp.j2ee.deploy.J2EEDeployOperation.deploy(J2EEDeployOperation.java:90)
        at 
com.ibm.wtp.j2ee.deploy.J2EEDeployOperation.execute(J2EEDeployOperation.java:67)
        at 
com.ibm.wtp.common.operation.WTPOperation.doRun(WTPOperation.java:267)
        at 
com.ibm.ws.sca.rapiddeploy.headless.applications.ServiceDeployApplication.deploy(ServiceDeployApplication.java:1324)
        at 
com.ibm.ws.sca.rapiddeploy.headless.applications.ServiceDeployApplication.run(ServiceDeployApplication.java:434)
        at 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
        at java.lang.reflect.Method.invoke(Method.java:391)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:704)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
        at java.lang.reflect.Method.invoke(Method.java:391)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployLauncher.startup(ServiceDeployLauncher.java:142)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.startup(ServiceDeployMain.java:73)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.execute(ServiceDeployMain.java:47)
        at 
com.ibm.ws.sca.rapiddeploy.headless.main.ServiceDeployMain.main(ServiceDeployMain.java:121)

This is an intermittent error, as if you rerun it again, the error is not 
likely to occur.

Note, this is different from a real build failure, which will always fail.

We have 34 (currently, soon to be over 50, and ultimately around 120) EARs all 
generated by ServiceDeploy that all need to be built and released together. We 
are guaranteed to receive one of these failures when building 34 ears, much 
less 120.

So, this patch, generated against the 1.1 branch, introduces the retryCount 
variable to allow us to retry a few times to work around failures such as 
these. Projects with true failures, will still fail, the only impact is time. 
The default is a retryCount of zero, allowing the default behaviour to be 
preserved.




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to